次のような2つのファイルがあります
file1.py
class A:
def method1:
a = 5
file2.py
class B
def method2:
from file1 import A
a = 10
ロジックは忘れてください。これは単なる例です。コードで a の値を操作したいと考えています。これを行うと、「グローバル名 a が定義されていません」というエラーが表示されます。どうすればこの問題を解決できますか。どんな助けでも大歓迎です
次のような2つのファイルがあります
file1.py
class A:
def method1:
a = 5
file2.py
class B
def method2:
from file1 import A
a = 10
ロジックは忘れてください。これは単なる例です。コードで a の値を操作したいと考えています。これを行うと、「グローバル名 a が定義されていません」というエラーが表示されます。どうすればこの問題を解決できますか。どんな助けでも大歓迎です
それを定義した方法は、そのメソッドのローカル変数です。あなたが欲しいのはself.a...
file1.py
class A:
def method1:
self.a = 5
file2.py
from file1 import A
class B:
def method2:
objecta = A()
objecta.a = 10
しかし、あなたのコメントを読むと、あなたが実際に望んでいるものは別のものです。
Class A:
def __init__(self):
self.a = 5
def logic(self):
do some stuff...
Class B:
def solve(self):
first = A()
first.logic()
second = A()
second.logic()
etc...
クラスでそれを行うポイントは、クラスの複数のインスタンスを作成できることです。init 関数は、ベースラインに基づいてそのクラスのオブジェクトを作成します。そのため、A オブジェクトを作成するたびに、元の設定で開始されます。