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}))) # 字典
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
05-11 22:49