Python中使用import语句来导入一个模块(module),或者用来导入一个包(package),模块的实质就是一个*.py
文件,实现了一定逻辑功能,包含了变量、函数、类等代码块,包的实质就是一个项目工程,里面有很多*.py
文件,其中必须带有一个__init__.py
文件。
导入模块
假设自己工程里有一个person.py
文件,需要在新建的test.py
文件中要用到这个文件里的work
函数:
person.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
def work():
print ‘Work!’
test.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
import person
person.work()
- 执行
test.py
,输出打印结果:
Work!
导入包
- 现在创建一个项目为
animal
,包含三个文件__init__.py
、dog.py
、cat.py
:
-
__init__.py
为空
#!/usr/bin/python
# -*- coding:utf-8 -*-
dog.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
def play():
print 'A dog is playing!’
cat.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
def play():
print 'A cat is playing!’
-
把animal项目生成的整个文件拖到需要的项目下:
现在需要调用dog和cat中的play函数:
- 导入animal路径下的dog文件
导入animal路径下的cat文件
import animal.dog
import animal.cat
animal.dog.play()
animal.cat.play()
- 从animal路径下的dog文件中导入play函数,并给给它另命名为dog_play
从animal路径下的cat文件中导入play函数,并给给它另命名为cat_play
from animal.dog import play as dog_play
from animal.cat import play as cat_play
dog_play()
cat_play()
# 因为dog和cat的play名都一样,不给另命名的话,第二个play会覆盖掉第一个play
# from animal.dog import play
# from animal.cat import play
# play()
# play()
- 现在给
__init__.py
文件中添加点内容:
__init__.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
import cat
import dog
- 只导入animal包
import animal
animal.dog.play()
animal.cat.play()
- 导入animal包里的全部内容
from animal import *
dog.play()
cat.play()
- 或者导入animal中指定内容
from animal import dog,cat
dog.play()
cat.play()
网友评论