Heim  >  Fragen und Antworten  >  Hauptteil

Python-Befehl __str__() Nimmt 0 Positionsargumente an, aber 1 wurde angegeben

# -*- coding:gb2312 -*-
class car:
    # 属性
    
    # 方法
    def __str__():
        print("哈哈哈哈哈哈啊哈")
    
    def move():
        print("车在移动。")
    def Whistle():
        print("车载鸣笛。")

BMW = car()

print(BMW)

Fehlermeldung:

Google hat es übersetzt und gesagt, dass es 0 Positionsparameter annimmt, aber es hat 1 ergeben.
Ich verstehe nicht ganz, was das bedeutet.

扔个三星炸死你扔个三星炸死你2682 Tage vor1912

Antworte allen(1)Ich werde antworten

  • PHP中文网

    PHP中文网2017-06-15 09:24:17

    class里面定义的函数, 都需要提供一个self的位置参数, 因为在类实例化时, 会传入实例对象, 进而和函数进行绑定, 所以代码应该调整为:

    # -*- coding:gb2312 -*-
    class car:
        # 属性
    
        # 方法
        def __str__(self):
            return ("哈哈哈哈哈哈啊哈")
    
        def move(self):
            print("车在移动。")
    
        def Whistle(self):
            print("车载鸣笛。")
    
    
    BMW = car()
    
    print(BMW)

    对于 methodfunction的关系可以参考我的文章: Python: 函数与方法的区别

    Antwort
    0
  • StornierenAntwort