【发布时间】:2022-01-18 03:37:59
【问题描述】:
根据我的研究,对于在 Python 类中创建新对象,有几种方法可以传入 args。
name: str = None
name: Optional[str] = None
**kwargs
感觉效果差不多吧?即使我这样做name: str = 'John',我仍然可以跳过传递这个参数,但对象仍然会将John 作为年龄默认值。
所以我很好奇他们的区别是什么?也许他们在其他场景中有很大的差异
【问题讨论】:
-
注意可选的新样式语法是
str | None(也短一点) -
是的,但是
Optional与第一种方式有何不同? -
第一个语法,课外让我的 IDE 抱怨。尽管如此,仍然运行相同。
标签: python constructor arguments