python基础学习(理解区分from...import和import)

1.在文件开头可以直接利用import导入python提供的一些内置模块比如说(time,re,os,sys,等等等)

import time # 倒入模块
time.sleep(5) #直接调用

2.from…import先看两段示例代码可以比较一下

import time
time.sleep(5)
from time import *
sleep(5)

通过这两段代码可以清楚的看到from…import相比较于import的简便,但是它也有自身的不足
比如说
1.容易跟之前定义的名字发生冲突

先定义了一个super.py模块

money=1000

def read1():
    print('这是super模块',money)

def read2():
    print('这是super模块')
    read1()
    
def anything(*args,**kwargs):
    res=('my name is %s'%(args))
    return res

然后调用super模块中的money变量

from super import *
money=10000
print(money)

可看到在super中已经定义了money=1000但是我在调用模块的时候有再一次定义了一个money=10000

2.无法直观的看到自己调用的函数。
当一个模块中的函数多到一定程度恰巧你要调用的函数数量有有点多,所以这时候不会用import去一个一个导入,会直接用(from…import *)正是因为这样导致了你无法正确的认识到哪些变量名字已经被调用,就很容易发生多个变量之间的名字重复,导致调用顺序发生错误

from …import…有一个模块查找顺序
内存以加载模块➡️内置模块➡️sys.path路径包含的模块

当调用到sys.path路径包含的模块时返回的第一个路径就是当前执行文件所在的文件夹

如有错误,请指教


版权声明:本文为qq_42992274原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。