面向过程编程
# 面向过程 核心是过程二字,即先干什么,在干什么,最后干什么 eg: 把大象放冰箱分几步? 1. 打开冰箱门 2. 把大象塞进去 3. 把冰箱门关上 '''面向过程不是一门技术,是一种做事的思想''' # 注册用户的功能 1. 获取用户名和密码 2. 验证参数 3. 保存数据 ''' 面向过程的缺点:扩展性很差 面向过程的优点:复杂的功能简单化 使用场景:对扩展性要求不高的地方使用面向过程 '''
模块的简介
1. 什么是模块? 一系列功能的集合 2. 为什么要用模块? 提高开发效率,站在巨人的肩膀 3. 模块的分类: 1. 内置的: python解释器中已经存在的,time 2. 第三方的: 别人已经写好的,上传到网上了 3. 自定义的:自己写的 4. 模块的表现形式: 1 使用python编写的代码(.py文件)# 一个py文件就是一个模块 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 # 包:多个py文件的组合就是一个包 4 使用C编写并链接到python解释器的内置模块
import句式
# 在学习模块的时候,首先分清楚谁是执行文件,谁是导入文件 import md # 导入的模块不要加后缀 ''' 模块被导入: 1. 模块会执行,但是导入多次,只会执行一次 模块首次被导入的时候发生了什么事? 1. 运行执行文件,产生一个执行文件的全局名称空间 2. 运行被导入文件 3. 导入文件中的名字放入到导入文件的名称空间 4. 在执行文件的名称空间中有一个md的变量指向导入文件的名称空间 import句式注意事项: 1. 在自己的名称空间中如果有与导入文件相同的名字, 在调用的时候,指名道姓的调用,不会产生冲突的 ''' # money = 999 # print(md.money) # md.change()
from...import句式
from md import money,read1,read2 ''' from...import句式: 1. 导入模块的时候,导入文件会执行 连续导入: from md import money,read1,read2 from...import句式首次被导入: 1. 产生一个执行文件的名称空间 2. 会运行导入文件 3. 产生一个导入的名称空间 4. 在执行文件中产生一个money,执行导入文件的money,导入文件中的其他没有被导入的不能在 执行文件中使用,如果想使用,继续导入过来就可以使用 ''' # money = 999 # print(money) read1() read2()
模块知识的补充
1. 起别名 给模块名可以起别名,也可以给模块中的某一个名字起别名 import mdddddddddddddddddddddddddd as d # print(mdddddddddddddddddddddddddd.a) print(d.a) from md import read1 as r r() 2. 连续导入 import time import os import sys # import time,os,sys from mdddddddddddddddddddddddddd import a,b,c,d 3. 通用导入 # from md import read1, read2, money from md import * # import md # read2() # read1() read1() read2() print(money)
判断文件类型
# 判断一个py文件是执行文件还是当成模块导入的文件 # print(__name__, type(__name__)) # '__main__' import mdddddddddddddddddddddddddd ''' __name__: 如果在执行文件中打印,结果是__main__,并且是字符串类型 如果是导入文件,结果是模块名 ''' if __name__ == '__main__': test()
模块的查找顺序
1. 先从内存中查找 2. 从内置中查找 3. 从sys.path中 # 如果你想在你的执行文件中找不到模块的时候,解决方案: 1. 把模块所在的路径加入到sys.path中
浙公网安备 33010602011771号