python基础知识(七)常用模块----(五)
程序员文章站
2022-07-10 15:35:16
...
(七)常用模块----(五)
目录
7.1import
a.自己创建一个模块
b.导入demo模块,并执行demo内部函数
import demo
demo.open()
#打开成功!
c.同一个模块不会被多次导入
导入过程: 先从sys.modules里查看是否已经被导入 ,如果没有被导入,就依据sys.path路径取寻找模块,找到了就导入 , 创建这个模块的命名空间,执行文件,把文件中的名字都放到命名空间里
总结模块的查找顺序是:内存中已经加载的模块->内置模块->sys.path路径中包含的模块
import demo
import demo
import demo
#hello python
d.模块内部是一个独立空间,模块内部自己执行,不会因为使用者的使用改变模块自身的变量
import demo
a = 777
demo.open()
demo.a
#hello python
#打开成功! 666
#666
e.给模块重新命名:给有相同功的能不同模块起同一个名字,简化代码量
格式:import ... 模块名 as 重命名
#假如oracle和mysql都有写入功能
#根据用户的输入进行判断数据库的种类,就不用分开写两次写入功能了
if 数据库 == ‘oracle’:
import oracle as db
elif 数据库 == ‘mysql’:
import mysql as db
f.在一行导入多个模块
import demo1,demo2,demo3
7.2from...import
a.from...import...不会一次把模块里的所有文件导入,而是使用者根据需要导入,减少空间浪费
格式:from 模块 import 变量名
倒入后直接使用名字即可
from demo import open
open()
如果重新定义了引用的文件,模块里的同名文件就会被覆盖
from demo import open
def open():
print('11111111111111')
open()
'''
11111111111111
'''
b.同样可以使用重命名:from ... import ... as
c..同样可以使用多行导入:from demo import open1,open2
e.from my_module import * 把demo中所有的不是以下划线(_)开头的名字都导入到当前位置
__all__=['a']
from demo import *
print(a)
open()
#hello python
#666
#NameError: name 'demo' is not defined
#a可以被使用
#open()不可以
7.3 __name__
在模块中 有一个变量__name__
当我们直接执行这个模块的时候,__name__ == '__main__'
当我们执行其他模块,在其他模块中引用这个模块的时候,这个模块中的__name__ == '模块的名字'
import demo
print(__name__)
#demo
#__main__
上一篇: 基于http协议的Yum源