私が作成した関数の外でインスタンス/オブジェクトを参照できないのですが、どうすればこの問題を解決できますか?作成した関数外のインスタンス/オブジェクトを参照できないのはなぜですか?
簡体コード:
class MyClass:
def PrintThis(self):
print ("Hello World")
def MyClassPrinter():
x = MyClass()
x.PrintThis() #This Works
MyClassPrinter()
x.PrintThis() #This "is not defined"
これはとして出てくる:元のコードでは、それが実際にので、私は機能を削除するか、関数外で初期化することはできません
Hello World
Traceback (most recent call last):
File "C:\User\Desktop\test.py", line 19, in <module>
x.PrintThis() #This "is not defined"
NameError: name 'x' is not defined
何か。
これが愚かな質問であるか、既に別の場所で回答されている場合はお詫び申し上げます。
'MyClassPrinter()'を外側のスコープ内の 'x = MyClassPrinter()'に置き換えます。 'def MyClassPrinter'内で作成したインスタンスと同じインスタンスを参照する場合は、' global x'をメソッド。 – ZdaR