摘要: 之所以给它起名为禁锢术,并非空缺来风,下面我们来了解一下__slost__ __slost__:其实就是将类中的名称锁定,实例化对象,只可以赋值和调用,不可以删除名字和增加新的名字 代码示例:(实例化对象示例) 代码示例:(类示例) 综合以上内容,我们得到结论: __slots__只是针对实例化对象 阅读全文
posted @ 2017-04-25 16:54 DragonFire 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 这个Item系列是egon老师自创的,个人还是可以接受这种文化底蕴的,所以直接拿来用,也是毫无违和感的 所谓Attr系列,其实是__setattr__,__delattr__,__getattr__ 三个函数,从名字中可以看出来这是一套设置,删除,查询的函数,那我们来一个一个的看: __setite 阅读全文
posted @ 2017-04-25 15:58 DragonFire 阅读(2436) 评论(1) 推荐(0) 编辑
摘要: 1 # 编辑者:闫龙 2 # 基于授权定制自己的列表类型,要求定制的自己的__init__方法, 3 # 定制自己的append:只能向列表加入字符串类型的值 4 # 定制显示列表中间那个值的属性(提示:property) 5 # 其余方法都使用list默认的(提示:__getattr__加反射) 6 class MyList: 7 def __init__(self,*a... 阅读全文
posted @ 2017-04-24 17:53 DragonFire 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 包装:python为大家提供了标准数据类型,以及丰富的内置方法,其实在很多场景下我们都需要基于标准数据类型来定制我们自己的数据类型,新增/改写方法,这就用到了我们刚学的继承/派生知识(其他的标准类型均可以通过下面的方式进行二次加工) 实现方法被egon分成了两种: 1."基于继承"实现的包装 需求: 阅读全文
posted @ 2017-04-24 17:27 DragonFire 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 这个Attr系列是egon老师自创的,个人还是可以接受这种文化底蕴的,所以直接拿来用,也是毫无违和感的 所谓Attr系列,其实是__setattr__,__delattr__,__getattr__ 三个函数,从名字中可以看出来这是一套设置,删除,查询的函数,那我们来一个一个的看: __setatt 阅读全文
posted @ 2017-04-24 16:38 DragonFire 阅读(1533) 评论(0) 推荐(0) 编辑
摘要: 什么是反射 光在两种物质分界面上改变传播方向又返回原来物质中的现象,叫反射! 以上,是反射的物理定义,与python中的反射概念,完全没有任何关系 书归正传:反射 就是通过字符串的形式,操作对象相关的属性 反射的相关函数: 为什么要用反射,反射有什么优势 实现可插拔机制 例如:程序员A负责写模块,程 阅读全文
posted @ 2017-04-24 16:18 DragonFire 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1 # 编辑者:闫龙 2 #要求一:自定义用户信息数据结构,写入文件,然后读出内容,利用eval重新获取数据结构 3 with open('user.db','w') as write_file:#创建并以写入的方式打开一个文件user.db 4 write_file.write(str({ 5 " 阅读全文
posted @ 2017-04-22 15:59 DragonFire 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 1 # 编辑者:闫龙 2 # 1.什么是绑定到对象的方法,如何定义,如何调用,给谁用?有什么特性 3 #在类中定义的(self)方法都是绑定到对象的方法 4 #定义 5 class a: 6 def b(self):#绑定到对象的方法 7 pass 8 #调用: 9 c = a() 10 c.b()#调用a类中绑定到对象c的b(self)方法 11 #既... 阅读全文
posted @ 2017-04-22 15:55 DragonFire 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 1 # 编辑者:闫龙 2 # 定义老师类,把老师的属性:薪资,隐藏起来,然后针对该属性开放访问接口 3 # egon老师有多种癖好,把这种癖好隐藏起来,然后对外提供访问接口 4 # 而且以后还会egon老师培养很多其他的癖好,对外开放修改接口可以新增癖好 5 # 并且需要保证新增的癖好都是字符串类型,否则无法增加成功 6 menu = ["查看工资","查看怪癖","... 阅读全文
posted @ 2017-04-20 19:19 DragonFire 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 1 # 编辑者:闫龙 2 #递归,二分算法演示 3 l = [i for i in range(1,100)]#定义一个列表l,并追加1-99的所有数字 4 def FindNum(num,l):#定义函数FindNum传递需要查找的数字和l列表 5 start = int(len(l)/2) #获取列表l的中间值,用于二分算法 6 if(start == 0):#判... 阅读全文
posted @ 2017-04-14 18:12 DragonFire 阅读(903) 评论(0) 推荐(0) 编辑
摘要: 说真的,我感觉这几天egon没有睡好,或者是egon心里有事儿,练习给留的太过简单了 1 # 编辑者:闫龙 2 # 用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb 3 #name=['alex','wupeiqi','yuanhao'] 既然都Somebody了,那么请给我一 阅读全文
posted @ 2017-04-13 18:26 DragonFire 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 以上,没啥可说的 以上,还是特么没什么可说的 以上,依然没有什么可说的 马德,今天是一个无言的结局啊 阅读全文
posted @ 2017-04-12 19:54 DragonFire 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 其实这个面向过程编写程序,是编写程序的基础,所以一定要好好掌握 此程序涉及知识点:装饰器,生成器,协程器应用 阅读全文
posted @ 2017-04-12 19:01 DragonFire 阅读(1239) 评论(0) 推荐(0) 编辑
摘要: 今天我们学习了生成器,怎么理解生成器呢,其实就是使用函数的方式自己建立一个迭代器 事实上生成器也是一个迭代器,这个理论有点难懂: 阅读全文
posted @ 2017-04-11 22:47 DragonFire 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 代码如下,尽可能独立阅读: 阅读全文
posted @ 2017-04-11 22:42 DragonFire 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 今天我们学习了迭代器,其实可以理解为是一个元素容器被遍历的方式,不难理解,看看下面的小例子: 尝试着独立看懂这段代码,最好是复制到Pycharm中,执行一次再仔细阅读,相信你一定可以理解的 阅读全文
posted @ 2017-04-11 22:39 DragonFire 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 代码如下: 阅读全文
posted @ 2017-04-11 19:41 DragonFire 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 参考代码如下: 1.用户登录程序流程控制代码: 1 # 编辑者:闫龙 2 if __name__ == '__main__': 3 import UserLoginFuncation 4 LoclCount=[]; 5 while True: 6 UserName = input("用户名:>>") 阅读全文
posted @ 2017-04-10 23:39 DragonFire 阅读(340) 评论(0) 推荐(0) 编辑
摘要: import time def DecoUserPrint(UserFunc):#定义一个DecoUserPrint接收参数的多重方法 def DecoPrint(): StartTime = time.time() UserFunc()#执行DecoPrint接收的方法 OverTime = time.time() pri... 阅读全文
posted @ 2017-04-10 22:31 DragonFire 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 代码如下: 1 # 编辑者:闫龙 2 if __name__ == '__main__': 3 import UserLoginFuncation 4 5 LoclCount=[]; 6 while True: 7 UserName = input("用户名:>>") 8 if(UserLoginF 阅读全文
posted @ 2017-04-09 22:00 DragonFire 阅读(287) 评论(0) 推荐(0) 编辑