内置函数
内置函数:
作用域相关:
locals
()
更新并返回表示当前本地变量的字典。在函数块而不是类块中调用 locals()
时会返回自由变量
globals
()
返回表示当前全局变量的字典。
其它:
eval
eval
(expression, globals=None, locals=None)
实参是一个字符串,以及可选的 globals 和 locals变量。
print(eval('1+2*5')) >>>11
exec
exec
(object[, globals[, locals]])
这个函数支持动态执行 Python 代码。
exec("print(eval('1+2*5'))") >>>11
compile
compile
(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
将 source 编译成代码编译。
参数source:字符串或者AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。
filename 实参需要是代码读取的文件名
mode 实参指定了编译代码必须用的模式。
可选参数 flags 和 dont_inherit 控制在编译 source 时要用到哪个 future 语句。
code = 'for i in range(10):print(i)' com = compile(code,'','exec') exec(com) 0 1 2 3 4 5 6 7 8 9
input
([prompt])
如果存在 prompt 实参,则将其写入标准输出,末尾不带换行符。
print
(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
将 objects 打印到 file 指定的文本流,以 sep 分隔并在末尾加上 end。
import time for i in range(101): print('\r%s%%'%i,end='') time.sleep(0.1)
type(o)
返回变量o的数据类型
id
(object)
返回对象的“标识值”(内存地址)。
hash(o)
o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。
callable
(object)
如果实参 object 是可调用的,返回 True
,否则返回 False
。
dir
([object])
如果没有实参,则返回当前本地作用域中的名称列表。
print(dir(list)) #查看列表的内置方法 print(dir(int)) #查看整数的内置方法
和数字相关
数字——数据类型相关:bool,int,float,complex
数字——进制转换相关:bin,oct,hex
数字——数学运算:abs,divmod,min,max,sum,round,pow
数据集合——字典和集合:dict,set,frozenset
数据集合:len,sorted,enumerate,all,any,zip,filter,map
filter
(function, iterable)
用 iterable 中函数 function 返回真的那些元素,构建一个新的迭代器。
def func(x): return x%2==0 lst = filter(func,range(10)) print(list(lst)) [0, 2, 4, 6, 8]
map
(function, iterable, ...)
产生一个将 function 应用于迭代器中所有元素并返回结果的迭代器。
def func(x): return x*2 lst = map(func,range(10)) print(list(lst))
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
匿名函数:
res = map(lambda x:x**2,[1,5,7,4,8]) for i in res: print(i) 输出 25 16