摘要:
1 特性(property) 1.1 什么是特性property property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 1.2 为什么要用property 将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察觉自己的name是执行了一个函数然后计算出来的 阅读全文
摘要:
一 面向对象的程序设计和面向函数式的程序设计 函数式编程:精简,不修改状态优点是:极大的降低了程序的复杂度缺点是:一套流水线或者流程就是用来解决一个问题面向对象编程优点是:解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中。缺点:可控性差,无法向面向过程的程序设计流水线式的可以很精准的 阅读全文
摘要:
import syssys.getrecursionlimit() #查看最大递归深度sys.setrecursionlimit(10000) #设置递归深度 '''1. 必须有一个明确的结束条件2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少3.递归效率不高,递归层次过多会导致栈溢出 阅读全文
摘要:
import time__import__('time') #通过字符串导入模块,例如time以定义为变量,要导入模块,就需要此 匿名函数 d={'a':26,'g':20,'e':22,'c':24,'d':23,'f':21,'b':25} 根据value排序 sorted(d.items(), 阅读全文
摘要:
#需求grep -rl 'python' C:\egon import os,time #导入模块,g=os.walk("c:\\egon") 得到g是一个生成器,next(g)得到一个元组(文件路径,[文件夹],[文件]) def init(func): #生成器初始化装饰器 def wrapper(*args,**kwargs): res=func(... 阅读全文
摘要:
egg_list=[] for i in range(100): egg_list.append('egg%s' %i) print(egg_list) l=['egg%s' %i for i in range(100) if i > 50] #每进行一次for循环,执行if i > 50子代码块,再执行一次'egg%s' %i装进列表 print(l) #查找目录下的文件,打... 阅读全文
摘要:
一 什么是装饰器 装饰器定义:本质就是函数,功能是为其他函数添加新功能 二 装饰器需要遵循的原则 1.不修改被装饰函数的源代码(开放封闭原则) 2.为被装饰函数添加新功能后,不修改被修饰函数的调用方式 三 实现装饰器知识储备 装饰器=高阶函数+函数嵌套+闭包 给函数加多个装饰器,先执行最下面的装饰器 阅读全文
摘要:
函数对象 函数的嵌套 名称空间 函数的作用域 闭包 参数 阅读全文
摘要:
初识函数 函数的参数 函数的参数传值 *args 1(2, 3, 4, 5, 6, 6, 'a', 'b') 110000000(2, 3, 4, 5, 6, 7, 8, 9, 10) **kwargs 按关键字传值剩下的装入字典 函数的调用形式 函数的返回值 阅读全文