gpt4 book ai didi

python - Python中模块和类的区别

转载 作者:IT老高 更新时间:2023-10-28 20:25:40 26 4
gpt4 key购买 nike

我可以为模块中的变量赋值吗?如果是,类和模块有什么区别?

PS:我是一个 Java 人(以防它有助于解释)。谢谢。

最佳答案

Python 中的类和模块之间存在巨大的差异。

类是允许您创建具有属性和绑定(bind)功能的实例的蓝图。类支持继承、元类和描述符。

模块不能做任何这些,模块本质上是内部 module 类的单例实例,它们所有的全局变量都是 module实例。您可以根据需要操作这些属性(添加、删除和更新),但要考虑到这些属性仍然构成该模块中定义的所有代码的全局命名空间。

从 Java 的角度来看,类在这里并没有什么不同。然而,模块可以包含不止一个类;函数和任何其他 Python 表达式的结果也可以是模块中的全局变量。

所以作为一般性的指导方针:

  • 使用类作为建模您的问题域的对象的蓝图。
  • 使用模块将功能收集到逻辑单元中。

然后将数据存储在对您的应用程序有意义的位置。全局状态进入模块(函数和类也是全局状态,在开始时加载)。其他所有内容都进入其他数据结构,包括类的实例。

关于python - Python中模块和类的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43183244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com