摘要:
生成器对象(自定义迭代器) # 本质其实还是迭代器 只不过是我们自己通过写代码产生 也是有__iter__和__next__方法 ''' 若函数体包含yield关键字,再调用函数,并不会执行函数体代码,得到的返回值即生成器对象 ''' def index(): yield 123 yield 666 阅读全文
摘要:
可迭代对象 迭代其实就是更新换代 每一次迭代的过程都需要依赖于上一次的结果 # 单纯的循环 不是迭代 import time while True: print(123) time.sleep(0.1) # 属于迭代 n = 1 while True: print(n) n += 1 可迭代对象 内 阅读全文
摘要:
三元表达式 ''' 三元表达式是一种简化代码的方案 使用场景:二选一的时候 推荐使用三元表达式 ''' def test(x, y): if x > y: return x else: return y # 使用三元表达式 test = x if x > y else y """ 三元表达式 值1 阅读全文
摘要:
算法之二分法 二分法使用有前提: 数据集必须有先后顺序(升序 降序) l1 =[13,21,35,46,52,67,76,87,99,123,213,321,432,564,612] # 查找一个数 123 """ 二分法原理 获取数据集中间的元素 比对大小 如果中间的元素大于目标数据 那么保留数据 阅读全文
摘要:
函数递归 即函数在运行过程中直接或者间接的调用了自身 '''直接调用''' def index(): print('from index') index() index() # 会报错 '''间接调用''' def index(): print('from index') func() def fu 阅读全文
摘要:
装饰器简介 装饰器的本质:在不改变被装饰对象原有的调用方式和内部代码、的情况下给被装饰对象添加新的功能 软件的设计应该遵循开放封闭原则,即对扩展是开放的,而对修改是封闭的。 软件包含的所有功能的源代码以及调用方式,都应该避免修改,否则一旦改错,则极有可能产生连锁反应,最终导致程序崩溃,而对于上线后的 阅读全文
摘要:
函数对象 函数对象指的是函数可以被当做’数据’来处理,具体可以分为四个方面的使用 函数名可以当做变量名赋值 def bar(): return add func=bar() func(1,2) 3 函数名还可以当成函数的实参 def foo(x,y,func): return func(x,y) f 阅读全文
摘要:
名称空间 名称空间即存放名字与对象映射/绑定关系的地方。对于x=3,Python会申请内存空间存放对象3,然后将名字x与3的绑定关系存放于名称空间中,del x表示清除该绑定关系。 在程序执行期间最多会存在三种名称空间 内建名称空间 伴随python解释器的启动/关闭而产生/回收,因而是第一个被加载 阅读全文
摘要:
定义函数 函数的使用必须遵循’先定义,后调用’的原则。 '''定义函数的语法''' def 函数名(参数1,参数2,...): """文档描述""" 函数体 return 值 ''' ''' 1.def: 定义函数的关键字; 2.函数名:函数名指向函数内存地址,是对函数体代码的引用。函数的命名应该反 阅读全文
摘要:
什么是文件 在进行文件处理之前,我们需要知道是什么是文件,文件即操作系统提供给应用程序来操作硬盘的虚拟概念,用户或应用程序对文件的操作,就是向操作系统发起调用,然后由操作系统完成对硬盘的具体操作。 文件处理流程 1.打开文件、创建文件 2.编辑文件内容 3.保存文件内容 4.关闭文件 文件的打开与关 阅读全文