昨日内容回顾
-
异常处理的语法结构
try: 下跟被监测的子代码
except: 后跟错误类型子代码为该类型错误解决的提示
else: 被监测的子代码正常运行时运行的代码
finally: 无论被监测子代码结果如何,最终均运行finally下方子代码
-
异常处理其他关键字
Exception/BaseException 可代替任意错误类型关键字
assert 断言,断言后条件成立则代码继续运行,不成立则报断言错误
raise 主动报指定类型错误,并输出指定提示文本
-
生成器
定义函数时,在函数中加入yield可以将函数转换为生成器。生成器调用双下next之后开始运行。
函数运行至yield处后会暂时停顿,再次调用双下next继续向下运行。
yield类似于return,后跟数据值会返回该数据值,多个数据值组织成元组返回。
yield冷门用法,与迭代器的send方法一起使用,为yield左侧变量名传数据值。
-
生成器表达式
生成器简化写法,类似于列表生成式,使用小括号,括号内填写生成规则。
今日内容概要
- 索引取值与迭代取值的区别
- 模块相关基础
- 模块导入语法
- 绝对导入与相对导入
- 文件类型的判断
今日内容详细
索引取值与迭代取值的区别
索引取值:可多次取同一值,可取任意位置数据值,但不能对无序数据进行取值;
迭代取值:同一个数据只能取一次,取值只能从上次结束处往下取,但可以对有序数据取值。
模块相关基础
使用模块不需要明白其内部原理,使用门槛较低,python由于可以调用各种各样的模块,才得以在各种领域都能发光发热,可以说模块才是python的核心竞争力。
python中的模块有四种形式:单个py文件、多个py文件组成的文件夹、已被编译成共享库的C或C++的扩展、使用C编写并链接至python解释器的内部模块。
模块的导入实质上是在当前文件运行时打开另一个py文件,从而使用被调用模块名称空间中的内容。
模块分为内置模块及第三方模块,导入时模块调用顺序:内存>内置模块>系统环境变量。
自定义模块时要注意不可与内置模块名冲突。
模块导入语法
import module_name
使用import导入模块具有以下特点:
- 可直接调用被导入模块名称空间内所有变量名;
- 导入的模块内的变量名必须通过"模块名.变量名"的形式才能使用;
- 导入非内置模块时,只能从当前系统环境变量中导入,没有则报错。
from path import module_name
使用from...import...导入模块具有以下特点:
- 可从指定路径导入模块;
- 可从指定模块中调用指定的名称并直接使用,但可能与当前文件中名称冲突。
导入模块注意事项
- 程序一次运行重复导入同一模块时,导入语句只会运行一次。
- 导入模块时,为方便调用,可以通过as关键字为被导入的模块起别名。
- 需要导入多个模块时,尽量每个导入语句写一行,导入相似模块时可卸载一行,逗号隔开。
- 尽量避免循环导入,无法避免时,要保证调用名称前先定义。
绝对导入与相对导入
绝对导入:导入时使用from文件路径导入,文件路径使用绝对路径。
相对导入:被导入的模块中也导入模块时,可以使用在import前方加"."、".."或"..\ .."从被导入模块当前、 上级、上上级目录导入。一般不推荐使用相对导入方式。
文件类型的判断
通过双下name可查看当前文件是否为正在运行的主文件,如果是,则有
__name__ == '__main__'
如果当前文件是被导入的文件,则双下name对应的值是当前文件的模块名。
该操作常用于程序的启动文件,限制程序不能通过调用该程序启动。
标签:文件,调用,知识,生成器,导入,模块,取值 From: https://www.cnblogs.com/akazukis/p/16803886.html