我的问题是关于一个文件,它包含一个类,并且在这个类内部有一堆代码需要执行。
所以每当我导入该文件时,代码就会被执行,而不需要创建该类的对象!以下是示例:
文件X
class d:
def __init__(self):
print 'print this will NOT be printed'
print "this will be printed"
文件 B
import x
输出结果为这将被打印
,所以我的问题是如何跳过执行直到创建一个新对象?
__init__
里呢? - mgilsonprint
放在__init__
方法中呢?我认为__init__
可能是你要找的,因为根据定义,代码是在对象创建时运行的。 - Emmett Butlerclass d
的定义被构建(这样你就可以从B
中调用它)时,它会执行类内部的代码。通常这意味着你将设置类级别的变量并准备将未绑定的方法附加到实例上,但在你的情况下,它意味着该语句将被打印出来。比我更熟悉Python的人可以纠正我/更好地陈述这一点 :) - RocketDonkey