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

Python类实例化与方法调用报错排查(Google Colab环境)

问题分析与解决方案

错误原因拆解

  • 实例创建语法错误:size=2cm不符合Python语法规范,带单位的数值需以字符串形式传入,即size='2cm',否则会触发语法错误导致aly变量未被正确定义,进而出现NameError。
  • 实例方法调用错误:aly()是错误地将实例当作函数调用,正确的方法调用方式为直接通过实例名访问方法,即aly.learning()。
  • 文件打开模式错误:open('yg.txt')默认以只读模式(r)打开文件,无法执行写入操作,会触发PermissionError,需指定写入模式(如'w'覆盖写入或'a'追加写入)。
  • 无参数调用类构造器错误:删除aly变量后直接调用Prsone().learning(),未传入构造器要求的5个参数,导致TypeError(错误提示中的6个参数为误导,实际构造器仅需5个参数)。

修正后的完整代码

class Prsone():
    def __init__(self, name, size, he0or0she, age, Language) -> None:
        self.name = name
        self.size = size
        self.he0or0she = he0or0she
        self.age = age
        self.LGGE = Language

    def learning(self):
        x = input('میشه یک چیزی یادم بدی؟')
        # 使用追加模式打开文件,避免覆盖原有内容
        with open('yg.txt', 'a', encoding='utf-8') as f:
            f.write(x + '\n')  # 添加换行符,每条内容单独成行
        print('ممنون')

# 正确创建类实例
aly = Prsone(name='aly', size='2cm', he0or0she='AI', age='none', Language='fa-IR')
# 正确调用学习方法
aly.learning()

额外优化说明

  • 使用with语句管理文件上下文,无需手动调用close(),避免资源泄漏。
  • 指定encoding='utf-8',确保波斯语文本能正确写入文件。
  • 添加换行符\n,让每次输入的内容单独成行,提升文件可读性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 11:32:13