Python 类方法中修改属性值为何会有蹊跷?
类方法中修改属性值的蹊跷
在 Python 类中,我们使用方法来操作对象属性。然而,当修改属性值时,却出现了一些意料之外的问题。
+= 语句:一个语句而非表达式
在 Dog 类中,a(self, c) 方法中使用了 += 语句来修改属性值。但如果在 self 前加上 return,编译器将报错。这是为何?
这是因为 += 语句是一种语句,而不是表达式。return 只能返回表达式,而语句无法返回任何值。+= 语句的作用是将当前属性值加上一个指定的增量。
return:必须明确指定返回值
相反,sit(self) 方法中使用了 return 语句来返回一个字符串。如果将 return 替换为 print(),则结果将显示为 None。这是因为如果没有明确指定返回值,Python 默认返回 None。
因此,在 sit(self) 方法中,我们必须使用 return 语句明确指定要返回的字符串值。
以上就是Python 类方法中修改属性值为何会有蹊跷?的详细内容,更多请关注其它相关文章!