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

下面就一一介绍一下内置函数的用法:
返回一个数值的绝对值,可以是整数或浮点数等。
| 1 2 3 4 5 6 | print(abs(-18))         print(abs(0.15))result:180.15 | 
如果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,返回TrueTrueprint(all([‘a‘,‘b‘,‘‘,‘d‘]))       #如果存在一个为空的元素,返回FalseFalseprint(all([0,1,2,3]))              #如果存在为0的元素,同样返回FalseFalseprint(all([]))                     #空元组和空列表返回值为TrueTrueprint(all(()))True | 
如果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,元素都不为空或0Trueprint(any([‘a‘,‘b‘,‘‘,‘d‘]))       #列表list,存在一个为空的元素,返回TrueTrueprint(any([0,False]))              #如果元素全部是0,Fasle,返回FasleFalseprint(any([]))                     #any函数中空列表和空元组返回FasleFalseprint(any(()))False | 
将一个整数转换成一个二进制字符串,结果以‘0b‘为前缀。
| 1 2 3 4 5 6 7 8 | print(bin(32))                     #将十进制转换成二进制print(bin(64))print(bin(128))result:0b1000000b10000000b10000000 | 
        将一个整数转换成一个小写的十六进制字符串,结果以‘0x‘为前缀。
| 1 2 3 4 5 6 | print(hex(255))                    #将整数转换成十六进制print(hex(192))result:0xff0xc0 | 
将一个整数转换成八进制的字符串,结果以‘0o‘为前缀。
| 1 2 3 4 5 6 | print(oct(255))                    #将整数转换成八进制print(oct(192))result:0o3770o300 | 
返回一个布尔值,True或False。
| 1 2 3 4 5 6 7 8 | print(bool())                     #bool值缺省为FalseFalseprint(bool(0))Falseprint(bool(‘jack‘))Trueprint(bool(""))False | 
将一个字符串转换成你想要的编码格式的字节。
| 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‘ | 
介绍chr()函数之前先看一下ASCII码对照表:

chr()函数就是返回整数对应的ASCII码对照表里的字符,取值范围[0~255]之间的正数。
ord()函数作用正好和chr()函数相反,不再介绍,请看下面例子:
| 1 2 3 4 5 6 7 8 9 | n =chr(65)           #根据十进制找到在ascii码里对应的字符print(n)result:Aa=ord("a")           #根据字符找到在ascii码里对应的十进制print(a)result:97 | 
         将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> | 
exec语句用来执行储存在字符串或文件中的Python语句。
| 1 2 3 4 | exec("print(‘hello,world‘)")                #执行exec()里的python语句result:hello,world | 
eval()函数将字符串str当成有效的表达式来求值并返回计算结果。
| 1 2 3 4 5 6 7 8 9 | ret =eval("8*8")                         #执行表达式并返回结果print(ret)#result:64t =exec("8*8")                           #执行python代码,可以接收或字符串,没有返回值print(t)#result:None | 
divmod(a,b)方法是计算a,b的商和余数,即:a//b 余几,返回结果为元组。以后做网页翻页的时候会。
| 1 2 3 4 5 | num =divmod(9,2)                         #9//2print(num)#result:(4,1)                                     #结果为商4余1 | 
返回一个枚举对象。iterable必须是序列,迭代器,或者其他支持迭代的对象。
| 1 2 3 4 5 6 7 8 9 10 | dic ={‘name‘:‘jack‘,       ‘age‘:18,       ‘sex‘:‘boy‘,}fori inenumerate(dic.keys(),start=0):    print(i)#result:(0, ‘name‘)(1, ‘sex‘)(2, ‘age‘) | 
对于序列中的元素进行筛选,最终获取符合条件的序列。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | filter()              #循环第二个参数,让每个循环元素执行函数,如果函数返回值为True,表示元素合法filter内部实现方法:foritem in第二个参数:   r =第一个参数(item)   ifr:      result(item)returnresult#例:deff1(args):    ifargs>22:        returnTrueli=[11,22,33,44]ret =filter(f1,li)    print(list(ret))              #返回值为一个迭代器,所以使用list()函数来返回 | 
像上面这种简单的函数可以使用lambda函数来执行:
| 1 2 3 | li =[11,22,33,44]ret =filter(lambdaa:a>22,li)      #通过lambda函数处理,lambda是有返回值的,条件成立返回Trueprint(list(ret))                     | 
遍历序列,对序列中每个元素进行操作,最终获取新的列表。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | li =[11,22,33,44]new_list =map(lambdaa:a+100,li)print(new_list)#result:[110,122,133,144]li =[11, 22, 33]sl =[1, 2, 3]new_list =map(lambdaa, b: a +b, li, sl)print(list(new_list))#result:[12, 24, 36] | 
对于序列内所有元素进行累计操作:
| 1 2 3 4 5 6 | li =[11,22,33]result =reduce(lambdaarg1,arg2:arg1 +arg2,li)printresult#result:                         #注意在Python3中已经没有了reduce函数66 | 
判断对象是不是类的实例。
| 1 2 3 4 5 6 | li =[11,22,33]n =isinstance(li,list)          #判断li是不是list类的实例print(n)                 #result:True#返回True/False | 
判断字符串长度。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | s ="你好"print(len(s))                    #在python3中len函数既可以取的字符的长度,也可以取字节的长度                                 #python2.*中len函数只可以取字节的长度#result:2s ="你好"b =bytes(s,encoding=‘utf-8‘)print(len(b))#result:6分别使用2.*和3.*循环“你好”,查看结果:2.7for循环“你好”                        #输出6个空字符3.5for循环“你好”查看结果                 #输出"字符串结果" | 
max():取最大值; min():取最小值; sum():取总的值
| 1 2 3 4 5 6 7 | li=[11,22,33]print(max(li))                      #最大值33print(min(li))                      #最小值11print(sum(li))                      #总和66 | 
pow()返回x的y次方的值。
| 1 2 3 4 | print(pow(2,3))                     #计算2的3次方8print(pow(2,4))                     #计算2的4次方16 | 
round() 方法返回浮点数x的四舍五入值。
| 1 2 3 4 | print(round(2.3))                   #四舍五入2print(round(2.8))3 | 
random方法返回随机生成的一个实数,它在[0,1]范围内。
| 1 2 3 4 | importrandomprint(‘random:‘,random.random())#result: random: 0.7037348886029884 | 
choice()方法返回一个列表,元组或字符串的随机项。
| 1 2 3 4 5 6 7 8 9 | importrandom#取列表或元组的随机值print("choice([1, 2, 3, 5, 9]) : ", random.choice([1, 2, 3, 5, 9]))print("choice(‘A String‘) : ", random.choice(‘A String‘))#result:choice([1, 2, 3, 5, 9]) :  9#执行一次值会变一次choice(‘A String‘) :  i | 
返回指定递增基数集合中的一个随机数,基数缺省值为1,听这个意思不是太好理解,下面举例说明:
| 1 2 3 4 5 6 7 8 9 10 | importrandom#随机输出100到1000间的偶数print("rangrange(100,1000,2):",random.randrange(100,1000,2))#随机输出100到1000间的其他数print("rangrange(100,1000,2):",random.randrange(100,1000,3))#result:rangrange(100,1000,2): 260rangrange(100,1000,2): 511 | 
下面将上面三个函数放在一起,来做一道题,生成6位的随机数,其中包括大写字母,数字?
| 1 2 3 4 5 6 7 8 9 | importrandomli=[]fori inrange(6):                     #循环6次    temp =random.randrange(65,91)     #random随机数从ascii码里取65到91    c =chr(temp)                      #将随机数找到ascii码表里找到具体字符    li.append(c)                       #追加到空列表里result ="".join(li)                   #再用join的方式将列表转换成字符串print(result)                          #结果全是大写字母 | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | li =[]                                       #定义空列表fori inrange(6):                            #循环6次    r=random.randrange(0,5)                  #生成一个0-4的随机值,然后根据r的值判断数字出现的位置    ifr ==2orr==4:                         #如果第一次循环r==2或者4的时候,条件满足,在列表里随机添加一个数字        num =random.randrange(0,10)          #生成一个0-9的随机数        li.append(str(num))    else:        temp =random.randrange(65,91)        #如果上面条件不成立,添加字符串        c =chr(temp)        li.append(c)result ="".join(li)print(result) | 
利用每个可迭代元素,制作一个迭代器来聚合元素。
| 1 2 3 4 5 6 7 8 9 | l1 =[‘北京‘,11,22,33]l2 =[‘欢迎‘,11,22,33]l3 =[‘你‘,11,22,33]r=zip(l1,l2,l3)#print(list(r))   # [(‘北京‘, ‘欢迎‘, ‘你‘), (11, 11, 11), (22, 22, 22), (33, 33, 33)]temp =list(r)[0]ret ="".join(temp)print(ret) | 
今天的内置函数就介绍到这,由于还没有学习面向对象编程,一些内置函数会在学完面向对象编程以后,在更新。
标签:
原文地址:http://www.cnblogs.com/phennry/p/5544509.html