day23 模块

1.  模块
   1. 首先,我们先看个老生常谈的问题. 什么是模块. 模块就是一个包含了python定义和声
   明的文件, 文件名就是模块的名字加上.py后缀. 换句话说我们目前写的所有的py文件都可以
   看成是一个模块但是我们import加载的模块一共分成四个通用类别:
    1. 使用pyhton编写的py文件
    2. 已被变异为共享库或者DLL或C或者C++的扩展
    3. 包好一组模块的包.
    4. 使用c编写并连接到python解释器的内置模块

  2. 为什么要使用模块
  为了我们写的代码可以重复利用,不至于把所有的代码都行写在一个文件内;对于大项目可以进行功能分离
  方便我们日常的维护及新项目的开发.

  3. 调用模块的方式
    1. import XXXXX
    2. from XXX import XXXX
2.  import

#创建模块 yitian
print("啊啊啊啊啊啊啊啊啊啊啊啊啊...............")
mian_person_man="张无忌"
mian_person_women="赵敏"

bad_person_one="周芷若"
bad_person_two="成昆"

def fight_shao_lin():
print("在少林%s粉碎了%s的阴谋"%(mian_person_man,bad_person_two))
print("哦哦哦哦哦哦哦哦哦哦哦哦哦哦...................")

例. 1
#打开 jinyong文件
import yitian #导入yitian模块
print(yitian.mian_person_man) # 使用模块中定义好的名字
print(yitian.bad_preson_one) #张无忌 周芷若

yitian.fight_in_shaolin() # 调用模块中的函数
yitian.fight_on_light_top()
在导入某块的时候,解释器会做几件事:
1. 通过sys.modules来判断模块是否已经导入过,导入过就不会重复导入
  说白了,就是统同一模块只会被导入一次
2. 如果模块还没有被导入过,则系统会为他在内存开辟一块名称空间
3. 在他的名称空间中运行该模块中的代码
4. 创建模块的名字,并使用名称作为模块在当前模块中引用的名字

例 .2
import yitian
main_person_man = "胡一菲"
def fight_in_shaolin():
print(mian_person_man, "大战曾小贤")
print(yitian.main_person_man) # 张无忌
print(main_person_man) # 胡⼀菲
yitian.fight_in_shaolin() # 倚天屠
fight_in_shaolin() # ⾃⼰的
import yitian
main_person_man = "胡⼀菲"
def fight_in_shaolin():
print(main_person_man, "⼤战曾⼩
print(yitian.main_person_man) # 张⽆
print(main_person_man) # 胡⼀菲
yitian.fight_in_shaolin() # 倚天屠
fight_in_shaolin() # ⾃⼰的


猜你喜欢

转载自www.cnblogs.com/tjp40922/p/9983507.html