You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python OOP中Book类No_Pages方法缺少位置参数报错排查

问题解决

报错原因

  1. No_Pages方法参数冗余:你已经在初始化时把Words和Font_size存入实例属性中,调用该方法无需再传入这两个参数,不传就会触发参数缺失报错。
  2. 初始化参数顺序错误:你创建实例时写的Book(300,12),但__init__方法的参数顺序是Font_size在前、Words在后,导致实际赋值时Font_size=300、Words=12,完全和预期相反。
  3. 多余的pass语句:这些pass没有实际作用,属于冗余代码。

修正后的代码

class Book():
    # 调整参数顺序,匹配你传参的逻辑:先Words后Font_size
    def __init__(b1, Words=300, Font_size=12):
        b1.Words = Words
        b1.Font_size = Font_size

    # 移除多余参数,直接调用实例自身的属性计算页数
    def No_Pages(b1):
        # 用//得到整数页数,保留小数的话换成/即可
        return b1.Words // b1.Font_size

cyn_Book = Book(300,12)
print(cyn_Book.Font_size)
print(cyn_Book.Words)
print(cyn_Book.No_Pages())

运行结果

12
300
25

注:你提到预期页数为15,按当前Words/Font_size的逻辑,300÷12=25。如果要得到15,要么把Font_size改为20(比如Book(300,20)),要么调整No_Pages的计算公式(比如你可能想以Font_size关联每页容量,需要补充对应逻辑)。

内容的提问来源于stack exchange,提问作者python-trude19

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 03:31:05