【发布时间】:2020-12-25 11:40:52
【问题描述】:
我正在阅读文档,关于类的 python 教程,我发现这一行非常混乱。 Here
与模块一样,类具有 Python 的动态特性:它们是在运行时创建的,并且可以在创建后进一步修改。
“类参与 Python 的动态特性”是什么意思:它们是在运行时创建的?为什么模块是这样的? 到目前为止,我对类的了解是它们被创建为,
class Democlass():
pass
我是在运行时创建它吗?谷歌搜索后我发现Here 可以通过下面的代码在运行时创建类,但我不明白为什么它表示为运行时创建而上面的代码不是,两者有什么区别?
cls = type('A', (object,), {'__doc__': 'class created by type'})
print(cls)
print(cls.__doc__)
“python 的动态特性”与其“运行时”之间的联系是什么? 如果有人提供帮助,我将不胜感激。 提前致谢。
【问题讨论】:
-
这意味着
class是Python中的一个可执行语句,不像编译语言中类在执行开始之前驻留在编译代码中。 -
@BoarGules 用于创建类的这两段代码是否相同?我的意思是,他们在做同样的事情吗?
-
确实可以,但是第二种方法可以让您在运行时确定类名,例如响应用户输入。这是框架作者所做的事情。像我们这样的普通凡人使用
class声明。 -
谢谢。您能解释一下,运行时是什么意思吗?
-
运行时是您键入
python.exe mycode.py的时间。在此之前,这些类不存在。
标签: python class object dynamic runtime