为什么__init __()缺少一个必需的位置参数?

时间:2019-07-05 03:37:41

标签: python-3.x

我正在读一本书以学习Python,然后尝试自己编写一些类,这会导致该错误。

我已经尝试更改代码中的某些内容,但似乎无济于事。

class Brands:

def __init__(self,name,price):
    self.name = name
    self.price = price

def check_high_price(self):
    if price > 100:
        print("The product has a high price!")


class Razer(Brands):
pass



razer_blackwidow_x_chroma = Razer("Blackwidow X Chroma")
razer_blackwidow_x_chroma_price = Razer(int(120))
print("Product Name: " + razer_blackwidow_x_chroma.name)
print("Product Price: " + razer_blackwidow_x_chroma.price)

我只是希望它能打印出产品的名称和价格,但这给了我这个错误:(TypeError: init ()缺少1个必需的位置参数:'price')

1 个答案:

答案 0 :(得分:0)

您必须告诉python您要分配什么变量。

更改

razer_blackwidow_x_chroma = Razer("Blackwidow X Chroma")
razer_blackwidow_x_chroma_price = Razer(int(120))

razer_blackwidow_x_chroma = Razer(name="Blackwidow X Chroma", price=120)

在处理整数时,您实际上并不需要使用int()。在带有小数的python数字中,例如:55.6是自动浮点数,而例如:120则是整数。

此外,在启动类时不必使用变量名,但这是帮助保持井井有条的提示。