首页 新闻 会员 周边

这个__main__是什么

0
[已关闭问题] 关闭于 2026-06-08 10:41
class Descriptor():
    def __get__(self, instance, owner):
        print("self: %s\ninstance: %s\nowner: %s" % (self, instance, owner))

class S:
    # 描述符的示例对象作为S的属性
    attr = Descriptor()

s1 = S()
s1.attr  # 访问对象属性

print("-" * 30)
S.attr   # 访问类属性
在你提供的输出信息中:

self: <__main__.Descriptor object at 0x030C02D0>

instance: <__main__.S object at 0x030C0AB0>

owner: <class '__main__.S'>

*Tesla*的主页 *Tesla* | 小虾三级 | 园豆:1726
提问于:2026-06-08 10:39
< >
分享
所有回答(1)
0

这里的 __main__ 表示 Descriptor 类和 S 类都是定义在当前作为主程序直接运行的这个 Python 脚本文件中的。Python 解释器在打印对象时,

通常会以 <模块名.类名> 的格式来显示对象的来源,因为你的代码是在主程序中执行的,所以模块名就显示为了 __main__
每个 Python 模块(文件)都有一个名为 __name__ 的内置变量,它的值取决于该模块是如何被使用的:
  1. 直接运行时:如果你直接在终端运行某个 Python 文件(例如 python script.py),Python 会将该文件的 __name__ 变量自动设置为 "__main__"
  2. 被导入时:如果这个文件是被其他文件通过 import 语句引入的,那么它的 __name__ 会被设置为该文件的文件名(去掉 .py 后缀)
*Tesla* | 园豆:1726 (小虾三级) | 2026-06-08 10:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册