遵循 python google-style-guide 时避免大文件
Avoiding huge files when following python google-style-guide
Google 样式指南需要导入模块。假设我有一个非平凡的 class 和几个非平凡的派生 classes。看来我必须把它们都放在一个文件中,否则在使用它们时将不得不使用不同的前缀。
我个人更喜欢每个文件一个 class。有没有一个常用的习惯用法来避免不必要的大文件?
例如只要没有名称冲突,我可以将多个导入重命名为一个吗?
import data_main as data
import data_derived_a as data
import data_derived_b as data
对于模块,不,据我所知,确实没有办法做到这一点。但是,如果您愿意将 class 放在一个包中的单独文件中,您可以在 __init__.py
中导入单独的 classes,并且您的客户端模块可以一次导入它们, 就像这样。
# mypackage/a.py
class A:
pass
# mypackage/b.py
class B:
pass
# mypackage/__init__.py
from .a import A
from .b import B
# mymodule.py
from mypackage import A, B
a = A()
b = B()
# Or mymodule.py
import mypackage as p
a = p.A()
b = p.B()
Google 样式指南需要导入模块。假设我有一个非平凡的 class 和几个非平凡的派生 classes。看来我必须把它们都放在一个文件中,否则在使用它们时将不得不使用不同的前缀。
我个人更喜欢每个文件一个 class。有没有一个常用的习惯用法来避免不必要的大文件?
例如只要没有名称冲突,我可以将多个导入重命名为一个吗?
import data_main as data
import data_derived_a as data
import data_derived_b as data
对于模块,不,据我所知,确实没有办法做到这一点。但是,如果您愿意将 class 放在一个包中的单独文件中,您可以在 __init__.py
中导入单独的 classes,并且您的客户端模块可以一次导入它们, 就像这样。
# mypackage/a.py
class A:
pass
# mypackage/b.py
class B:
pass
# mypackage/__init__.py
from .a import A
from .b import B
# mymodule.py
from mypackage import A, B
a = A()
b = B()
# Or mymodule.py
import mypackage as p
a = p.A()
b = p.B()