python模块与包的引入day12/早上
#导入模块
import time
print(time.time())
#给引入的包赋一个名字
import time as xiaogou
print(xiaogou.time())
目录如下:
xiaogou.py代码如下:
def Dog():
print("你好 小狗")
def ZangAo():
print("你好 藏獒")
bao1.py代码如下:
# 引入同一目录下的文件
import xiaogou
xiaogou.Dog()
xiaogou.ZangAo()
#把引入的文件重新起名
import xiaogou as a
a.Dog()
a.ZangAo()
BMW1.py代码如下:
def run():
print("宝马在跑")
def stop():
print("宝马停了")
Car.py代码如下:
from BMW1 import run,stop
run()
stop()
m1.py代码如下:
__all__=('A','B') #限制m2中引入的元素,如果只写A的话,则B将不会被引入
def A():
print("我是A")
def B():
print("我是B")
__all__=("A","B")
def A():
print("A")
def B():
print("B")
m2.py的代码如下:
from m1 import * #*表示引入__all__中所有的东西,未在__all__=()中写 的将不会被调用
A()
B()
from m1 import A,B #__all__不会对种引入方式有影响
A()
B()
Benz.py代码如下:
class S600():
def __init__(self,ID):
self.ID=ID
def run(self):
print(self.ID,"在跑")
def eat():
print("我在吃饭")
if __name__=="__main__": #如果在自己里面的话就运行这句话
print("你好我是奔驰")
else:
print("我是",__name__) #被外部调用的话,会在外部执行这句话
shenghuo.py代码如下:
from Benz import *
s601=S600("我")
s601.run()
eat()
from Benz import *
s700=S600("大奔")
# s700.run()
# eat()
print("生活如此多娇")
"""
我是 Benz
生活如此多娇
"""
deal.py代码如下:
import sys
sys.path.append('D:\\workpy\\day12\\buy') #加入目录下方便找到
print(sys.path)
day12.buy.buy_fruit.watermelen()
from day12.buy import buy_vegetable #找不到时就加长目录
buy_vegetable.pa()
from day12.buy.buy_vegetable import pa
pa()
目录如下:
__init__.py文件内容如下:
__all__=("buy_fruit","buy_vegetable")
deal.py问价下的内容为:
from buy import *
#这个只导入init.py中__all__=("buy_fruit","buy_vegetable")所写的包,其它的不会导入将无法使用
buy_fruit.watermelen()
buy_vegetable.pa()