python类出错 NameError: name 'self' is not defined
ringa_lee
ringa_lee 2017-04-17 11:11:27
0
2
1069
class Animal:
    def __init__(self, animal):
        self.animal = animal

    def type(self, type=self.animal):
        print type

运行的时候出现 NameError: name 'self' is not defined?

ringa_lee
ringa_lee

ringa_lee

全部回覆(2)
Peter_Zhu

方法參數的默認值是在函數定義的時候初始化的,而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,哪裏不可以!

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板