2024-04-25 03:38:06 发布
网友
下面两个导入语句有什么不同吗?还是一样?你知道吗
from package import * import package
区别在于对包使用了名称空间。你知道吗
from package import * class_in_package()
与
import package package.class_in_package()
from package import *将包中的所有内容导入本地名称空间;不建议这样做,因为这可能会引入不需要的内容(如覆盖本地名称空间的函数)。这是一个快速方便的导入工具,但是如果事情变得严重,应该使用from package import X,Y,Z或import package语法。你知道吗
from package import *
from package import X,Y,Z
import package
import package将包中的所有内容导入本地package对象。因此,如果包实现了something()函数,您将通过package.something()使用它。你知道吗
package
something()
package.something()
另外,应该讨论的另一件事是嵌套命名空间的情况:假设您有函数package.blabla.woohoo.func(),您可以import package.blabla.woohoo并使用package.blabla.woohoo.func(),但这太复杂了。相反,简单的方法是from package.blabla import woohoo,然后使用woohoo.func()或from package.blabla.woohoo import func,然后使用func()。我希望这有道理。如果没有,下面是一段代码来说明:
package.blabla.woohoo.func()
import package.blabla.woohoo
from package.blabla import woohoo
woohoo.func()
from package.blabla.woohoo import func
func()
import package.blabla.woohoo package.blabla.woohoo.func() from package.blabla import woohoo woohoo.func() from package.blabla.woohoo import func func()
希望这有帮助:)
区别在于对包使用了名称空间。你知道吗
与
from package import *
将包中的所有内容导入本地名称空间;不建议这样做,因为这可能会引入不需要的内容(如覆盖本地名称空间的函数)。这是一个快速方便的导入工具,但是如果事情变得严重,应该使用from package import X,Y,Z
或import package
语法。你知道吗import package
将包中的所有内容导入本地package
对象。因此,如果包实现了something()
函数,您将通过package.something()
使用它。你知道吗另外,应该讨论的另一件事是嵌套命名空间的情况:假设您有函数
package.blabla.woohoo.func()
,您可以import package.blabla.woohoo
并使用package.blabla.woohoo.func()
,但这太复杂了。相反,简单的方法是from package.blabla import woohoo
,然后使用woohoo.func()
或from package.blabla.woohoo import func
,然后使用func()
。我希望这有道理。如果没有,下面是一段代码来说明:希望这有帮助:)
相关问题 更多 >
编程相关推荐