class Animal: def __init__(self, animal): self.animal = animal def type(self, type=self.animal): print type
运行的时候出现 NameError: name 'self' is not defined?
NameError: name 'self' is not defined?
ringa_lee
方法參數的默認值是在函數定義的時候初始化的,而self指該class的實例化類,隻有實例化之後才有值,因此這裏編譯出錯(不是運行時錯誤)
如果打印的默認值非要設為self.animal的話,試試這樣:
class Animal(object): def __init__(self,animal): self.animal = animal def type(self,type=None): print type if type else self.animal
你還需要了解一下self,在類中哪裏可以訪問得到self,哪裏不可以!
方法參數的默認值是在函數定義的時候初始化的,而self指該class的實例化類,隻有實例化之後才有值,因此這裏編譯出錯(不是運行時錯誤)
如果打印的默認值非要設為self.animal的話,試試這樣:
你還需要了解一下self,在類中哪裏可以訪問得到self,哪裏不可以!