我正在读一本书以学习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')
答案 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
则是整数。
此外,在启动类时不必使用变量名,但这是帮助保持井井有条的提示。