Python模块内置属性详解与实例演示

橘子海
橘子海
发布时间:2026-10-14 | 4人浏览过
原创

本文详细解析Python模块中的内置属性,包括__doc__、__name__、__file__等常用属性及其作用。通过import导入方式、dir()方法获取属性列表以及具体代码实例,帮助开发者深入理解模块内部机制,掌握查看和使用内置属性的技巧。

在讨论Python模块时,部分开发者容易将内置属性误认为普通函数,二者存在本质区别,此处需明确界定。这些内置属性通常以双下划线包裹,是Python模块内部机制的体现。下文将对内置属性进行详细说明,列举几种常见的内置属性方法,并提供具体实例供参考。

1、说明

一种常见的导入方式是利用import语句,将模块内的函数或变量名称直接引入到当前操作的模块中。

2、内置属性

  • __doc__:用于存储模块描述信息的文档字符串。
  • __name__:表示当前模块的名称。
  • __file__:记录模块文件保存的完整路径。
  • __dict__:包含类属性的字典,由类的数据属性组成。
  • __module__:指示类定义所在的模块名称。例如,若类位于导入模块mymod中,则className.__module__的值等于mymod;若类在__main__中定义,则其全名为'__main__.className'。
  • __bases__:包含类所有父类元素的元组,用于表示类的继承关系。

3、实例


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__、__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__是可以直接使用的,其它的内置属性一般不允许直接使用。

至此,关于Python模块内置属性概念及实例的介绍完毕。如需了解更多关于Python模块内置属性的内容,建议查阅本站过往文章或继续浏览后续相关文章,感谢支持。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表