随笔分类 -  python函数面向对象

摘要:一 __setitem__,__getitem,__delitem__ 调用方法:实例化名[属性名] __setattr__,__delattr__,__getattr__用法相同,只是调用方法不同:实例化名.属性名 二 __slots__ 三 __next__和__iter__实现迭代器协议 三 阅读全文
posted @ 2017-04-25 18:28 shy车队破风手 阅读(167) 评论(0) 推荐(0)
摘要:一 isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 二 反射 一 python面向对象中的反射:通 阅读全文
posted @ 2017-04-24 17:16 shy车队破风手 阅读(193) 评论(0) 推荐(0)
摘要:1 特性(property) 1.1 什么是特性property property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 1.2 为什么要用property 将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察觉自己的name是执行了一个函数然后计算出来的 阅读全文
posted @ 2017-04-23 22:19 shy车队破风手 阅读(237) 评论(0) 推荐(0)
摘要:一 面向对象的程序设计和面向函数式的程序设计 函数式编程:精简,不修改状态优点是:极大的降低了程序的复杂度缺点是:一套流水线或者流程就是用来解决一个问题面向对象编程优点是:解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中。缺点:可控性差,无法向面向过程的程序设计流水线式的可以很精准的 阅读全文
posted @ 2017-04-23 21:26 shy车队破风手 阅读(237) 评论(0) 推荐(0)
摘要:import syssys.getrecursionlimit() #查看最大递归深度sys.setrecursionlimit(10000) #设置递归深度 '''1. 必须有一个明确的结束条件2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少3.递归效率不高,递归层次过多会导致栈溢出 阅读全文
posted @ 2017-04-23 18:50 shy车队破风手 阅读(133) 评论(0) 推荐(0)
摘要:import time__import__('time') #通过字符串导入模块,例如time以定义为变量,要导入模块,就需要此 匿名函数 d={'a':26,'g':20,'e':22,'c':24,'d':23,'f':21,'b':25} 根据value排序 sorted(d.items(), 阅读全文
posted @ 2017-04-23 18:12 shy车队破风手 阅读(191) 评论(0) 推荐(0)
摘要: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) #查找目录下的文件,打... 阅读全文
posted @ 2017-04-23 16:39 shy车队破风手 阅读(130) 评论(0) 推荐(0)
摘要:一 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法) 3.协议是一种约 阅读全文
posted @ 2017-04-23 15:34 shy车队破风手 阅读(95) 评论(0) 推荐(0)
摘要:一 什么是装饰器 装饰器定义:本质就是函数,功能是为其他函数添加新功能 二 装饰器需要遵循的原则 1.不修改被装饰函数的源代码(开放封闭原则) 2.为被装饰函数添加新功能后,不修改被修饰函数的调用方式 三 实现装饰器知识储备 装饰器=高阶函数+函数嵌套+闭包 给函数加多个装饰器,先执行最下面的装饰器 阅读全文
posted @ 2017-04-23 14:30 shy车队破风手 阅读(204) 评论(0) 推荐(0)
摘要:函数对象 函数的嵌套 名称空间 函数的作用域 闭包 参数 阅读全文
posted @ 2017-04-23 13:53 shy车队破风手 阅读(194) 评论(0) 推荐(0)
摘要:初识函数 函数的参数 函数的参数传值 *args 1(2, 3, 4, 5, 6, 6, 'a', 'b') 110000000(2, 3, 4, 5, 6, 7, 8, 9, 10) **kwargs 按关键字传值剩下的装入字典 函数的调用形式 函数的返回值 阅读全文
posted @ 2017-04-23 13:27 shy车队破风手 阅读(361) 评论(0) 推荐(0)