0

私は Python の初心者です。この質問が役に立たないことはわかっています。しかし、自分の問題に不満を感じています。基本クラスで 2 つのメソッドが定義されていAnimalsます。継承したクラスで基本メソッドを呼び出そうとすると、次のエラーが表示されます。 NameError: name 'display_name' is not defined

class Animals():
    def display_name(self):
        print ('Name is Mr.X')        
    def display_age(self):
        print('Age is 25')    
class Name(Animals):
    display_name(self)
class Age(Animals):
    display_age(self)

n=Name()
a=Age()
n.display_name()
a.display_age()
4

1 に答える 1

2

引数として渡すのではなくdisplay_name、接頭辞を付けて関数を参照する必要があります。selfself

display_nameまた、アンチモニーが指摘したように、クラスのインスタンスに関連付けられた関数内 (引数を受け入れる関数内) から fromを呼び出す必要がありますself

メソッド関数の外側にあるがクラスの内側にあるコードは、そのクラスの特定のインスタンスではなく、クラス全体に関連付けられていselfます。このコンテキストで変数を使用しても意味がありません。クラスから複数のオブジェクトを作成した場合、どのオブジェクトが参照するかに?

class Animals():
    def display_name(self):
        print ('Name is Mr.X')

    def display_age(self):
        print('Age is 25')    

class Name(Animals):
    def call_display_name(self):
        self.display_name()

class Age(Animals):
    def call_display_name(self):
        self.display_age()

Name().call_display_name()
于 2013-04-09T13:01:28.823 に答える