Python内置函数(三)—— c/d/e/filter
一、callable(object) —— 检查object是否可调用:
return: True:object仍然可能调用失败;
False:调用对象object绝对不会成功
>>> callable(6) False >>> def add(a, b): ... return a + b ... >>> callable(add) True
二、chr(i) —— 用一个整数做参数,返回一个整数对应的ASCII值
args:可以是十进制也可以是十六进制形式的数字;
>>> chr(0x31) '1' >>> chr(98) 'b'
三、classmethod() —— 修饰符,对应的函数不需要实例化,不需要self参数,但第一个参数需要表示自身的cls参数,可以用来调用类的属性,类的方法,实例化对象等;
四、compile() —— 将一个字符串编译为字节码
语法:compile(source, filename, mode[, flags[, dont_inherit]])
args:source: 字符串或者SAT(Abstract Syntax Trees)对象;
filename: 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值;
mode: 指定编译代码的种类,可以指定为exec、eval、single;
flags: 变量作用域,局部命名空间,如果被提供,可以是任何映射对象;
flags和dont_inherit:用来控制编译源码时的标志
无实际应用场景,理解不了
>>> str = "3 * 4 + 6" >>> a = compile(str, '', 'eval') >>> eval(a) 18
五、complex() —— 创建复数
>>> complex(6, 7) (6+7j) >>> complex(2) (2+0j) >>> complex("2") (2+0j) >>> complex("1+6j") (1+6j) >>> complec("1 + 6j") # ”+“号两侧不能有空格 Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'complec' is not defined
六、delattr(object, name) —— 删除对象object的属性name
delattr(x, "foobar") 等价于 del x.foobar
七、dict() —— 创建字典
八、dir([object]) ——
args: 1. 不带参数时,返回当前范围内的变量、方法和定义的类型列表
2. 带参数时,返回参数的属性、方法列表
>>> dir() # 获取当前模块的属性列表 ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__',
'__package__', '__spec__'
] >>> dir({}) # 获取字典的方法 ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__',
'__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__',
'__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__',
'__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear',
'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update',
'values'
]
八、divmod(a, b) —— 返回一个包含商和余数的元组(a//b, a%b);python 3.x不支持复数
>>> divmod(7, 2) (3, 1) >>> divmod(88.2, 3) (29.0, 1.2000000000000028)
九、enumerate(sequence, [start=0]) —— 一般用在for循环中
>>> for i, element in enumerate(temp_list): ... print(i, element) ... 0 Spring 1 Summer 2 Fall 3 Winter
将一个可遍历对象,将数据和下标都取出来
十、eval(expression[, globals[, locals]]) —— 用来执行一个字符串表达式,并返回表达式的值
args: expression —— 表达式
globals —— 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象;
locals —— 变量作用域,局部命名空间,如果被提供,可以是任何映射对象;
>>> x = 7 >>> eval("3 + x") 10
十一、exec(object[, globals[, locals]]) —— 执行储存在字符串或文件中的python语句,相比于eval,exec可以执行更复杂的python代码;
args: object: 必选参数, 表示被指定的python代码,必须是字符串或code对象;
globals: 可选参数,字典类型
locals: 可先参数,任何映射对象类型
>>> a = "print('hello world')" >>> exec(a) hello world
十二、filter(function, iterable) —— iterable中的每个元素作为参数传递给函数进行判断,然后返回True或False,最后将返回True的元素放到iterable中,返回一个可迭代对象!!
def jud_empty(temp): if not temp: return False else: return True temp_dict = {"T1": "", "T2": "OS", "T3": "VCC" } real_pin_map = filter(jud_empty, temp_dict.values()) print(list(real_pin_map))
执行结果:['OS', 'VCC']
浙公网安备 33010602011771号