我对Python一般都很陌生.
我知道我可以在同一个.py文件中创建多个类,但我想知道是否应该在自己的.py文件中创建每个类.
例如,在C#中,我将有一个处理所有数据库交互的类.然后是另一个有业务规则的类.
这是Python的情况吗?
Tho*_*ers 30
不是.典型的Python风格是将相关的类放在同一个模块中.可能是一个类最终存在于它自己的模块中(特别是如果它是一个大类),但它本身不应该是一个目标.当你这样做时,请不要在课后命名模块 - 你最终会让自己和其他人混淆哪些是哪个.
每个.py文件代表一个模块,因此您应该将函数,常量和类的逻辑组保存在同一个文件中.
.py文件中的每个类都只会在模块表中创建史诗膨胀,因为如果你只对一个类感兴趣,你仍然可以
from whatever import SomeClass
Run Code Online (Sandbox Code Playgroud)
我不同意其他人的说法,是的。对我来说,将每个类放在自己的文件(模块)中效果更好。但是也有例外,所以让我举一个例子来解释。
如果您有Foo类,则将其放入名为Foo.py的文件中,其中包含以下部分:
import math,from Bar import *__all__ = ['Foo']PI = 3.14159表示您可以编写PI,而如果您在类Foo中定义它,则需要编写Foo.PI。@staticmethods内部类和内部类,因此它们可能很少见。def print_foo(foo): print(foo)class Foo(object): pass有时您可能想在同一模块中放置多个类。当两个或多个类在概念上与几乎总是一起使用它们而从未独立使用它们有关时,应该执行此操作。这是例外,不是常规。在这种情况下,请将所有类名添加到__all__全局名。
最后,对于每个模块Foo.py,都应该有一个名为testFoo.py的相应单元测试模块。
| 归档时间: |
|
| 查看次数: |
16572 次 |
| 最近记录: |