为什么这个看似多余的Python导入语句是必要的?

问题描述 投票:0回答:1

Python 3.12 代码片段:

import paho
import paho.mqtt.client  # line 2

client = paho.mqtt.client.Client(paho.mqtt.enums.CallbackAPIVersion(2))

当第 2 行被注释掉时失败。

paho
模块由第一行导入。我在最后一行使用全名
paho.mqtt.client.Client
。为什么看似多余的
import paho.mqtt.client
是必要的?

有没有办法导入

paho.mqtt
模块,以便它可以用来缩短
paho.mqtt.client.Client
paho.mqtt.enums.CallbackAPIVersion
名称?

python python-3.x python-import
1个回答
0
投票

https://realpython.com/python-modules-packages/#python-packages

从技术上讲,您也可以导入包

但这并没有多大用处。虽然严格来说,这是一个语法正确的 Python 语句,但它并没有做任何有用的事情。特别是,它不会将 pkg 中的任何模块放入本地命名空间中:

导入

paho
包不会导入
mqtt
子包或
client
模块。

第 1 行,

import paho
是不必要的导入。

© www.soinside.com 2019 - 2024. All rights reserved.