一、模块的导入
一个py文件就是一个模块,
通过import或from import在一个模块使用另一个
1、import text
代码执行到import时,直接导入所有内容并执行text中所有内容。并可通过text. 的方式使用text中所有的全局变量,局部不行
[if !supportLists]2、[endif]from模块名 import 变量1,变量2,...
代码执行到from时,直接导入所有内容并执行text中所有内容。但只能用import后声明的变量,直接用,不用’模块.’
[if !supportLists]3、[endif]from模块名 import *
可直接使用text中所有的全局变量
二、[endif]模块的重命名
import模块名 as 新名
form模块名 import 变量名 as 新名
用时用新名
三、选择性导入(阻止导入)
if __name__ == '__main__':
以下内容,不希望被别的模块导入
[if !supportLists]四、[endif]什么时候使用模块
将具有相同功能的函数和数据封装在一起
五、迭代器iter
一种容器类的数据类型,属于序列。
a没有具体的字面量
b可以将其他序列转换为 迭代器 iter()
[if !supportLists]1、[endif]特点
a只能通过next区一个个按顺序取出元素
取出的元素迭代器中就不存在了
b在哪取都一样
六、生成器和生成式
a生成器就是迭代器,但迭代器不一定是生成器
1、生成式是 一种特殊的生成器
(变量for变量 in 序列)
特点:相当于一个函数,用一次顺序调用一次
2、生成器
就是函数体中有yield关键字 的函数
函数中只要有yield,那么调用函数不再执行、获得返回值,而是一个迭代器
yield相当于 return
迭代器+函数功能,越界报错
七、文件操作
使用文件可以做数据的持久化(本地化)
-->数据库文件,txt,json,二进制文件
所有文件操作过程:打开文件-->操作-->关闭
[if !supportLists]1、[endif]文件读写
读-->取出文件中的数据
写-->将数据写到文件中
2、打开关闭文件
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):
A、file -->文件路径
绝对路径:D:\32890(不推荐)
相对路径:./相对路径
相对于当前py文件对应的文件夹
B、mode -->文件打开方式
C、encoding -->文本文件的编码方式
utf-8:几乎支持所有的语言文字
gbk:只支持英文
D、关闭文件
文件对象.close()
3、操作
A、 读
B、 写