php中文网

Python 类方法中修改属性值为何会有蹊跷?

php中文网

类方法中修改属性值的蹊跷

在 Python 类中,我们使用方法来操作对象属性。然而,当修改属性值时,却出现了一些意料之外的问题。

+= 语句:一个语句而非表达式

在 Dog 类中,a(self, c) 方法中使用了 += 语句来修改属性值。但如果在 self 前加上 return,编译器将报错。这是为何?

立即学习“Python免费学习笔记(深入)”;

这是因为 += 语句是一种语句,而不是表达式。return 只能返回表达式,而语句无法返回任何值。+= 语句的作用是将当前属性值加上一个指定的增量。

return:必须明确指定返回值

相反,sit(self) 方法中使用了 return 语句来返回一个字符串。如果将 return 替换为 print(),则结果将显示为 None。这是因为如果没有明确指定返回值,Python 默认返回 None。

因此,在 sit(self) 方法中,我们必须使用 return 语句明确指定要返回的字符串值。

以上就是Python 类方法中修改属性值为何会有蹊跷?的详细内容,更多请关注php中文网其它相关文章!