说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
在 Python 中,definition.__name__
是一个特殊属性,用于获取函数或方法的名称,即 类、函数、方法、描述器或生成器实例的名称。
例如,对于一个简单的函数:
def my_function():
pass
print(my_function.__name__) # 输出 my_function
对于类方法:
class MyClass:
def my_method(self):
pass
print(MyClass.my_method.__name__) # 输出 my_method
这个属性通常用于获取函数或方法的名称,它在调试和元编程等场景中非常有用。
在 Python 中,特殊属性 __name__
的作用是提供一个模块或者脚本的名称。具体来说,__name__
属性的值取决于 Python 解释器如何加载模块或脚本。
当一个模块被直接执行时,__name__
的值为字符串 "__main__"
。这意味着 Python 解释器会把该模块作为主程序来执行。
# module.py
print(__name__)
# 如果直接运行 module.py,则输出 "__main__"
当一个模块被导入到另一个模块中时,__name__
的值为模块的名称。
# module.py
print(__name__)
# 如果被导入到其他模块中,则输出 "module"
这个特性可以用于区分模块是直接运行还是被导入到其他模块中,从而编写具有不同行为的代码。通常,在一个 Python 文件中,你会看到使用 if __name__ == "__main__":
的代码块来定义模块的主程序逻辑,这样做可以确保这部分代码仅在模块被直接执行时才会运行,而不会在模块被导入时运行。
例如:
# module.py
def main():
print("This is the main function.")
if __name__ == "__main__":
main()
在这个例子中,main() 函数只有当模块被直接执行时才会被调用,而被导入时不会执行。
https://docs.python.org/zh-cn/3/library/stdtypes.html#definition.__name__
更新时间:2024-03-02 08:59:25 标签:python 属性 特殊属性 名称