摘要: 反射 : 是用字符串类型的名字 去操作 变量 相比于用eval('print(name)') 留有 安全隐患 反射 就没有安全问题 hasattr 语法: getattr与hasattr语法相同,返回的结果是对应name的值或函数。 注意:反射本py文件的name时 用sys.modules[__n 阅读全文
posted @ 2019-01-07 21:26 曜有丨光 阅读(114) 评论(0) 推荐(0) 编辑
摘要: @property 先看实例: 上边求圆的周长和圆的面积的类中,圆的周长和面积本来应该是属性,可是在一般的求解中,我们却要使用实例.方法名()的形式来求出结果,显然与真实世界对于属性的定义有些矛盾。现在可以通过在方法前@property,将此其伪装成一个属性,这样我们可以通过 实例.方法来调用,效果 阅读全文
posted @ 2019-01-06 17:11 曜有丨光 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 接口类和抽象类是一种标准化开发的思想,源自JAVA。 目的是使一些类都有统一的方法,这样在调用方法时比较方便。 为此,定义一个规范化的父类,父类中定义的方法,要求相关的类必须有父类的同名的方法,所以让子类继承规范化的父类,如果子类中没有同名的方法,当调用此子类中的此方法,就会调用到父类中的此方法,再 阅读全文
posted @ 2019-01-04 21:53 曜有丨光 阅读(133) 评论(0) 推荐(0) 编辑
摘要: class A(object): def func(self): print('A') class B(A): def func(self): super().func() print('B') class C(A): def func(self): super().func() print('C' 阅读全文
posted @ 2019-01-04 21:34 曜有丨光 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 父类中没有的属性 在子类中出现 叫做派生属性 父类中没有的方法 在子类中出现 叫做派生方法 只要是子类的对象调用,子类中有的名字 一定用子类的,子类中没有才找父类的,如果父类也没有报错 如果父类 子类都有 用子类的 如果还想用父类的,单独调用父类的: 父类名.方法名 需要自己传self参数 supe 阅读全文
posted @ 2019-01-04 21:01 曜有丨光 阅读(135) 评论(0) 推荐(0) 编辑
摘要: __init__方法 初始化方法python帮我们创建了一个对象self 每当我们调用类的时候就会自动触发这个方法。默认传self 在init方法里面可以对self进行赋值self是什么 self拥有属性都属于对象在类的内部,self就是一个对象 alex = Person()alex.walk = 阅读全文
posted @ 2018-12-18 22:05 曜有丨光 阅读(201) 评论(0) 推荐(0) 编辑
摘要: def find(l,aim,start = 0,end = None): end = len(l) if end is None else end mid_index = (end - start)//2 + start if start aim: return find(l, aim, start=start, end=mid_index-1... 阅读全文
posted @ 2018-12-06 17:37 曜有丨光 阅读(116) 评论(0) 推荐(0) 编辑
摘要: #[每一个元素或者是和元素相关的操作 for 元素 in 可迭代数据类型] #遍历之后挨个处理 #[满足条件的元素相关的操作 for 元素 in 可迭代数据类型 if 元素相关的条件] #筛选功能 # #30以内所有能被3整除的数 # ret = [i for i in range(30) if i%3 == 0] #完整的列表推导式 # g = (i for i in range... 阅读全文
posted @ 2018-12-01 11:39 曜有丨光 阅读(633) 评论(0) 推荐(0) 编辑
摘要: send 获取下一个值的效果和next基本一致#只是在获取下一个值的时候,给上一yield的位置传递一个数据#使用send的注意事项 # 第一次使用生成器的时候 是用next获取下一个值 # 最后一个yield不能接受外部的值 生成式实例获取移动平均值 再此基础上加入一个装饰器,省去了调用avg._ 阅读全文
posted @ 2018-12-01 11:37 曜有丨光 阅读(105) 评论(0) 推荐(0) 编辑
摘要: def tail(filename): f = open(filename,encoding='utf-8') while True: line = f.readline() if line.strip(): #此处一定要加.strip,不然监听用户输入时会打一行空白,因为用户在输入时会把用户敲的回车算一行 yield li... 阅读全文
posted @ 2018-11-29 20:37 曜有丨光 阅读(116) 评论(0) 推荐(0) 编辑