エラー:TypeError:'str'object is not callable,TypeError:'int'object is not callableなど

1612 ワード

まず、上記の理由を説明します.
TypeError:'str'object is not callable:strがシステムによって呼び出されないことです.
TypeError:'int'object is not callable:intがシステムに呼び出されないこと
なぜなら、呼び出せない変数やオブジェクトを呼び出しているのは、関数や属性変数を呼び出す方法が間違っているからです.あなたはdance(この名前は勝手に取ったもので、ネット上ではstrという列子とstr()関数として再名されていることが多く、あまりはっきり言っていませんが、特に説明します)という属性変数を定義し、dance関数を定義しています.dance関数を呼び出すと、上記のエラーが発生します.例:
#     
class life(object):
    
    #  dance    
    def __init__(self, dance, eat):
   
        self.dance = dance
        self.eat = eat
    
    #   dance()  
    def dance(self):
        return '  {} !'.format(self.dance)


    def eat(self):
        return '  {} !'.format(self.eat)


if __name__ == '__main__':

    someone = life(1, 3)
    #   dance()  
    a = someone.dance()
    print(a)

正しいコード:関数名と属性変数名だけが違うといいです
class life(object):

    def __init__(self, dance, eat):

        self.dance = dance
        self.eat = eat

    def dance_count(self):
        return '  {} !'.format(self.dance)


    def eat_count(self):
        return '  {} !'.format(self.eat)


if __name__ == '__main__':
    
    someone = life(1, 3)
    a = someone.dance_count()
    print(a)



#    

class life(object):

    def __init__(self, dance, eat):

        self.dance1 = dance
        self.eat1 = eat

    def dance(self):
        return '  {} !'.format(self.dance1)


    def eat(self):
        return '  {} !'.format(self.eat1)


if __name__ == '__main__':

    someone = life(1, 3)
    a = someone.dance()
    print(a)