知识总结和记录——内置函数

作用域

基于字典的形式获取局部变量和全局变量

globals()——获取全局变量的字典

locals()——获取执行本方法所在命名空间内的局部变量的字典

其他

字符串类型代码的执行

eval() 将字符串类型的代码执行并返回结果

exec()将字符串类型的代码执行

print(exec("1+2+3+4"))
exec("print('hello,world')")
print(eval('1+2+3+4'))

Exec与Eval语句的主要区别是,Exec处理字符串里面的代码,而Eval是处理字符串里面的表达式。

  

compile()

将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。

用法:compile(source, filename, mode[, flags[, dont_inherit]])

参数:

source -- 字符串或者AST(Abstract Syntax Trees)对象

filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。

mode -- 指定编译代码的种类。可以指定为 exec, eval, single。

flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。

flags和dont_inherit是用来控制编译源码时的标志

>>>str = "for i in range(0,10): print(i)" 
>>> c = compile(str,'','exec')   # 编译为字节代码对象 
>>> c
<code object <module> at 0x10141e0b0, file "", line 1>
>>> exec(c)
0
1
2
3
4
5
6
7
8
9
>>> str = "3 * 4 + 5"
>>> a = compile(str,'','eval')
>>> eval(a)
17

  

内存相关

id(o) o是参数,返回一个变量的内存地址

hash(o) o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。

文件操作相关

open()  打开一个文件,返回一个文件操作符(文件句柄)

操作文件的模式有r,w,a,r+,w+,a+ 共6种,每一种方式都可以用二进制的形式操作(rb,wb,ab,rb+,wb+,ab+)

可以用encoding指定编码.

模块相关

__import__导入一个模块

帮助

在控制台执行help()进入帮助模式。可以随意输入变量或者变量的类型。输入q退出

或者直接执行help(o),o是参数,查看和变量o有关的操作

和调用相关

callable(o),o是参数,看这个变量是不是可调用。

如果o是一个函数名,就会返回True

callable实例

查看内置属性

dir() 默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量

和数字相关

 

数字——数据类型相关:bool,int,float,complex

数字——进制转换相关:bin,oct,hex

数字——数学运算:abs,divmod,min,max,sum,round,pow

和数据结构相关

序列——列表和元组相关的:list和tuple

序列——字符串相关的:str,format,bytes,bytearry,memoryview,ord,chr,ascii,repr

bytearray
memoryview

序列:reversed,slice

reversed
slice

数据集合——字典和集合:dict,set,frozenset

数据集合:len,sorted,enumerate,all,any,zip,filter,map

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

filter

map() 通过函数作用每一个元素,并返一个迭代对象

map

 sorted() 函数对所有可迭代的对象进行排序操作

sorted

匿名函数

函数名 = lambda 参数 :返回值

#参数可以有多个,用逗号隔开
#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
#返回值和正常的函数一样可以是任意数据类型

  

  

原文地址:https://www.cnblogs.com/CrazyDemo/p/10456439.html