私はユーザーから名前を取得するシンプルなクラスAを持っています。別のクラスのクラス変数にアクセスする
class A:
def __init__(self, name = ''):
self.name = name
次に、この名前を印刷するクラスBを作成します。私が試した:
class B:
def print_name(printing_name = A.name):
print(printing_name)
は、その後、私はこれらのメソッドを呼び出す:これは
Traceback (most recent call last):
File "so.py", line 5, in <module>
class B:
File "so.py", line 7, in B
def print_name(printing_name = A.name):
AttributeError: class A has no attribute 'name'
は私がクラスAのクラス変数を割り当てていなかったことを知っているエラーを返します
m1 = A("x")
B.print_name(m1)
をし、したがって、name属性は、クラス全体ではなく、特定のインスタンスになります。ただし、name属性は、大文字と小文字が異なるため、すべての特定のインスタンスに接続する必要があります。では、クラスBでこの名前をどうすればいいですか?
は 'ここself.name'は、インスタンスのプロパティではなく、クラス属性です。ここで何を達成しようとしましたか? –