本文主要介绍Python3.6.5标准库文档(完整中文版)---内置函数:delattr(),dict(),dir(),divmod()
delattr(object,name )
这是一个相对的setattr()。参数是一个对象和一个字符串。该字符串必须是对象属性之一 的名称。该函数删除指定的属性,只要该对象允许。例如,相 当于 。 delattr(x, 'foobar') del x.foobar
班dict(** kwarg ) 类dict(映射,** kwarg )
类dict(可迭代的,** kwarg )
创建一个新的字典。该dict对象是字典类。请参阅dict和映射类型 - dict有关此类的文档。
对于其他容器看到内置list,set以及 tuple类,还有collections模块。
dir([ object ] )
如果没有参数,则返回当前本地作用域中的名称列表。使用参数尝试返回该对象的有效属性列表。
如果该对象有一个名为的方法dir(),则该方法将被调用并且必须返回属性列表。这允许实现自定义getattr()或getattribute()功能的对象自 定义dir()报告其属性的方式 。
如果对象没有提供dir(),函数会尽最大努力从对象的dict属性(如果已定义)和 其类型对象中收集信息。结果列表不一定完整,并且在对象具有自定义时可能不准确 getattr()。
默认dir()机制对不同类型的对象的行为不同,因为它试图产生最相关的信息,而不是完整的信息:
- 如果对象是模块对象,则列表包含模块属性的名称。
- 如果对象是一个类型或类对象,则该列表包含其属性的名称,并递归地显示其基础的
属性。 - 否则,该列表包含对象的属性名称,其类属性的名称以及其类的基类的属性的递归。
结果列表按字母顺序排序。例如:
>>> dir() # show the names in the module namespace
['__builtins__', '__name__', 'struct']
>>> dir(struct) # show the names in the struct module
['Struct', '__all__', '__builtins__', '__cached__', '__doc__', '__file__',
'__initializing__', '__loader__', '__name__', '__package__',
'_clearcache', 'calcsize', 'error', 'pack',
'pack_into', 'unpack', 'unpack_from']
>>> class Shape:
... def __dir__(self):
... return ['area', 'perimeter', 'location']
>>> s = Shape()
>>> dir(s)
['area', 'location', 'perimeter']
注意: 由于dir()主要是为了便于在交互式提示下使用而提供,因此它会尝试提供一组 有趣的名称,而不是试图提供严格或一致定义的名称集,并且其详细行为可能会在各版本之间发生变化。例如,当参数是一个类时,元类属性不在结果列表中。
divmod(a,b )
以两个(非复数)数字作为参数,并在使用整数除法时返回由它们的商和余数组成的一对
数字。使用混合操作数类型时,适用二元算术运算符的规则。对于整数,结果与之相同。 对于浮点数的结果是,其中q通常是但可能比1小1。在任何情况下都非常接近a,如果非零,则它与b具有相同的符号,并且:
(a // b, a % b) (q, a % b) math.floor(a / b) q * b + a % b a % b 0 <= abs(a % b) < abs(b)