一、模块
1、什么是模块
最常常见的场景,一个模块就是包含了一组功能的python文件,例如module.py,模块名是module
可以使用import module,四个通用类别:
1 使用python编写的.py文件
2 已被编译为共享库或DLL的C或C++扩展
3 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)
4 使用C编写并链接到python解释器的内置模块
2、为什么要用模块
1、从文件级别组织程序,更方便管理
2、拿来主义,提升开发效率
#!/usr/bin/env python3 # -*- coding:utf-8 -*- money = 10000 def read1(): print("spam money",money,id(money)) def read2(): print("read2") read1() def change(): global money money = 0 # if __name__ == "spam": # money = 0 if __name__ == "__main__": print(money) read1() read2()
4、如何使用模块-》from 模块名 import 名字
优点:引用时不用加前缀,简单
缺点:容易与当前名称空间的名字冲突
from spam import money as m
from spam import money,read1,read2,change
注:在执行change是更改的money依然是spam中的money
from spam import change,read1 money = 1 read1() change() read1() print(money) # spam money 10000 4330626768 # spam money 0 4297636864 # 1
from spam import * #*包含除了下划线开头以外所有的名字(若模块文件中指定了__all__ = ["moey","read1"]列表中存字符串格式的名字,则只能导入__all__里的内容)