python错误未定义NameError名称

时间:2013-12-29 07:13:55

标签: python nameerror

class Bird :

    '''A base class to define bird properties.'''

    count = 0
    def_init_( self , chat ) 
    self.sound = chat
    Bird.count += 1
    def talk( self ) :
    return self.sound

NameError: name 'def_init_' is not defined

我尝试在'init'的两侧使用2个下划线

3 个答案:

答案 0 :(得分:2)

这看起来像一个简单的拼写错误。你错过def之后的空格 - 它应该是:

def __init__(self, chat):

答案 1 :(得分:1)

你的脚本实际上有很多错误     1 GT;缩进     2 - ; def之后给予空间     3 GT; def init 后冒号(自我,聊天)        按照规则然后一切都会好的....

class Bird :

    '''A base class to define bird properties.'''

    count = 0
    def __init__( self , chat ): 
        self.sound = chat
        Bird.count += 1

    def talk( self ):
        return self.sound

答案 2 :(得分:1)

您需要将_init_功能更改为def __init__(self, chat):

__被称为 dunder ,是“双下划线”的缩写。我们通常使用这种魔术方法,如实例化。例如,[]将被称为__get__

每当您看到 dunder 时,您就知道它有特殊用途。