作用域相关:
locals()返回当前作用域中的名字
globals()返回全局作用域中的名字
迭代器相关:
range() 生成数据
next()迭代器向下执行一次,内部实际使用了__next__()方法返回迭代器的下一个项目
iter()获取迭代器,内部实际使用的是__inter__()方法来获取迭代器
字符串类型
eval() 执行字符串类型的代码,(可以动态的执行代码,一般是简单的运算)并返回最终结果:
s = input('请输入a+b:') print(eval(s))
exec() 执行字符串类型的代码,不返回任何内容(动态执行代码)
s = 'for i in range(10):print(i)' ret = exec(s)
print(ret)
结果:0到9 ret返回值是None
compile() 将字符串的代码编译,代码对象能够通过exec()语句来执行或者eval()进行求值
参数说明:
1)resource 要执行的代码,动态代码片段
2)文件名,代码存放的文件名,当传入了第一个参数的时候,这个参数给空就可以
3)模式,取值有3个
1.exec:一般放一些流程语句的时候
2.eval:resource只存放一个求值表达式
3.single:resource存放的代码有交互的时候,mode应为single
code1 = 'for i in range(10):print(i)' com = compile(code1,"",mode='exec') exec(com) code2 = '1+2+3' com = compile(code2,'',mode='eval') print(eval(com)) code3 = "name = input('请输入名字:')" com = compile(code3,'',mode='single') exec(com) print(name)
有返回值的字符串形式的代码用eval(),没有返回值的字符串形式的代码用exec()
输入和输出相关:
input() 用户交互,获取用户输入内容
print() 打印输出 sep: 只是打印出来改变结果
print('李嘉诚','马云','哈哈',sep = '*') 结果:李嘉诚*马云*哈哈
内存相关:
hash() 获取对象的哈希值(int str bool tuple)
哈希值:目的是唯一性,hash表用空间换的时间,比较耗内存
s = '哈哈哈' print(hash(s)) 结果:是一堆数字 s= [1,2,3] print(hash(s)) 结果:报错 列表是不可哈希的
id() 获取对象的内存地址
文件操作相关:
open() 用于打开一个文件,创建一个文件句柄
模块相关:
__import__() 用于动态加载类和函数,动态导入模块
import os #直接指定模块导入 ------------- name = input('请输入你要导入的模块:') __import__(name) #可以输入一个模块名称,动态导入模块
帮助:
help() 用于查看函数或模块用途的详细说明: print(help(str))
调用相关:
callable() 用于检查一个对象是否是可调用的,如果返回True,object有可能调用失败,但如果返回False,那调用绝对不会成功
s = '哈哈哈' print(callable(s)) #False def func(): print('haha') print(callable(func)) #True
查看内置属性:
dir() 查看对象的内置属性,方法,访问的是对象中的__dir__()方法
数据类型相关:
bool() 将给定的数据转换成bool值,如果不给值,返回False
int()将给定的数据转换成int值,如果不给值,返回0
float() 将给定的数据转换成float值,也就是小数
complex() 创建一个复数,第一个参数为实部,第二个参数为虚部,或者第一个参数直接用字符串描述复数.
进制转换:
bin() 将给的参数转换成二进制
otc()将给的参数转换成八进制
hex()将给的参数转换成十六进制
数学运算:
abs() 返回绝对值
divmode() 返回商和余数
round()四舍五入
pow(a,b)求a的b次幂,如果有三个参数,则求完次幂后对第三个数取余
sum()求和
min()求最小值
max()求最大值
和数据结构相关:
列表和元祖:
list()将一个可迭代对象转换成列表
tuple( ) 将一个可迭代对象转换成元祖
reversed() 将一个序列翻转,返回翻转序列的迭代器
slice()列表的切片
lst = [1,2,3,4,5] s = slice(1,3,1) print(lst[s])
字符串相关:
str() 将数据转换成字符串
format() 与具体数据相关,用于计算各种小数,精算等
# 字符串 print(format('test', '<20')) # 左对齐 print(format('test', '>20')) # 右对齐 print(format('test', '^20')) # 居中 # 数值 print(format(3, 'b')) # 二进制 print(format(97, 'c')) # 转换成unicode字符 print(format(11, 'd')) # 十进制 print(format(11, 'o')) # 八进制 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, '0.2e')) # 科学计数法. 保留留2位小数(⼩小写) print(format(123456789, '0.2E')) # 科学计数法. 保留留2位小数(⼤大写) print(format(1.23456789, 'f')) # 小数点计数法. 保留留6位小数 print(format(1.23456789, '0.2f')) # 小数点计数法. 保留留2位小数 print(format(1.23456789, '0.10f')) # 小数点计数法. 保留留10位小数 print(format(1.23456789e+10000, 'F')) # 小数点计数法
bytes() 把字符串转换成bytes类型
s = '你好' bs = s.encode('utf-8') print(bs) s = bs.decode('utf-8') print(s) bs = bytes(s.encode('utf-8')) #先把字符串转换成utf-8然后在转换成bytes类型 print(bs)
bytearray() 返回一个新字节数组,这个数字里的元素是可变的,并且每个元素的值的范围是[0,256]
ret = bytearray('alex',encoding='utf-8') print(ret[0]) #结果 97 ret[0] = 65 print(str(ret)) #结果:bytearray(b'Alex') 把a改成了A
memoryview() 查看bytes在内存中的情况:
s = memoryview('麻花藤'.encode('utf-8')) print(s) #结果<memory at 0x00000000011BE108>
repr() 返回一个对象的string形式:
1)repr就是原封不动的输出,引号和转义字符都不起作用,不包括%,格式化输出
print(repr('大叫好, , 我叫周杰伦')) #结果:'大叫好, , 我叫周杰伦'
2)%r 原封不动的写出来
name = 'taibai' print('我叫%r' % name) #结果:我叫'taibai'
编码相关的:
ord() 输入字符找带字符编码的位置:
print(ord('a')) #结果97
chr() 输入位置数字找出对应的字符
print(chr(97)) #结果a
ascii() 是acsii中的就返回该值,不是就返回u...
print(ascii('哈哈')) 结果:'u54c8u54c8'
数据集合:
dict() 创建一个字典
set() 创建一个集合
frozenset() 创建一个冻结的集合,冻结的集合不能进行添加和删除操作
其他相关:
len() 返回一个对象中的元素的个数
enumerate() 获取集合的枚举对象
all() 可迭代对象中全部是True,结果才是True
any() 可迭代对象中有一个是True,结果就是True
print(all([1,2,3,True,0])) print(any([1,'',0]))
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元祖,然后返回有这些元祖组成的列表,如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同
lst1 = ['哈哈','呵呵','嘻嘻'] lst2 = ['a','b','c','5'] lst3 = ['*','#$',(1,2,3),'haha'] for i in zip(lst1,lst2,lst3): print(i) 结果:('哈哈', 'a', '*') ('呵呵', 'b', '#$') ('嘻嘻', 'c', (1, 2, 3))
sorted() 对可迭代对象进行排序操作
filter() 过滤
map() 会根据提供的函数指定序列做映射