一、模块
1.模块:一个py文件就是一个模块,文件名就是模块名
模块命名必须是标识符且不是关键字
python中可以在一个模块中使用另外一个模块
2.导入模块
1)直接导入模块
import 模块名 - 导入指定模块,导入后需要通过 ‘模块名.xxx’的形式取使用模块中内容
import test
print(test.a)
test.func1()
print(test.name)
2)直接导入模块中的变量
from 模块名 import 变量名1,变量名2,··· -导入指定模块中的指定变量;导入后直接使用变量
from test import a,name,func1
print(a)
print(name)
func1()
3)给模块的重命名
import 模块名 as 新模块名 -给模块重命名,重命名后使用新的名字
from 模块名 import 变量名1 as 新变量名1,变量名2 as 新变量名2 ··· -导入的时候给指定变量重命名
from test import a,name as name2
name = '小明'
print(a,name,name2)
4)通配符
from 模块名 import * - 导入指定模块中所有的全局变量
from test import *
print(a,name)
func1()
3.导入模块的原理
-
不管以什么样的方式导入模块,在导入模块的时候系统会自动进入被导入的模块,将模块中的代码从前往后重新执行一遍
-
python导入模块的时候会自动检测被导入的模块是否已经被导入过,如果已经导入过就不会再重复导入
-
这个if外面的代码才是会被其他模块执行的代码
if __name__ == '__main__':
# 这个if里面的代码不会被其他模块执行,只能被自己执行
pass
二、包
1. 什么是包
包就是用来管理多个模块的一种特殊的文件夹,(包含有__init__.py文件的文件夹)
2.怎么使用包中模块的内容
#方法一:
import files.jsonFile
files.jsonFile.json_read()
#方法二:
import files.jsonFile as jf
jf.json_read()
#方法三:
from files import jsonFile
jsonFile.json_read()
#方法四:
from files.jsonFile import json_read
json_read()
2.init.py
通过包导入内容的时候,会先执行__init__.py,可以在这个py文件里写导入的语句,以避免使用的时候写过多调用代码
from files import jsonFile
print(jsonFile.name)