(编辑:jimmy 日期: 2024/12/27 浏览:2)
我们在讲模块的时候,有些人看到了内置属性,就把它们当做函数,其实还是有区别的,这里需要为大家进行明确。我们所看到的函数两边带有双下划线,这是python模块中内置属性的体现。下面我们就内置属性进性说明,并列出几种内置属性的方法,最后带来实例供大家体会。
一种导入的方法,可以使用 import 直接把模块内(函数,变量的)名称导入到当前操作模块。
print(__doc__) print(__file__) print(__name__)
内容扩展:
查看模块的内置属性
# test.py # -*- coding: utf-8 -*- """ some doc """ import os var1 = None class Person(object): pass if __name__ == "__main__": print(dir()) # ['Person', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'os', 'var1']
通过dir()方法我们可以获取到该模块的所有的显式或隐式的属性或方法;可看到隐式的属性有__annotations__,__builtins__,__cached__,__annotations__,__doc__,__file__,__loader__,__name__;
我们打印一下每个魔法属性:
print(__name__) # __main__ print(__annotations__) # {} print(__builtins__) # <module 'builtins' (built-in)> print(__cached__) # None print(__doc__) # some doc print(__file__) # .../test.py print(__loader__) # <_frozen_importlib_external.SourceFileLoader object at 0x000002398E831F28> print(__package__) # None print(__spec__) # None # 其中__name__、__doc__、__file__、__package__是可以直接使用的,其它的内置属性一般不允许直接使用。