1、python的内置函数
Python 解释器自带的函数叫做“内置函数”,这些函数不需要import 导入就可以直接使用。
1 abs 绝对值函数
print(abs(-1)) print(abs(100))
2 round 四舍五入 得到整形
奇进偶不进 n.5的情况特定发生; 整数部分为奇数的.5进位,为偶数的.5不进位,舍弃
res = round(3.87) res = round(4.51) # res = round(2.5) # res = round(3.5) res = round(6.51) print(res)
.5后面有数字的,全部进位
3 sum 计算一个序列的和
lst = [1,2,3,4,34] res = sum(lst) print(res) total = 0 for i in lst: total += i print(total)
4 max 获取一个序列里边的最大值
5 min 获取一个序列里边的最小值
lst = (-100,1,2,3,4,34) res = max(lst) res = min(lst) print(res)
#max / min 的高阶函数的使用方式,跟sorted用法一样。按照什么排序就返回什么
tup = ( ("赵万里",100) , ("赵沈阳",101) , ("孟凡伟",99) ) def func(n): # print(n) # 按照年龄找到最小值元组 return n[-1] res = min(tup,key=func) print(res) res = max(tup,key=func) print(res) dic = {"赵万里":100,"赵沈阳":200,"孟凡伟":-5000} def func(n): # 如果是字典,默认传递的是键 # print(dic[n]) return abs(dic[n]) res = min(dic,key=func) res = max(dic,key=func) print(res)
字典,默认传的是键。我们可以自定义返回字典的值,返回什么就按什么排序。平时我们自己设置高阶函数,也可以根据传的值来改写返回值
传什么,返回什么,取最大值,最小值,依赖传的值的比较。根据return返回值比较
绝对值最大的是孟凡伟
6 pow 计算某个数值的x次方
如果是三个参数,前两个运算的结果和第三个参数取余
print(pow(2,3)) print(pow(2,3,7)) print(pow(2,3,4)) print(pow(2,3,5))
7 range 产生指定范围数据的可迭代对象
#一个参数 for i in range(3): # 0 1 2 print(i) #二个参数 for i in range(3, 8): # 3 4 5 6 7 print(i) #三个参数 #正向操作 for i in range(1,9,5): # 1 6 留头舍尾 print(i) #逆向操作 for i in range(9,1,-3): # 9 6 3 print(i)
8 bin 将10进制数据转化为二进制
print(bin(8)) 0b
9 oct 将10进制数据转化为八进制
print(oct(8)) 0o
10 hex 将10进制数据转化为16进制
print(hex(16)) 0x
二进制,八进制,十六进制表示的数,打印出来自动打印成十进制
11 chr 将ASCII编码转换为字符 就好比根据索引获取字符串
print(chr(65))
12 ord 将字符转换为ASCII编码,就相当于获取某个字符串的索引
print(ord("A"))
####eval和exec在和第三方用户交互时候,谨慎使用;
13 eval 将字符串当作python代码执行
strvar = "print(123)" strvar = "int(15)" print(strvar) res = eval(strvar) print(res,type(res))
#strvar = "a=3" error eval的局限性 不能创建变量 #eval(strvar)
14 exec 将字符串当作python代码执行(功能更强大)
慎用,当确定执行结果后再用
strvar = "a=3" exec(strvar) print(a) strvar = """ for i in range(10): print(i) """ exec(strvar)
到目前为止,创建变量有5种,a=1 a,b = 1,2 a=b=1 a=globals() a[‘b’]=3 exec(“a=3”)
15 repr 不转义字符输出字符串
strvar = "D:\nython32_gx\tay14" res = repr(strvar) print(res)
16 input 接受输入字符串
res = input("输入内容") print(res , type(res)) #hash 生成哈希值 #文件校验 with open("ceshi1.py",mode="r",encoding="utf-8") as fp1, open("ceshi2.py",mode="r",encoding="utf-8") as fp2: res1 = hash(fp1.read()) res2 = hash(fp2.read()) if res1 == res2: print("文件校验成功") else: print("文件校验失败")
字符串类型数据hash,每次hash值不同。Number,元祖hash值是固定的
这种适合小文件,大文件会把内存撑爆
python内置函数、数学模块、随机模块(二):https://developer.aliyun.com/article/1495755