作为一名菜鸟,今天学习了python内置函数(Built-in Functions),了解到了python的短小精悍,从内心感觉到了什么叫浓缩就是精华。下面就和大家一起来学习一下经常会用到的一些python内置函数。
1、dir() 返回指定对象或模块obj的成员列表,如果不带参数则返回到当前作用域内所有标识符
import keyword
print( dir() )
print( dir(keyword) )
help( keyword ) # 相当于Java api
3、 数字转换 bin(), oct() ,hex(), 将整数分别转换为二进制,八进制,十六进制串
print( bin(5) )
print( oct(5) )
print( hex(5) )
这里的运行结果就是5的二进制,八进制,十六进制串,即:
4、 ord(char) 返回一个字符x的unicode编码
chr(unicode) 返回Unicode编码为x的字符
str(x) 将任意类型的x转为字符串
print( ord('a') )
print( chr( ord('a')+1 ) )
print( str((1,2,4)) )
print( type( str( (1,2,4) ) ) )
5、max(x) min(x) 返回可迭代对象的最大值,最小值,要求x中所有的元素可以比较大小允许指定排序规则和x为空时返回默认值
import random #随机数生成器
print( random.randint(1,100) )
#需求:随机生成10数,存在列表中,取最大数,最小值,求和
arr1=[] for i in range(1,10):
arr1.append(random.randint(1,100)) print( arr1 ) print( max(arr1),min(arr1),sum(arr1) )
方案二:python精神
#列表推导生成式 arr2=[ random.randint(1,100) for i in range(10)] print( arr2 ) print( max(arr2), min(arr2),sum(arr2))
#求平均值 print( sum(arr2)/len(arr2) )
除此之外,max(),min()函数中的key参数可以用来指定比较规则;例如:
x=['21','1234','9','99']
print( max(x) )
print( max(x,key=len) ) #key是一个函数 function len()
print( max(x,key=int) )
此处代码可以用以下代码解释:
‘’’
def max( l,key=None ):
mamxobj=l[0] #假设最大数为第一个
for i in l:
if key!=None: #假设key不为空,说明不用max()默认函数
if key(i)>key(maxobj):
maxobj=i
else:
if i>maxobj:
maxobj=i
return maxobj
‘’’
此处的输出结果为:
99
1234
1234
sum(x,start=0) 返回序列中所有元素的和,即返回start+sum(x)
print( sum( [1,2,3,4] ) )
print( sum( [1,2,3,4], 20 ) ) #20+10
arr2=[[1,2,3],[2,3,4]]
print( sum(arr2, []) ) #将arr2()里的两个元组相加,存到一个新的元组之中
'''
def sum( l,start=0 ):
result=0
for i in l:
result+=sum(i) -> sum([1,2,3,4]) + 0
return start+result
'''
结果为:
10
30
[1, 2, 3, 2, 3, 4]
当然以上给出的只是冰山一角,要想学习到更多知识,还得靠自己不断学习;在学习python内置函数过程中,学会查看python官网也是一种很好的方法:
Built-in Functions
如有不足,欢迎指教。