Python内置函数
# 作用域相关 #locals() # 以字典形式返回当前位置的全部局部变量 #例: def locals_test(): a = 1 b = 2 print(locals()) # 打印结果:{'a': 1, 'b': 2} locals_test() ''' globals() # 以字典形式返回全部全局变量 例: ''' # print(globals())
# 输入输出 ''' print() 参数: 1.sep=' ' 连接符 默认是空格 2.end='\n' 打印以什么结尾,默认 \n 换行符 3.file = None 将内容输出到什么地方,可以是文件。默认sys.stdout(输出面板) ''' ''' input('提示语') '''
# 内存相关 ''' hash('需要hash的内容') 将内容 hash 得到一个基本唯一数值 字典key靠hash存储 ''' def test(): pass print(hash('1232'))
# 模块相关 ''' __import__ 导入模块 model = __import__(模块名) 返回一个模块 ''' name = input(':') t = __import__(name) print(t)
# 查看内置属性 ''' dir 查看当前类有什么内置属性 ''' def test(): psss print(dir(test))
# 基础数据类型 ''' 数据类型: bool 布尔类型 (将传入的内容转换成True或者False,0和空为False 其他为 True) int 整数 (将传入的内容转换为整数,只能传入数字) float 浮点数 (将传入的内容转换为浮点,只能传入数字,或者小数) complex 复数 ''' ''' 进制转换 bin 二进制 (将一个十进制的数转换成二进制) hex 十六进制 (将一个十六进制的数转换成二进制) oct 八进制 (将一个八进制的数转换成二进制) ''' print(bin(111))
# 调用相关 ''' callable 判断传入的内容是否可以被调用 =================== a = 1 callable(a) 结果:Fallse ==================== def test(): pass callable(test) 结果:True '''
# 运行字符串代码 ''' eval 可以动态执行代码,代码可以返回结果,只能执行简单代码 exec 可以动态执行代码,代码没有返回值,可以执行复杂代码 compile 将一个字符串编译为字节代码 compile 参数 1.resource 要执行的代码,动态代码片段 2.文件名,代码存放的文件名,当传入了第一个参数的时候,这个参数给空就可以了 3.模式,取值有三个 1.exec:一般放一些流程语句 2.eval:简单的求值表达式 3.single:resourcec存放的代码有交互(包含input之类代码)的时候,model应为single ''' code = 'for i in range(10):print(i)' c = compile(code,'',mode='exec') exec(c) code = ''' x = input("请输入:")) ''' c = compile(code,'',mode='single') print(x) exec(c)
# 数学运算 ''' abs 绝对值 divmod 返回商和余数 round 五舍六入 pow 幂运算(如果给三个参数,幂运算之后对最后一次数取余) sum 求和 必须传入可迭代对象 min 最小值 max 最大值 ''' print(sum([1,2]))
# 数据结构相关 ''' 列表 元组 list 列表 tuple 元组 reversed 将一个有序数列倒叙排列,并返回一个新的迭代器。不改变原先序列 slice 列表的切片 用法 slice(起始位置,结束位置,步长) ''' lst = [1, 2, 3, 4] print(id(lst)) lst2 = reversed(lst) print(lst,lst2) s = slice(1,3,1) print(lst[s])
#字符串相关 #字符串 # str 将输入的内容返回成字符串 # bytes 将字符串,根据对应的编码转换成字节数据 # bytearray 将字符串,转换成字节类型,但是是以十进制的形式存放在数组中(每个字节分开) # memoryview 该函数会创建一个引用自 obj 的内存视图(memoryview)对象。 # 内存视图对象允许 Python 代码访问支持缓冲区协议(buffer protocol)的对象的内部数据,且无需拷贝。 # ord 返回字符对应的编码,如 ord("a") 返回 97 # chr 跟ord对应 输入字符编码返回对应字符 chr(97) 返回字符 "a" # ascii 返回一个可打印的对象字符串方式表示,如果是非ascii字符就会输出\x,\u或\U等字符来表示 # repr 原样输出,在打印输出的时候,原样显示\n \t等特殊字符,输出的字符串也会被""包括(但是%s占位符还是可以正常使用) # format 根据提供的数据不同,提供不同的操作 # =============== 下面是format的操作 =============== # 1.字符串相关 print(format('test','<20')) #将字符串填充成20个,文字在20个中左对齐 print(format('test','>20')) #将字符串填充成20个,文字在20个中右对齐 print(format('test','^20')) #将字符串填充成20个,文字在20个中间居中 #2.数值相关 print('二进制:',format(3,'b')) # 将数字转为二进制 print('UNICODE进制:',format(97,'c')) # 将数字转为unicode print('十进制:',format(3,'d')) # 将数字转为十进制 print('八进制:',format(3,'o')) # 将数字转为八进制 print('十六进制进制小写:',format(15,'x'))# 将数字转为十六进制(小写字母) print('十六进制大写:',format(15,'X')) # 将数字转为十六进制(大写字母) print('十进制:',format(3,'n')) # 将数字转为十进制 print('十进制:',format(3)) # 将数字转为十进制 #2.浮点数 print('科学记数法,默认保留6位小数:',format(123456789,'e')) #科学记数法,默认保留6位小数 print('科学记数法,默认保留2位小数(小写)',format(123456789,'0.2e')) #科学记数法,默认保留2位小数(小写) print('科学记数法,默认保留2位小数(小写)',format(123456789,'0.2E')) #科学记数法,默认保留2位小数(大写) print('小数点计数法,保留6位小数',format(1.23456789,'f')) #小数点计数法,保留6位小数 print('小数点计数法,保留2位小数',format(1.23456789,'0.2f')) #小数点计数法,保留2位小数 print('小数点计数法,保留10位小数',format(1.23456789,'0.10f')) #小数点计数法,保留10位小数 print('小数点计数法',format(1.23456789e+100,'F')) #小数点计数法,当数字很大会输出INF(无穷大) # # name = '你好啊!\n%s我不好'%('嘿嘿,') # # print(name) # # print(repr(name)) # name = '呵呵呵' # by = bytes(name,encoding='utf-8') # print(by) # print([(i,hex(i)) for i in bytearray(name,encoding='utf-8')])
# 数据集合相关 ''' dict 字典 set 集合 frozenset 不可变集合 ''' # 相关内置函数 ''' len 长度 sorted 排序默认正序,加入参数 reverse=True 则为倒序 参数: key 必须传入一个函数名,函数必须返回一个数字sorted通过返回的数字来排序 reverse True倒序,False 正序 enumerate 枚举,enumerate(dic,起始序号) 返回一个迭代器。格式(序号,内容(如果是字典,这里放的是KEY)) all 可迭代对象中,所有是True,返回True any 可迭代对象中,有一个是True,返回True zip 传入可迭代对象,将可迭代对象按照序号组合成一个新的列表[(a[0],b[0],c[0]),(a[1],b[1],c[1]),...] 如果传入的对象长度不一样,就按照最短的对象来 fiter 筛选 传入一个函数,一个可迭代对象。返回一个筛选后的迭代器 参数: function:传入一个函数,函数必须返回True或者False 如果为True保留,如果为False剔除 iter : 可迭代对象 map 传入一个函数,和一个可迭代对象。map会把可迭代对象中的元素依次传入函数,并且执行函数。然后将执行结果生成一个迭代器 注意:可迭代对象可以传入多个,如果传入多个可迭代对象那么函数也得相应的接收多个参数 参数: function:传入一个函数 iter : 可迭代对象 ''' lst = ['a','b','v','c',''] dic = {'a':1,'b':2,'c':2} l2 = [3,6,9] it = enumerate(dic,1) print(next(it)) print(all(dic)) print(list(zip(lst,dic,l2)))