针对import xxx还是from xxx.yyy.zzz.www import qqq,要不就是一个模块(对应到.py 文件的文件名),或者是某个.py 文件中的函数名、类名、变量名。
针对import xxx还是from xxx import yyy,你导入进来的都不能是一个文件夹的名字。
无论是使用import还是from import,第一个要求是代码能够正常运行,其次,根据代码维护性,团队编码风格来确定选择哪一种方案。
如果我们只会使用到某个模块下面的一个函数(或者常量、类)并且名字不会产生混淆,可识别性高,那么from 模块名 import 函数名这没有什么问题。
如果我们会用到一个模块下面的多个函数,或者是我们将要使用的函数名、常量名、类名可能会让人产生混淆(例如 re.S、re.I),那么这种情况下,import 模块名然后再用模块名.xxx来调用会让代码更加清晰,更好维护。
但无论什么情况下,都禁止使用from xxx import *这种写法;