Python内置函数5
1.format
参考前面字符串方法中的format
2.frozenset([iterable]) iterable -- 可迭代的对象,比如列表、字典、元组等等
返回一个冻结的集合,冻结后集合不能再添加或删除任何元素
返回新的 frozenset 对象,如果不提供任何参数,默认会生成空集合
>>>a = frozenset(range(10)) # 生成一个新的不可变集合 >>> a frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> b = frozenset('runoob') >>> b frozenset(['b', 'r', 'u', 'o', 'n']) # 创建不可变集合 >>>
3.getattr(object, name[, default])
object -- 对象。
name -- 字符串,对象属性。
default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError
>>>class A(object): ... bar = 1 ... >>> a = A() >>> getattr(a, 'bar') # 获取属性 bar 值 1 >>> getattr(a, 'bar2') # 属性 bar2 不存在,触发异常 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'A' object has no attribute 'bar2' >>> getattr(a, 'bar2', 3) # 属性 bar2 不存在,但设置了默认值 3 >>>
4.globals()
会以字典类型返回当前位置的全部全局变量
5.hasattr(object, name)
object -- 对象。
name -- 字符串,属性名
如果对象有该属性返回 True,否则返回 False
class Coordinate: x = 10 y = -5 z = 0 point1 = Coordinate() print(hasattr(point1, 'x')) print(hasattr(point1, 'y')) print(hasattr(point1, 'z')) print(hasattr(point1, 'no')) # 没有该属性
输出结果
True
True
True
False
6.hash(object)
用于获取取一个对象(字符串或者数值等)的哈希值
>>>hash('test') # 字符串 2314058222102390712 >>> hash(1) # 数字 1 >>> hash(str([1,2,3])) # 集合 1335416675971793195 >>> hash(str(sorted({'1':1}))) # 字典 7666464346782421378 >>>
7.hex(x)
用于将10进制整数转换成16进制,以字符串形式表示
>>> hex(10) '0xa' >>> hex(255) '0xff' >>>
8.input(prompt) prompt: 提示信息
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。
Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。
raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )
9.issubclass(class,classinfo)
如果第一个参数是第二个参数的一个子类,则返回Truth,否则返回False
#1.一个类被认为是其自身的子类
#2.classinfo可以是类对象组成的元组,只要class是其中任何一个候选项的子类,则返回True
#3.在其他情况下抛出一个TypeError异常
10.iter(object[, sentinel])
用来生成迭代器
object -- 支持迭代的集合对象。
sentinel -- 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object
>>>lst = [1, 2, 3] >>> for i in iter(lst): ... print(i) ... 1 2 3