Python特殊函数,,exec():执行动
Python特殊函数,,exec():执行动
exec():执行动态的字符串代码,和eval类似,不过eval接受表达式。
它可接受:1.代码字符串 2.文件对象 3.代码对象 4.tuple
>>> exec(‘a=2‘)>>> a2>>> exec(‘print(\‘5\‘)‘)5
eval():接受一个字符串对象,把字符串变成一个合法的表达式
>>> eval(‘1+1‘)2
repr():接受一个表达式,把表达式变成字符串
>>> repr(1+2)‘3‘
range():范围函数
zip():返回一个迭代器,将对应的序列对应索引位置拼接成一个二元组,若序列不同,以短的为主。
>>> a = [1,2,3]>>> b = (‘a‘,‘b‘,‘c‘)>>> zip(a,b)<zip object at 0x0000024DD98036C8>>>> list(zip(a,b))[(1, ‘a‘), (2, ‘b‘), (3, ‘c‘)]
map(func, *iterables):返回一个迭代器
>>> map(lambda x: x+x,[1,2,3])<map object at 0x00000197731BDB70>>>> a = map(lambda x: x+x,[1,2,3])>>> next(a)2>>> next(a)4>>> next(a)6>>> next(a)Traceback (most recent call last): File "<stdin>", line 1, in <module>StopIteration
filter(function or None, iterable):过滤作用,返回一个迭代器,和列表推导式作用相同
>>> numbers = range(-5,5)>>> numbers[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] >>> filter(lambda x: x>0, numbers) [1, 2, 3, 4]>>> [x for x in numbers if x>0] #与上面那句等效[1, 2, 3, 4]
isinstance(obj, class_or_tuple, /):除了可以判断对象的类型,还可以判断该对象是否是该类的子类,返回值为bool值。
>>> isinstance(1,str)False>>> isinstance(1,int)Trueclass Person(): def __init__(self): pass?p = Person()print(isinstance(p,Person))True
enumerate(iterable[, start]):把可迭代对象的索引和值包装成一个元组返回。
>>> b = list(enumerate(‘sedf‘))>>> b[(0, ‘s‘), (1, ‘e‘), (2, ‘d‘), (3, ‘f‘)]
divmod():地板除取余函数 //
>>> divmod(9,4)(2, 1)
pow():幂值函数
getattr(object,name,default) :
object--对象
name--字符串,对象属性
default--默认返回值,如果不提供该参数,在没有对于属性时,将触发AttributeError。
class Person(): age = 20 def __init__(self): self.name = 3p = Person()print(isinstance(p,Person))print(getattr(p,‘name‘))、?3
持续更...
Python特殊函数
评论关闭