0

私は基本クラスを持っています

class Person(object):
    def __init__(self,name,age):
        self.name = name
        self.age = age
    def title(self):
        return self.name+str(self.age)

empid も属性である Employee クラスを取得するには、これをサブクラス化する必要があります

class Employee(Person):
    def __init__(self,*args,**kwargs,empid):
        Person.__init__(self, *args)
        self.empid= empid
    def title(self):
        return self.name+str(self.age)+self.empid

たとえば、Jon が empid="001" の従業員であるとします。

j = Employee('Jon',30,'001')
print j.title()

与えるべきJon30001

構文エラーが発生しました。サブクラス化が間違っていますか?

4

1 に答える 1

0

オプションの引数は、メソッド シグネチャの最後にある必要があります。元の投稿にもインデントの問題がありますが、投稿時のコピー/貼り付けエラーだったようです。以下はあなたにとってよりうまくいくはずです。

[編集]

class Person(object):
    def __init__(self,name,age):
        self.name = name
        self.age = age
    def title(self):
        return self.name+str(self.age)

class Employee(Person):
    def __init__(self,*args,**kwargs):
        Person.__init__(self, *args)
        self.empid= kwargs.get('empid')
    def title(self):
        return self.name+str(self.age)+self.empid

出力 ->

>>> j = Employee('Jon',30,empid="001")
>>> j.title()
'Jon30001'
于 2013-03-08T06:03:47.330 に答える