compile()函数
描述:compile()函数将一个字符串编译为字节代码
语法:compile(source, filename, mode[, flags[, don't_inherit]])
参数:
- source -- 字符串或者AST(Abstract Syntax Trees)对象。。
- filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
- mode -- 指定编译代码的种类。可以指定为 exec, eval, single。
- flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。
- flags和dont_inherit是用来控制编译源码时的标志
返回值:返回表达式执行结果
python3中实例:
str = "for i in range(0,10): print(i)" c = compile(str,'','exec') # 编译为字节代码对象 print(c) # 返回值<code object <module> at 0x0000020729134810, 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
map()函数
描述:map()会根据提供的函数对指定序列做映射
第一个参数function以参数序列中的每一个元素调用function函数,返回每次包含function函数返回的新列表
语法:map(function, iterable, ...)
参数:function--函数,有两个参数
iterable--一个或多个序列
返回值:python3.x 返回迭代器
python2.x 返回列表
python3中实例:
def square(x): #计算平方数 return x**2 a = map(square,[1,2,3,4,5]) #计算列表各个元素的平方 b = map(lambda x:x**2, [1,2,3,4,5]) # 使用 lambda 匿名函数 # 提供了两个列表,对相同位置的列表数据进行相加 c = map(lambda x,y:x+y,[1,24,56,132,14],[7,4,8,66,88]) print(a,b,c) # 执行结果: # [1, 4, 9, 16, 25] # [1, 4, 9, 16, 25] # [8,28,64,198,102] #
reversed函数
描述:reversed函数返回一个反转的迭代器
语法:reversed(seq)
参数:seq--要转换的序列,可以是tuple,string,list或range
返回值:返回一个反转的迭代器
python3中实例:
# 字符串 seqString = 'taobao' print(list(reversed(seqString))) # 返回值['o', 'a', 'b', 'o', 'a', 't'] # range seqRange = range(5, 9) print(list(reversed(seqRange))) # 返回值[8, 7, 6, 5] # 列表 seqList = [1, 2, 4, 3, 5] print(list(reversed(seqList))) #返回值 [5, 3, 4, 2, 1]
__import__()函数
描述:__import__()函数用于动态加载类和函数
如果一个模块经常变化可以使用__import__()来动态载入
语法:__import__(name[, globals[, locals[, fromlist[, level]]]])
参数:name--模块名
返回值:返回元组列表
python3中实例:
# a.py 文件代码: import os print ('在 a.py 文件中 %s' % id(os)) # test.py 文件代码: import sys __import__('a.py') # 导入 a.py 模块 # 执行 test.py 文件,输出结果为: # 在 a.py 文件中 4394716136
comple(x)函数
描述:complex()函数用于创建一个值为real+image*j 的复数或者转化一个字符串或数为辅助。
如果第一个参数为字符串,则不需要指定第二个参数
语法:class complex([real[, imag]])
参数:real--int,long,float或str
imag--int,long,float
返回值:返回一个复数
python3中实例:
a = complex(1,2) b = complex(1) # 数字 c = complex("1") # 当做字符串处理 # 注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错 d = complex("1+2j") print(a,b,c,d) # 执行结果: # (1+2j) # (1+0j) # (1+0j) # (1+2j)
hasattr()函数
描述:hasattr()函数用于判断对象是否包含对应的属性
语法:hasattr(object, name)
参数:object--对象; name--字符串属性,属性名
返回值:如果对象有该属性返回True,否则返回False
python3中实例:
class Uzi: x = 10 y = -5 z = 0 point1 = Uzi() print(hasattr(point1, 'x')) print(hasattr(point1, 'y')) print(hasattr(point1, 'z')) print(hasattr(point1, 'no')) # 没有该属性 # 输出结果: # True # True # True # False
delattr()函数
描述:delattr()函数用于删除属性
语法:delattr(object, name)
参数:object--对象;name--必须是对象的属性
返回值:无
python3中实例:
class MLXG: x = 10 y = -5 z = 0 point1 = MLXG() print('x = ', point1.x) print('y = ', point1.y) print('z = ', point1.z) delattr(MLXG, 'z') print('--删除 z 属性后--') print('x = ', point1.x) print('y = ', point1.y) # 触发错误 print('z = ', point1.z) # 输出结果: # x = 10 # Traceback (most recent call last): # y = -5 # File "D:/py mysql/venv/pymyql 1/neizhiduixiang.py", line 654, in <module> # z = 0 # --删除 z 属性后-- # x = 10 # y = -5 # print('z = ', point1.z) # AttributeError: 'MLXG' object has no attribute 'z'
hash()函数
描述:hash()用于获取一个对象(字符串或数值等)的哈希值
语法:hash(object)
参数:object--对象
返回值:返回对象的哈希值
python3中实例:
a = hash(1) #数字 b = hash('lol') #字符串 c = hash(str([1,2,3])) #集合 d = hash(str(sorted({'1':1}))) # 字典 print(a,b,c,d) # 输出结果: # 1 # 109272398043033488 # -2758360847254395590 # -1450193307434289095
memoryview()函数
描述:memoryview()函数返回给定参数的内存查看对象(memory view)
所谓内存查看对象,是值对支持缓存区协议的数据进行包装,在不需要复制基础上允许python代码访问
语法:memoryview(obj)
参数:obj--对象
返回值:返回元组列表
python3中实例:
v = memoryview(bytearray("abcdef",'utf-8')) print(v[1]) print(v[-1]) print(v[1:4]) print(v[1:4].tobytes()) # 输出结果: # 98 # 102 # <memory at 0x000001B614352288> # b'bcd'
set()函数
描述:set()函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集和并集
语法:class set([iterable])
参数:iterable--可迭代对象
返回值:返回新的集合对象
python3中实例:
x = set('taobao') y = set('baidu') print(x,y) print(x & y) print(x | y) print(x - y) # 输出结果: # {'o', 'a', 't', 'b'} {'a', 'i', 'd', 'u', 'b'} # {'a', 'b'} # {'a', 'o', 'i', 'd', 't', 'u', 'b'} # {'o', 't'}