本文主要介绍Python3.6.5标准库文档(完整中文版)---内置函数:delattr(),dict(),dir(),divmod()
这是一个相对的setattr()。参数是一个对象和一个字符串。该字符串必须是对象属性之一 的名称。该函数删除指定的属性,只要该对象允许。例如,相 当于 。 delattr(x, 'foobar') del x.foobar
创建一个新的字典。该dict对象是字典类。请参阅dict和映射类型 - dict有关此类的文档。 对于其他容器看到内置list,set以及 tuple类,还有collections模块。
如果没有参数,则返回当前本地作用域中的名称列表。使用参数尝试返回该对象的有效属性列表。 如果该对象有一个名为的方法dir(),则该方法将被调用并且必须返回属性列表。这允许实现自定义getattr()或getattribute()功能的对象自 定义dir()报告其属性的方式 。 如果对象没有提供dir(),函数会尽最大努力从对象的dict属性(如果已定义)和 其类型对象中收集信息。结果列表不一定完整,并且在对象具有自定义时可能不准确 getattr()。 默认dir()机制对不同类型的对象的行为不同,因为它试图产生最相关的信息,而不是完整的信息:
>>> import struct
>>> 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()主要是为了便于在交互式提示下使用而提供,因此它会尝试提供一组 有趣的名称,而不是试图提供严格或一致定义的名称集,并且其详细行为可能会在各版本之间发生变化。例如,当参数是一个类时,元类属性不在结果列表中。
以两个(非复数)数字作为参数,并在使用整数除法时返回由它们的商和余数组成的一对 数字。使用混合操作数类型时,适用二元算术运算符的规则。对于整数,结果与之相同。 对于浮点数的结果是,其中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)