python - 为什么类在未启动时会得到 "called"? - Python

标签 python python-2.7

例如,在下面的代码中:

class test:
    print "Hi"

Python 会自动打印'hi'。抱歉,如果这是一个明显的问题,但我无法找出为什么 Python 会这样做,除非启动了“测试”对象。 * 我几个月前才开始一般编程,Python 是我的第一语言,所以请宽恕我。

最佳答案

你正在构建一个类;类的主体作为构建定义的函数执行。该“函数”的本地 namespace 构成了构成该类的一组属性。查看class statement文档。

类主体中的方法不会被执行;像函数定义一样,你需要先调用它们。但是如果你不先调用类体,你根本不知道这个类有哪些方法。

以同样的方式,当您导入一个模块时,模块中的任何顶级代码都会被执行,以形成模块命名空间。如果将 print "Hi" 放在模块中,它也会立即执行。

关于python - 为什么类在未启动时会得到 "called"? - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16885737/

相关文章:

python - while 在 for 循环中循环获取列表列表

python - 如何通过特定层的 TensorFlow 模型传递嵌入数据?

python - TensorFlow中标准化函数的作用是什么?

python - 将 Python 脚本作为 exe 运行而不显示命令窗口

python - python中两个列表混合的Round Robin方法

python - 如何将列表转换为 ASCII

python - 连接两个不相等的数据框

python - 如何检查以确保 blob_service.put_block_blob_from_path() 在 python 中成功?

python - 分配字母数值

python - 随机 "pythonw.exe has stopped working"崩溃