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

Python类内调用pLink函数报‘未定义’错误,求助排查

问题原因与解决方法

你忽略了Python中类成员方法的调用规则:类内部定义的pLink是实例方法,必须通过类的实例对象来调用,不能直接全局调用。

具体问题

当你在类内定义pLink后,如果直接写pLink(),Python会在全局作用域中查找这个函数,但它是Book类的成员,不属于全局作用域,所以会报“未定义”错误。而把它移出类后,它变成了全局函数,直接调用自然能正常运行。

修正方法

调用类的实例方法时,必须通过创建好的实例(比如你定义的b1)来访问,格式为实例名.方法名():

# 在创建b1之后添加调用代码
print(b1.pLink())

补充说明

另外你的代码里a1.name未定义,运行时也会报错,需要先定义a1对象或者直接传入作者名字字符串,比如替换成"Wilson Rawls"。

内容的提问来源于stack exchange,提问作者Bheese

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 11:20:28