关于impot ... 和 from ... import ...(*) 的区别
用到了两种导包模式
import random
ls = list("abcd")
shuffle(ls) # 此处报错Unresolved reference "shuffle"
"""运行报错:NameError: name 'shuffle' is not defined"""
百度后发现,使用import导入时,仅仅导入了该模块这个文件夹,是相对路径,使用模块中的函数还需要加上模块的名字,所以上述代码中
import random
ls = list("abcd")
random.shuffle(ls)
这样就不会有问题了
还可以简化模块名,如:
import random as rd
ls = list("abcd")
print(rd.choice(ls))
# 输出a
如果使用的是from ... import ... ,此时再使用模块中的函数则可以不用加上模块名,可以直接用调用函数名
from import 导包的原理是绝对路径,因此可以直接使用