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

打印Python Person类属性时出现表达式含赋值语法错误如何解决

错误原因
  1. 直接触发报错的核心问题:你在print()函数的参数中写了unit.address=address,这是赋值操作,Python不允许在函数调用的参数表达式内执行=赋值,因此解释器抛出了对应错误,提示你是否想写==等值判断。
  2. 代码还存在两处隐藏问题,修复完打印语句后仍会报错:
  • 构造方法名拼写错误:Python的类构造方法是双下划线包裹的__init__,你当前写的单下划线_init_不会被识别为构造函数,实例化类时会直接报错。
  • 类变量修改逻辑错误:原代码中用unit.personNo += 1修改类变量personNo,实际会给每个实例单独创建一个personNo属性,不会修改全局的类变量计数。
修复方法

修正构造方法拼写、删除print语句中冗余的赋值内容、调整类变量修改逻辑即可,修复后的完整代码如下:

class Person:
    personNo = 0
    def __init__(unit, first_name, last_name, age, address):
            unit.personsfirstname = first_name
            unit.lastname = last_name
            unit.personsage = age
            unit.address = address
            Person.personNo += 1
    def ShowInfo(unit):
            print("Ονομα: " + unit.personsfirstname + " Επιθετο: " + unit.lastname + " Ηλικια: " + unit.personsage + " Οδος: " + unit.address)


person1 = Person("George", "Stefanopoulos", "55", "Alpha street 33")
person2 = Person("Μαρια", "Πενταγιωτισα", "25", "Παπαλαμπρενας 28")

# 测试打印功能
person1.ShowInfo()
person2.ShowInfo()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:06:02