在python中从导入的模块声明类

gkn4icbw  于 2022-12-25  发布在  Python
关注(0)|答案(2)|浏览(148)

在python中你必须使用

import <module>

以导入包含类的文件。
假设模块包含多个类
现在我要声明一个对象

x = module.object1Name(parameter1,parmeter2)

如何声明该对象而不必通过模块访问它?(如下所示)

x = object1Name(parameter1,parameter2)

我也不想使用下面的代码,因为这意味着我必须为每门课都这样做。

from <module> import <objectName>
cpjpxq1n

cpjpxq1n1#

您可以使用以下语句,该语句将导入模块中的所有内容:

from <module> import *

但这不是一个好的做法,原因如下:

  • 您的代码必须仅导入您使用的内容。
  • python的禅宗说“显式比隐式好”,所以如果你想要使用某个东西,你需要显式地导入它。
  • 提高代码的可读性。

我建议在你想使用的地方使用显式导入。

from <module> import <object1>, <object2>

或者,如下所示:

from <module> import (
    <object1>,
    <object2>,
    <object3>,
    <object4>
)
pod7payv

pod7payv2#

可以使用逗号和括号组合多个from <module> import <objectName>语句。
例如:
from <module> import <objectNameA>, <objectNameB>

from <module> import (<objectNameA>, <objectNameB>)
后者将跨多个行工作(ref)。
使用import * from <module>(从<module>导入所有内容)is bad,因为它有重写其他模块中的函数、类和变量的风险,并且违反了Zen of Python "最好是显式的"的价值。

相关问题