在Python类中检查属性的有效性

cha*_*jss 6 python

我应该在哪里编写代码来检查类属性的有效性?(例如:"amount"应为正整数,"email"应为具有正确电子邮件格式的字符串)在setter方法中,在某处我使用它(使用try/catch)或其他.

如果我在setter方法中检查有效性,它可能看起来很丑陋(如类型检查).但是如果我在使用它时检查它,重复的代码可能会在多次使用时出现.

(抱歉我的英语不好.)

Ned*_*der 4

如果您确实需要这样做,那么一定要在 setter 中进行。

首先,setter 的调用频率可能低于 getter,因此您所做的工作也更少。

其次,你能更早地发现问题。

第三,它保持对象的内部状态一致。排除不良数据意味着您知道您的对象是“正确的”。