文章目录
Python 类中,凡是以双下划线 “__” 开头和结尾命名的成员(属性和方法),这些特殊成员存在着一些特殊含义,都被称为类的特殊成员(特殊属性和特殊方法)。
我们把特殊属性也可以称之为魔法属性,或者内置类属性。
1、__name__
属性
__name__
是用来标识模块名字的一个系统变量。
这里分两种情况:
- 第一种情况指的是当前运行的模块,那么当前模块
__name__
的值就为__main__
。 - 第二种情况指的是该模块是使用
import
导入的模块,那么这个被导入模块的__name__
变量的值为该模块的文件名(去掉.py)。
示例:
Demo1.py
文件
# 在当前文件中直接调用__name__属性
def my_func():
print("我的模块名是", __name__)
# __name__属性在模块中可直接调用
# 在当期模块中调用
# 结果:我的模块名是 __main__
if __name__ == "__main__":
my_func()
Demo2.py
文件
# 导入Demo1模块,使用模块中的my_func()方法
from Demo1 import *
# 执行my_func()方法
# 结果:我的模块名是 Demo1
my_func()
2、__bases__
属性
Python 为所有类都提供了一个__bases__
属性,通过该属性可以查看该类的所有直接父类,该属性返回所有直接父类组成的元组。&