python-3.x - 为什么 __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 你分配了什么变量。
改变
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
是整数。
此外,您不必在开始课程时使用变量名,但这是帮助保持井井有条的专业提示。
推荐阅读
- windows - npm mkdirp 或 make-dir 在 Windows 中不起作用
- php - PHP SplFixedArray 错误或性能缓慢?
- python - 根据匹配的键:值对组合字典列表中的字典
- node.js - Sequelize 关系中的查询
- c# - 按空格分割字符串,需要说明
- sql - 如何显示我没有得到“在预期条件的上下文中指定的非布尔类型的表达式”的 2 个城市
- javascript - 错误:目标容器不是 DOM 元素 react /react-redux
- angular - 是否建议订阅管道内的商店(ngRx)?
- sprite-kit - 减少 SpriteKit 中的绘制次数(通过次数)
- c# - 给定用户输入的数组队列