84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
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,哪里不可以!