Python中模块的概念
模块是Pyhton程序架构的一个核心概念
每一个以扩展名py结尾的Pyhton源代码文件都是一个模块
模块名同样也是一个标识符,需要符合标识符的命名规则
在模块中定义的全局变量,函数,类都是提供给外界直接使用的工具
模块就好比是工具包,要想使用这个工具包中的工具,就需要先导入这个模块
在导入模块时,每个导入应该独占一行
import 模块名1
import 模块名2
导入之后
通过模块名.使用模块提供的工具--全局变量,函数,类
使用as知道模块的别名
如果模块的名字太长,可以使用as指定模块的名称,以方便在代码中的使用
import 模块名1 as 模块别名
注意:模块别名应该符合大驼峰命名法
导入模块中的部分工具
from...import 导入
如果希望从某一个模块中,导入部分工具,就可以使用from...import的方式
import 模块名是一次性把模块中的所有工具全部导入,并且通过模块名/别名访问
# 从模块导入某一个工具
from 模块名1 import 工具名
导入之后
不需要通过模块名.
可以直接使用模块提供的工具--全局变量、函数、类
注意
如果两个模块,存在同名的函数,那么后导入模块的函数,会覆盖前面导入的,因为代码是按照顺序执行的。
开发时import代码应该统一写在代码的顶部,更容易及时发现冲突
一旦发现冲突,可以使用as关键字给其中一个工具起一个别名
# 全局变量
title="模块1"
# 函数
def say_hello():
print("我是 %s" %title)
# 类
class Dog:
pass
# 全局变量
title="模块2"
# 函数
def say_hello():
print("我是 %s" %title)
# 类
class Cat:
pass
import xm_01_测试模块1
import xm_02_测试模块2
xm_01_测试模块1.say_hello()
xm_02_测试模块2.say_hello()
dog=xm_01_测试模块1.Dog()
print(dog)
cat=xm_02_测试模块2.Cat()
print(cat)
import xm_01_测试模块1 as DogModule
import xm_02_测试模块2 as CatModule
DogModule.say_hello()
CatModule.say_hello()
dog=DogModule.Dog()
cat=CatModule.Cat()
print(dog)
print(cat)
from xm_01_测试模块1 import Dog
from xm_01_测试模块1 import say_hello as module1_say_hello
from xm_02_测试模块2 import say_hello
say_hello()
module1_say_hello()
dog=Dog()
print(dog)