我看到在sqlalchemy中定义一个类,流行的模式是将用户的变量(如名称,密码,电子邮件等)以默认值None传递给构造函数。 但在其他课程(如博客的帖子)中,他们没有定义默认值。
所以要明确: 为什么定义默认值以及为什么没有?
答案 0 :(得分:0)
以下是您可能希望将None
用作默认参数的一些原因
这特别适用于SqlAlchemy,因为您可能有一个默认值为NULL
的数据库列
使用可变的默认值(如列表)可能会导致不可预测的行为。您可以提供默认值None
,以便更改可变参数的范围并避免这些问题。
在python 2中,强制所有参数成为关键字的唯一方法是将它们定义为关键字参数,没有位置参数。