内置函数:
abs() # 取绝对值
dict() # 把一个数据转成字典
min() # 取最小值
max() # 取最大值
bool() # 判断括号里面的是不是True。bool(0)和bool(False)是False,bool([ ]) #布尔一个空列表也是False。
all() # 判断括号里面的iterables所有元素的bool()是不是True(如果这个iterables里面含有0,那all(iterables)肯定是False)。如果这个iterables是空的,all(iterables)也返回True。
any() # 判断括号里面的iterables的元素中,只要有一个元素的bool()是True, any(iterables)就返回True
dir() # 打印程序里面所有的变量
slice(开始,结束,步长) #设置切片规则
divmod(x,y) # 返回一个元祖,元祖的形式是(x//y ,x%y)
id() # 判断内存地址
sorted(列表)= 列表.sort() # 另外,sorted()还可以自定义一些排序的规则。(视频中的示例看的不是很明白)
enumerate() #枚举
bin() # 转成2进制
eval() # 将字符串str当成有效的表达式来求值并返回计算结果(只能处理单行代码)。 可以参考链接: http://blog.csdn.net/SeeTheWorld518/article/details/47983511
exec() # 功能和eval()一样,他们的区别在: 1. exec()可以对多行代码有效;2. eval()有返回值,但exec()没有返回值。
如:
情况1: a = ‘1+2+3‘ res1 = eval(a) # eval()有返回值,前面可以把返回值赋给变量 print(‘res:‘,res1) print(a) # 输出结果: # res: 6 # 1+2+3 #字符串的引号已经没了 情况2: a = ‘1+2+3‘ res2 = exec(a) # 没有返回值, print(‘res:‘,res2) print(a) # 输出结果: # res: None # 由于exec()没有返回值,赋给了变量也只能输出None # 1+2+3
ord() # 返回在ASCII码中的位置 如:ord(‘a‘) 为97
chr() # 跟ord()正好相反 如: chr(97) 为‘a‘
int() # 把其他类型数据转换成整数
str() # 把其他类型数据转换成字符串
float() # 转换成浮点型
sum() #求和
bytearray( ) # 可以将字符串转换成字节数组(通过这种方式可以修改原字符串)。 其他用法用法可参考: https://www.cnblogs.com/sesshoumaru/p/5979159.html
如: (用处不多)
s = ‘中文‘ s1 = bytearray(s,‘utf-8‘) #转换字符串的时候必须指明encoding,函数将字符串使用str.encode方法转换成字节数组 print(s1) # 输出结果: # bytearray(b‘\xe4\xb8\xad\xe6\x96\x87‘)
map(function,iterables) # 将iterables中的每个元素进行前面的function
如:
print(list(map(lambda x:x*x, [1,2,3,4,5]))) # map完后要把它list一下,要不然打印的是map的内存地址 # 输出结果: # [1, 4, 9, 16, 25]
filter(function,iterables) # 从iterables中过滤出能使前面函数为True的值。
如:
print(list(filter(lambda x:x>3, [1,2,3,4,5]))) # filter完之后要list一下 # 输出结果: # [4, 5]
reduce() (2.7Python)
Python3中的reduce移到了functools里面, 用法: reduce(function, sequence, initial=None) # --> value,
python3官方解释: Apply a function of two arguments cumulatively to the items of a sequence,from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the itemsof the sequence in the calculation, and serves as a default when the sequence is empty.
如:
import functools print(functools.reduce(lambda x,y:x*y, [1,2,3,4])) #输出结果: #24 import functools print(functools.reduce(lambda x,y:x*y, [1,2,3,4],10)) #输出结果: #240 import functools print(functools.reduce(lambda x,y:x*y, [ ],5)) #输出结果: # 5
pow(x,y) # x的y次方
print(value,......,sep = ‘ 空格 ‘,end= ‘\n‘, file = None) # print的括号里面默认有一个end=‘\n‘ (换行符),如果你不想print完之后换行,可以在end=‘x‘里面换成你想以什么结束打印的符号,什么都不写也可以 ;还默认有一个空格,这个空格里面的内容也可以修改(sep是separate的缩写)。
如:
print(‘hahaha‘,‘哈哈哈‘, sep=‘-->‘, end=‘|‘) # 打印结果: # hahaha-->哈哈哈|
print也可以把内容直接打印在文件中。如:
msg = ‘又回到最初的起点,加油‘ f = open(‘print测试‘,‘w‘) print(msg,‘记忆中你青涩的脸‘,sep=‘|‘,end=‘‘,file=f) # 里面的内容都打印在了文件中 # print结果: # msg和“记忆中你青涩的脸” 都写在了文件‘print测试’里面了。
tuple() #变成元祖
callable() #判断是否可调用 (列表、字符串等的结果是False,函数的输出结果是True。所以可以用这个判断一个变量是不是函数)
frozenset( ) #是一个集合不可修改
vars() # 打印当前所有的变量名和其对应的值,dir()只能打印变量名
locals() # 通常在函数内部运行,打印函数内部所有的局部变量
globals() # 打印全局变量,不管globals()是在函数内还是函数外运行
zip(list1,list2) # 可以使两个列表中的值一一对应起来放入一个小元祖内
round(数字,n) # round是约等于(五舍六入),保留小数点后n位;
hash() # 把要哈希的内容变成一个数字
set() # 变成集合