首页 > 解决方案 > 为什么 __init__() 缺少一个必需的位置参数?

问题描述

我只是在读一本书来学习 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')

标签: python-3.x

解决方案


你必须告诉 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数字中, ex:55.6自动是浮点数,整数 ex:120是整数。

此外,您不必在开始课程时使用变量名,但这是帮助保持井井有条的专业提示。


推荐阅读