python内置函数
一.基础数据类型(38个)
abs() : 取绝对值
divmod(): divmod(a,b) a除b,返回一个元组(商,余数)
pow() : pow(a,b) a的b次方
round() : 四舍五入, 奇数正常 偶数 就成了五舍六入
sum() : 累加
max() : 取最大值
min() : 取最小值
bin() : 转换成二进制 bin(num)
oct() : 转换成八进制
hex() : 转换成十六进制
bool() : 将给定的数据转换成bool值 只有Ture和False 如果不给值返回False
int() : 将给定的数据转换成int值 如果不给值,返回0
float() : 将给定的数据转换成float值,也就是小数
complex() : 创建一个复数,第一个参数为实部,第二个参数为虚数(z = a + bi).或者第一个参数直接用字符串来描述复数
list() : 将一个可迭代对象转换成列表
tuple(): 将一个可迭代对象转换成元组
reversed() : 将一个序列翻转,返回反转序列的迭代器
slice() : 列表的切片 [start:end:step] 和这个一样
str() : 将数据转换成字符串
format() : 与具体数据相关,用于计算各种小数,精算等
# print(format("门神", "^20")) #填充至20个字符并居中 # print(format("门神", "<20")) # 右居中 # print(format("门神", ">20")) # 左居中 # print(format(3, 'b')) # 二进制 binary 0b11 # print(format(65, 'c')) # 转换成unicode字符 ascii # print(format(11, 'd')) # ⼗进制 # print(format(11, 'o')) # ⼋进制 0o 13 # print(format(11, 'x')) # ⼗六进制(⼩写字⺟) # print(format(11, 'X')) # ⼗六进制(⼤写字⺟) # print(format(11, 'n')) # 和d⼀样 # print(format(11)) # 和d⼀样 # print(format(123456789, 'e')) # 科学计数法. 默认保留6位小数 表示大的数据 # print(format(123456789, '.2e')) # 科学计数法. 保留2位小数(⼩写) # print(format(123456789, '0.2E')) # 科学计数法. 保留2位⼩数(⼤写) # 浮点计数法 # print(format(1.23456789, 'f')) # 浮点数计数法. 保留6位⼩数 # print(format(1.23456789, '0.2f')) # ⼩浮点数计数法. 保留2位⼩数 # print(format(1, '0.10f')) # ⼩浮点数计数法. 保留10位⼩数 # print(format(1.23456789e+10000, 'F')) # ⼩浮点数计数法.
bytes() : 把字符串转换成bytes类型
bytearry() : 返回一个新字节数组,这个数字里的元素是可变的,并且每个元素的值的范围是[0,256]
memoryview() : 查看bytes在内存中的情况
ord() : 输入字符找带字符编码的位置
chr() : 输入位置数字找出对应的字符
ascii() : 是ascii码就返回该值,不是就返回\u...
repr() : 还原字符串最官方的效果
dict() : 创建一个字典
set() : 创建一个集合
frozenset() : 创建一个冻结集合没冻结的集合不能进行添加和删除操作
len() : 返回一个对象中的元素个数
enumerate() : 将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标(获取集合的枚举对象)
all() : 类似于and(可迭代对象中全是True,结果才是True)
any() : 类似于or(可迭代对象中有一个是True,结果就是True)
sorted() : 对可迭代对象进行排序操作 语法: sorted(Iterable, key=None, reverse=False)
lst = ["胡一菲", "张伟", "关谷神奇", "曾小贤吕小布", "诺澜"] s = sorted(lst, key=lambda s:len(s)) print(s)
zip() : 拉链函数 竖着看
l1 = [1, 2, 3, 4, 5, 6] l2 = ['剑魔', '维克多', '塞恩', '杰斯', '剑姬'] tu = ('**', '***', '****', '*******') z = zip([i for i in l1 if i > 2], l2, [c for c in tu if len(c) >= 4]) print(list(z))
filter() : 过滤,可以过滤掉脏数据 f = filter(lambda函数,过滤的可遍历变量)
portfolio = [ {'name': 'IBM', 'shares': 100, 'price': 91.1}, {'name': 'AAPL', 'shares': 50, 'price': 543.22}, {'name': 'FB', 'shares': 200, 'price': 21.09}, {'name': 'HPQ', 'shares': 35, 'price': 31.75}, {'name': 'YHOO', 'shares': 45, 'price': 16.35}, {'name': 'ACME', 'shares': 75, 'price': 115.65}] f = filter(lambda p:p["price"] > 100,portfolio) print(list(f))
map() : 映射函数 m = map(lambda 函数 , 需要映射的可遍历变量)
name=["剑魔",'诺手','维克多'] m = map(lambda s:s+"_上单" ,name) print(list(m))
二.作用域相关(2)
locals() : 函数会以字典的类型返回当前位置的全部局部变量
globals() : 函数以字典的类型返回全部的全局变量
三.迭代器/生成器相关(3)
range() : rang(start,end)
next() : 迭代器向下执行一次 跟__next__()一样
iter() : 获取迭代器,跟__iter__()一样
四.反射相关(4)
getatter(obj,x):获取obj对象中的x属性
hasatter(obj,x):判断obj对象中有没有x属性
setatter(obj,x,values):把obj对象中的x属性值设置为values,如果有x属性就是修改x属性
delatter(obj,x):把obj对象中的x属性删除
五.面向对象相关(9)
六.其他(12)
eval() : 执行字符串类型的代码,返回最终结果. 字符串里的代码不能多行,只能在同一行
s = "18+2" print(s) ret = eval(s) print(ret)
exec() : 执行字符串类型的代码,没有返回值
compile() : 将一个字符串编译为字节代码
#compile 编译,把你要执行的代码先预编译,通过exec和eval可以执行代码
''' 参数说明 :
1. resource 要执⾏的代码 , 动态代码片段
2. ⽂件名 , 代码存放的⽂件名 , 当传⼊了第一个参数的时候 , 这个参数给空就可以了
3. 模式 , 取值有 3 个 ,
1. exec: 一般放一些流程语句的时候
2. eval: resource 只存放一个求值表达式 .
3. single: resource 存放的代码有交互的时候 . mode 应为 single
''' code = """ for i in range(10): if i % 2 == 0: print(i) """ c = compile(code,"","exec") exec(c)
print() : 打印输出
input() : 获取用户输入的内容
hash() : 获取到对象的哈希值(int str bool tuple) 计算除一个数字值
id() : 获取到对象的内存地址
open() : 文件操作,用于打开一个文件,创建一个文件句柄
__import__ : 用于动态加载类和函数(手动输入一个模块名,几乎不用)
help() : 用于查看函数或者模块用途的详细说明,一般在cmd里才用到.
callable() : 判断一个变量能不能调用,也就是判断一个变量后面能不能加() ;如果返回True,可能调用失败,如果返回False ,肯定不会调用成功
dir() : 查看内置属性, 看数据可以执行哪些方法(函数)
思维导图地址:https://www.processon.com/mindmap/5c10aed9e4b0090a2c9d4bf5