摘要:
5.10 生成器 函数内有yield关键字,再调用函数就不会立刻执行函数体代码,会得到一个返回值,该返回值就是生成器,生成器本质就是迭代器 1、iter_obj=obj.iter(),拿到迭代器 2、出发iter_obj.next(),拿到该方法的返回值,赋值给item 3、周而复始,直到函数内不在 阅读全文
摘要:
5.9 迭代器 5.91 可迭代对象和迭代器对象 1、什么是迭代?:迭代是一个重复的过程,并且每次重复都是基于上一次的结果而来 2、要想了解迭代器到底是什么?必须先了解一个概念,即什么是可迭代的对象? 可迭代的对象:在python中,但凡内置有''iter''方法的对象,都是可迭代的对象 3、迭代器 阅读全文
摘要:
5.8 装饰器 1 开放封闭原则 软件一旦上线后,就应该遵循开放封闭原则,即对修改源代码是封闭的,对功能的扩展是开放的 也就是说我们必须找到一种解决方案: 能够在不修改一个功能源代码以及调用方式的前提下,为其加上新功能 原则如下: 1、不修改源代码 2、不修改调用方式 目的: 在遵循1和2原则的基础 阅读全文
摘要:
5.36 命名关键字 什么是命名关键字参数? 格式:在*后面参数都是命名关键字参数 特点: 1 必须被传值 2 约束函数的调用者必须按照key=value的形式传值 3 约束函数的调用者必须用我们指定的key名 5.4 函数嵌套调用 函数的嵌套调用:在函数内又调用了其他函数 5.5 函数名称空间与作 阅读全文
摘要:
db_path='db.txt' def get_uname(): while True: uname=input('请输入用户名:').strip() if uname.isalpha(): with open(r'%s' %(db_path),'r',encoding='utf-8') as f 阅读全文
摘要:
db_path='db.txt' #定义默认文件路径,方便修改 def get_uname(): while True: uname=input('请输入用户名:').strip() if uname.isalpha(): with open(r'%s' %(db_path),'r',encodin 阅读全文
摘要:
为什么要有函数?什么是函数? 1、组织结构不清晰,可读性差 2、代码冗余 3、管理维护的难度极大,扩展性 具备某一个功能的工具就是程序的中函数 事先准备工具的过程 》函数的定义 拿来就用 》函数的调用 所以函数的使用必须遵循:先定义,再调用 注意:没事先定义函数而直接调用,就相当于在引用一个 阅读全文
摘要:
一、为什么要使用函数? 1.避免代码重用 2.提高代码的可读性 二、函数的定义与调用 2.函数的调用 三、函数的返回值 1.return的作用:结束一个函数的执行 2.首先返回值可以是任意的数据类型。 3.函数可以有返回值:如果有返回值,必须要用变量接收才有效果 也可以没有返回值: 没有返回值的时候 阅读全文
摘要:
什么是文件?文件是操作系统提供给应用程序操作硬盘的的一个虚拟单位,用于应用程序将数据永久保存 1.1文件基本操作 1.2打开模式和文件操作 (t 模式) 文件的打开模式: t:text文本模式,读写文件是以字符串为单位,需要指定字符编码, t模式的局限性是只能读写文本文件 b:bytes字节模式,读 阅读全文
摘要:
数据类型 1.1整型int py2中有int有范围,超出自动转为long长整型,py3中只有int 整除py2中无小数,可加一行代码实现 1.2布尔值bool 只有True和False. 0, '' , [] , {} , () , set() , None都可转化为False,其他为True. 1 阅读全文