模块
import 模块名 - 导入指定模块;导入后可以通过’模块.xx’的方式使用这个模块中所有的全局变量
from 模块名 import 变量1,变量2··· -导入指定变量:导入后可以直接使用指定变量
from 模块名 import * - 导入指定模块中所有的变量;导入后可以直接使用所有变量
import 模块名 as新模块名 - 直接导入指定模块并且对模块进行重命名,重命名后需要通过新模块来代替原模块名使用模块
from 模块名 import变量1 as新变量
导入方式
----------导入方式1--------------
import test
print(test.a)
test.func1()
print(test.b)
# ----------导入方式2--------------
# from test import a, func1
# print(a)
# func1()
# ----------导入方式3--------------
# from test import *
# print(a)
# func1()
# print(b)
# ----------导入方式4--------------
# import test as ts
# print(ts.a)
# ts.func1()
# print(ts.b)
# import time as T
# time = '2000-9-1'
# print(T.time())
# print(time)
导入原理及阻止原理
不管以什么样的方式导入模块,导入模块的时候系统会自动进入模块执行这个模块中所有的代码
执行结果
阻止导入
导入模块的时候会默认执行模块中所有的代码,就导致有些完全没必要再导入的时候执行的代码被执行
如果希望导入模块的时候某些代码可以不执行,就需要去阻止代码在被导入的时候执行 - 阻止导入
阻止方法:将不需要执行的代码放到main对应if条件语句里面
在这个if语句里面的代码再被别的模块导入的时候不会被执行
包
包就是存放在py文件里面的文件夹
怎么使用包中的内容:
方法1; import包名 -直接导入包名,导入后可以通过 (包.xx来使用.py中所有的变量
方法2;import 包名.模块名 - 导入指定包中的指定模块,导入后可以通过‘包.模块名.xx’来使用指定模块中所有的全局变量
方法三;from包名import 模块1 模块2 模块3····导入指定包中的指定模块,导入后通过‘模块名.xx’使用对应的中的内容
方法四;from 包名 import * - 导入包中py文件中所有的全局变量
方法五;from 包名.模块名 import 变量1,变量2··· - 导入指定模块中的指定模块
# --------------导入方式1: 直接导入包--------------
import package1
print(package1.y)
package1.func3()
# --------------导入方式2: 直接导入包中的指定模块--------------
# import package1.test2
# print(package1.test2.x)
# package1.test2.func2()
# 改良: