内置函数

内置函数:

作用域相关:

locals()

更新并返回表示当前本地变量的字典。在函数块而不是类块中调用 locals() 时会返回自由变量

globals()

返回表示当前全局变量的字典。

其它:

eval

eval(expressionglobals=Nonelocals=None)

实参是一个字符串,以及可选的 globals 和 locals变量。

print(eval('1+2*5'))
>>>11

exec

exec(object[, globals[, locals]])

这个函数支持动态执行 Python 代码。

exec("print(eval('1+2*5'))")
>>>11

compile

compile(sourcefilenamemodeflags=0dont_inherit=Falseoptimize=-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(*objectssep=' 'end='\n'file=sys.stdoutflush=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(functioniterable)

用 iterable 中函数 function 返回真的那些元素,构建一个新的迭代器。

def func(x):
    return x%2==0

lst = filter(func,range(10))
print(list(lst))

[0, 2, 4, 6, 8]

map(functioniterable...)

产生一个将 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

  

posted @ 2019-03-27 15:20  ☞Python☞  阅读(91)  评论(0编辑  收藏  举报