一、内置函数
1、作用域相关:
(1)globals() 查看全局作用域,显示所有的变量
(2)locals() 查看局部作用域,只会显示当前函数使用的变量
2、迭代器相关:
(1)iter(可迭代对象):返回一个迭代器
(2)next(迭代器):执行一次取一个值,取完为止,括号里不能直接写iter(可迭代对象),每次next都会生成一个新的迭代器,每次取出来的都是第一个值
(3)range(100):0到99
range(9,100,2):2为步长,隔一个取值
range不会直接显示出所有值,一般for循环或者强转为列表
3、其他类:
(1)字符串类:
a) eval()
b) exec()
两个都是将字符串转为python代码,区别是exec没有返回值,所以遇到求值的就不能用exec,要用eval
注意带有import的要先做检测,否则使用OS模块会很危险
c) compile() 需要对字符串类型的代码多次执行,不常用
流程式语句,用exec
求值表达式,用eval
交互式语句,用single
(2)输入输出:
a) 输入:input 输入的是字符串类型
b) 输出:print
end= 按什么结束,默认是换行
sep= 按什么分割,默认是空格
file=文件句柄 打印到文件中,默认打印到屏幕上
flush=True 立即打印,默认会等一下再打印,防止程序还有东西打印等到最后一起打印出来
补充:\r 把光标移动到行首但不换行
3、内存相关:
(1)哈希:hash() 结果是一串数字,并且是不可逆的,不能用这一串数字反推出对象
注意:列表、字典、集合不能被哈希
在python一次执行中,相同的可哈希对象来说,得到的是同样的数字结果
(2)id() :显示内存地址
应用:身份运算,is 比较值和内存地址是否相同
(3)文件操作:open
(4)模块操作:就用import
(5)帮助:help 输入q退出
(6)调用相关:callable(),判断函数是否可调用
(7)查看内容属性: dir() 查看所有的类功能(方法)
dir(_ _builtins_ _) 查看所有内置函数名字
4、数据类型相关
(1)过滤:filter(函数名,可迭代对象)
循环可迭代对象的每个元素当作函数的参数,若返回True就把这个元素放到一个新的可迭代对象中,filter最终返回一个迭代器,可循环强转取值
def func(n): if n%2 == 0: return Truelst = [1,2,3,4,5,6,7]ret = filter(func,lst) #过滤# 返回一个迭代器for i in ret: print(i)
(2)map(函数名,可迭代对象)
也是循环每个可迭代对象的元素当作函数的参数,函数返回什么就返回什么到新的可迭代对象中,map最终返回一个迭代器,可循环强转取值
lst = [1,2,3,4,5,6,7]def func(item): return item*itemprint(list(map(func,lst)))
(3)enumerate(可迭代对象,1)
本身是个迭代器
给可迭代对象加序号,默认从0开始,写几就从几开始
输出的元组类型
se = { 'computer':10000,'umbrella':200}for num,goods in enumerate(se,1): print(num,goods,se[goods])