python的模块和包
一个py文件就可以作为一个模块
模块的导入:直接导入文件的名字,不需要带着后缀
模块中的函数调用:模块名.函数名()
导入模块的时候做了三件事:1.首先开辟了一个新的命名空间my_moudle
2.执行了my_moudle内的代码
3.将my_moudle里面的名字和命名空间绑定在一起了
注意:模块在一个程序中只会被导入一次,不会重复导入(为了节约资源)那么,如何实现模块在程序中只会被导入一次呢?
当导入一个文件之后,会将模块存储在内存中,当再次导入的时候,就会到内存中查看是否导入过这个模块,如果已经导入过了,就不用再导入了。是通过sys里面的module方法
1
2
3
|
import sys for i in sys.modules: #查看是否导入过这个模块 print (i) |
导入的模块有自己的命名空间(可以给导入的模块起一个别名,就产生了一个命名空间,这个命名空间只和别名相关)
1
|
import my_moudle as mm<br> print (mm.money) |
def sqlparse():
3 print('from mysql sqlparse')
4 #oracle.py
5 def sqlparse():
6 print('from oracle sqlparse')
7
8 #test.py
9 db_type=input('>>: ')
10 if db_type == 'mysql':
11 import mysql as db
12 elif db_type == 'oracle':
13 import oracle as db
14
15 db.sqlparse()