为什么传python构造变量默认None?
Why pass python construct variables with default None?
我看到在 sqlalchemy 中定义了一个 class,流行的模式是将默认值 None 的用户变量,如名称、密码、电子邮件等传递给构造函数.
但在其他 classes(如博客帖子)中,它们没有定义默认值。
所以要清除:
为什么定义默认值以及为什么 None ?
以下是您可能希望使用 None
作为默认参数的几个原因
其实就是你想要的默认值
这尤其适用于 SqlAlchemy,因为您可能有一个默认值为 NULL
的数据库列
你想要一个可变的默认值
使用可变默认值(例如列表)可能会导致不可预知的行为。您可以提供默认值 None
以更改可变参数的范围并避免这些问题。
您想强制使用关键字参数
在 python2 中,强制所有参数成为关键字的唯一方法是将它们定义为关键字参数,没有位置参数。
我看到在 sqlalchemy 中定义了一个 class,流行的模式是将默认值 None 的用户变量,如名称、密码、电子邮件等传递给构造函数. 但在其他 classes(如博客帖子)中,它们没有定义默认值。
所以要清除: 为什么定义默认值以及为什么 None ?
以下是您可能希望使用 None
作为默认参数的几个原因
其实就是你想要的默认值
这尤其适用于 SqlAlchemy,因为您可能有一个默认值为 NULL
你想要一个可变的默认值
使用可变默认值(例如列表)可能会导致不可预知的行为。您可以提供默认值 None
以更改可变参数的范围并避免这些问题。
您想强制使用关键字参数
在 python2 中,强制所有参数成为关键字的唯一方法是将它们定义为关键字参数,没有位置参数。