この方法で単純なクラス階層に super() を使用しようとしています:
class Employee(object):
def __init__(self, name):
self.name = name
class FullTime(Employee):
def __init__(self, name, satOff, freeDays=[], alDays=[], programDays=[]):
global satsOffDict
global dayDict
super(Employee, self).__init__(name)
ただし、次のエラーが発生します。
TypeError: object.__init__() takes no parameters
スーパーが機能するためには、親オブジェクト タイプ オブジェクト (新しいスタイル クラス) を作成する必要があることを読みました。クラス Employee(object) をクラス Employee() に変更すると、次のエラーが発生します。
TypeError: must be type, not classobj
どうしたの?