gpt4 book ai didi

python - 避免在 python 中重复键入类名

转载 作者:太空狗 更新时间:2023-10-29 20:11:11 25 4
gpt4 key购买 nike

这似乎是一个愚蠢的问题,但我一直无法在任何地方找到答案。在我的各种包中,我有一组模块,通常每个模块包含一个类。当我想创建一个类的实例时,我必须引用它两次:

例子:包/obj.py:

class obj(object):
pass

文件.py:

import package.obj
my_obj = package.obj.obj()

有没有一种方法可以重新组织我的代码,这样我就不必输入两次名称?理想情况下,我只想输入 package.obj()。

最佳答案

Python 不是 Java。随意将多个类放入一个文件中,然后根据类别命名文件:

import mypackage.image

this_image = image.png(...)
that_image = image.jpeg(....)

如果您的类太大,您希望将它们放在单独的文件中以减轻维护负担,这很好,但是您不应该给您的用户(或者您自己,如果您使用自己的包;)造成额外的痛苦。将您的公共(public)类收集到包的 __init__ 文件(或类别文件,例如 image)中以呈现一个相当扁平的命名空间:

我的包的__init__.py(或image.py):

from _jpeg import jpeg
from _png import png

我的包的_jpeg.py:

class jpeg(...):
...

我的包的_png.py:

class png(...):
...

用户代码:

# if gathered in __init__
import mypackage
this_image = mypackage.png(...)
that_image = mypackage.jpeg(...)

或:

# if gathered in image.py
from mypackage import image
this_image = image.png(...)
that_image = image.jpeg(....)

关于python - 避免在 python 中重复键入类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19010969/

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