Python基础内置函数

Posted 摘星者的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础内置函数相关的知识,希望对你有一定的参考价值。

    

    今天来介绍一下Python解释器包含的一系列的内置函数,下面表格按字母顺序列出了内置函数:

下面就一一介绍一下内置函数的用法:

    1、abs() 

        返回一个数值的绝对值,可以是整数或浮点数等。

1
2
3
4
5
6
print(abs(-18))         
print(abs(0.15))
 
result:
18
0.15

   2、all(iterable)

       如果iterable的所有元素不为0、\'\'、False或者iterable为空,all(iterable)返回True,否则返回False。

 

1
2
3
4
5
6
7
8
9
10
11
print(all([\'a\',\'b\',\'c\',\'d\']))      #列表list,元素都不为空或0,返回True
True
print(all([\'a\',\'b\',\'\',\'d\']))       #如果存在一个为空的元素,返回False
False
print(all([0,1,2,3]))              #如果存在为0的元素,同样返回False
False
 
print(all([]))                     #空元组和空列表返回值为True
True
print(all(()))
True

    3、any(iterable)

   如果iterable的任何元素不为0、\'\'、False,all(iterable)返回True,如果iterable为空,返回Fasle。

 注意:此函数与all()函数的在于,any()函数中有任意一个元素为0、\'\'、False不影响整体,会返回True,而all()函数中必须是全部不包含特殊元素才会返回True,只要有一个特殊元素,会直接返回False.

1
2
3
4
5
6
7
8
9
10
print(any([\'a\',\'b\',\'c\',\'d\']))      #列表list,元素都不为空或0
True
print(any([\'a\',\'b\',\'\',\'d\']))       #列表list,存在一个为空的元素,返回True
True
print(any([0,False]))              #如果元素全部是0,Fasle,返回Fasle
False
print(any([]))                     #any函数中空列表和空元组返回Fasle
False
print(any(()))
False

    4、bin()

        将一个整数转换成一个二进制字符串,结果以\'0b\'为前缀。

 

1
2
3
4
5
6
7
8
print(bin(32))                     #将十进制转换成二进制
print(bin(64))
print(bin(128))
 
result:
0b100000
0b1000000
0b10000000

    5、hex()

        将一个整数转换成一个小写的十六进制字符串,结果以\'0x\'为前缀。

1
2
3
4
5
6
print(hex(255))                    #将整数转换成十六进制
print(hex(192))
 
result:
0xff
0xc0

    6、oct()

        将一个整数转换成八进制的字符串,结果以\'0o\'为前缀。

 

1
2
3
4
5
6
print(oct(255))                    #将整数转换成八进制
print(oct(192))
 
result:
0o377
0o300

    7、bool()

        返回一个布尔值,True或False。

 

1
2
3
4
5
6
7
8
print(bool())                     #bool值缺省为False
False
print(bool(0))
False
print(bool(\'jack\'))
True
print(bool(""))
False

    8、bytes()

        将一个字符串转换成你想要的编码格式的字节。

 

1
2
3
4
5
print(bytes(\'你好\',encoding=\'utf-8\'))      #将字符串转换成utf-8编码格式的字节
b\'\\xe4\\xbd\\xa0\\xe5\\xa5\\xbd\'
  
print(bytes(\'你好\',encoding=\'gbk\'))        #将字符串转换gbk编码格式的字节
b\'\\xc4\\xe3\\xba\\xc3\'

    9、chr()

        介绍chr()函数之前先看一下ASCII码对照表:


chr()函数就是返回整数对应的ASCII码对照表里的字符,取值范围[0~255]之间的正数。

ord()函数作用正好和chr()函数相反,不再介绍,请看下面例子:

 

1
2
3
4
5
6
7
8
9
n = chr(65)           #根据十进制找到在ascii码里对应的字符
print(n)
 
result:A
 
a= ord("a")           #根据字符找到在ascii码里对应的十进制
print(a)
 
result:97

    10、compile(source,filename,mode)

        将source编译为,代码对象能够通过exec语句来执行或者eval()进行求值。

        source:字符串或者对象;

        filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值;

        model:编译代码的种类,可以指定为\'exec\',\'eval\',\'single\'。

 

1
2
3
4
5
6
code="for i in range(0,10):print(i)"   
cmpcode = compile(code,\'\',\'exec\')           #可以将字符串转换成python代码执行
print(cmpcode)
 
result:
<code object <module> at 0x000002A54E938ED0, file "", line 1>

    11、exec()

        exec语句用来执行储存在字符串或文件中的Python语句。

 

1
2
3
4
exec("print(\'hello,world\')")                #执行exec()里的python语句
 
result:
hello,world

    12、eval()

        eval()函数将字符串str当成有效的表达式来求值并返回计算结果

 

1
2
3
4
5
6
7
8
9
ret = eval("8*8")                         #执行表达式并返回结果
print(ret)
 
#result:64
 
t = exec("8*8")                           #执行python代码,可以接收或字符串,没有返回值
print(t)
 
#result:None

    13、divmod(a,b)

        divmod(a,b)方法是计算a,b的商和余数,即:a//b 余几,返回结果为元组。以后做网页翻页的时候会。

 

1
2
3
4
5
num = divmod(9,2)                         #9//2
print(num)
 
#result:
(4,1)                                     #结果为商4余1

    14、enumerate(iterable,start=0)

        返回一个枚举对象。iterable必须是序列,迭代器,或者其他支持迭代的对象。

 

1
2
3
4
5
6
7
8
9
10
dic = {\'name\':\'jack\',
       \'age\':18,
       \'sex\':\'boy\',}
for i in enumerate(dic.keys(),start=0):
    print(i)
 
#result:
(0, \'name\')
(1, \'sex\')
(2, \'age\')

    15、filter()

        对于序列中的元素进行筛选,最终获取符合条件的序列。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
filter()              #循环第二个参数,让每个循环元素执行函数,如果函数返回值为True,表示元素合法
filter内部实现方法:
for item in 第二个参数:
   r = 第一个参数(item)
   if r:
      result(item)
return result
 
#例:
def f1(args):
    if args>22:
        return True
li=[11,22,33,44]
ret = filter(f1,li)   
print(list(ret))              #返回值为一个迭代器,所以使用list()函数来返回

像上面这种简单的函数可以使用lambda函数来执行:

1
2
3
li = [11,22,33,44]
ret = filter(lambda a:a>22,li)      #通过lambda函数处理,lambda是有返回值的,条件成立返回True
print(list(ret))                      

    16、map(函数,可迭代的对象)

        遍历序列,对序列中每个元素进行操作,最终获取新的列表。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
li = [11,22,33,44]
new_list = map(lambda a:a+100,li)
print(new_list)
 
#result:
[110,122,133,144]
 
li = [11, 22, 33]
sl = [1, 2, 3]
new_list = map(lambda a, b: a + b, li, sl)
print(list(new_list))
 
#result:
[12, 24, 36]

    17、reduce()

        对于序列内所有元素进行累计操作:

 

1
2
3
4
5
6
li = [11,22,33]
result = reduce(lambda arg1,arg2:arg1 + arg2,li)
print result
 
#result:                         #注意在Python3中已经没有了reduce函数
66

    18、isinstance()

        判断对象是不是类的实例。

 

1
2
3
4
5
6
li = [11,22,33]
n = isinstance(li,list)          #判断li是不是list类的实例
print(n)                
 
#result:
True                             #返回True/False

    19、len()

         判断字符串长度。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
s = "你好"
print(len(s))                    #在python3中len函数既可以取的字符的长度,也可以取字节的长度
                                 #python2.*中len函数只可以取字节的长度
 
#result:2
 
s = "你好"
b = bytes(s,encoding=\'utf-8\')
print(len(b))
 
#result:6
 
分别使用2.*3.*循环“你好”,查看结果:
2.7 for 循环“你好”                        #输出6个空字符
3.5 for 循环“你好”查看结果                 #输出"字符串结果"

    20、max()、min()、sum()

        max():取最大值;  min():取最小值;  sum():取总的值

 

1
2
3
4
5
6
7
li=[11,22,33]
print(max(li))                      #最大值
33
print(min(li))                      #最小值
11
print(sum(li))                      #总和
66

    21、pow(x,y)

        pow()返回x的y次方的值。

 

1

(c)2006-2024 SYSTEM All Rights Reserved IT常识