06 2020 档案

摘要:在函数内部使用yield定义,这个函数就是一个生成器函数。 调用生成器函数的时候会返回一个生成器对象。 生成器函数内部,使用yield可以产生数据。 生成器对象内还有一个方法send,send方法可以由外部向内部进行传值。 执行过程: 当执行gen=MyGenerator()会直接生成返回一个生成器 阅读全文
posted @ 2020-06-18 15:41 一日学一日功 阅读(469) 评论(0) 推荐(0)
摘要:如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator函数, generator和函数的执行流程不一样。 函数是顺序执行,遇到return语句或者最后一行函数语句就返回。 而变成generator的函数,在每次调用next()的时候执行,遇到yield语 阅读全文
posted @ 2020-06-18 15:31 一日学一日功 阅读(336) 评论(0) 推荐(0)
摘要:上图的这些模式,都是以list对象和操作符[]来获取元素,而索引只是作为参数。这是一种迭代模式。 有没有一种模式,元素的提取只和下标打交道,而和可迭代对象无关。这样的一种设计模式,就是迭代器模式 for i in [1, 2, 3, 4]: print(i) for c in "python": p 阅读全文
posted @ 2020-06-18 15:19 一日学一日功 阅读(702) 评论(0) 推荐(0)
摘要:__getattr__ 访问存在的属性时,会正常返回值;若该值不存在,则会进入最后的函数__getattr__抛出异常。 __setattr__,对对象的属性值进行设置的时候,会调用__setattr__方法。 __delattr__,删除属性的时候会默认调用这个。 阅读全文
posted @ 2020-06-15 16:29 一日学一日功 阅读(195) 评论(0) 推荐(0)
摘要:property方法,一是让方法变成像类中的属性那样访问。第二个就是可以设置为可读写的属性。 property方法: class property([fget[, fset[, fdel[, doc]]]]) fget -- 获取属性值的函数 fset -- 设置属性值的函数 fdel -- 删除属 阅读全文
posted @ 2020-06-11 11:01 一日学一日功 阅读(467) 评论(0) 推荐(0)
摘要:python是一个动态语言,因此可以根据类创建的实例任意绑定属性。给实例绑定属性的方法:1、通过实例变量2、通过self变量 class People(object): country = 'china' # 类属性print(People.country) #chinap = People()pr 阅读全文
posted @ 2020-06-11 09:25 一日学一日功 阅读(381) 评论(0) 推荐(0)
摘要:1、当函数参数中要使用不定参数的时候,在参数前面加一个*号:例如 fun(*parm) parm=touple(parm1,parm2,parm3,…………) 这个时候如果有多个参数,这些参数会形成一个元组(一个参数就是单元组) 2、当函数参数中要使用默认参数的时候,在参数前面加两个**号:例如 f 阅读全文
posted @ 2020-06-10 10:21 一日学一日功 阅读(742) 评论(0) 推荐(0)
摘要:在Python3中,字符串格式化操作通过format()方法,format()方法拥有更多的功能,操作起来更加方便。该函数将字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号{}作为特殊字符代替%。 位置设定 不指定位置的时候,使用默认位置 不指定格式化位置,按照默认顺序格式化 S = ' 阅读全文
posted @ 2020-06-10 10:05 一日学一日功 阅读(1992) 评论(0) 推荐(0)
摘要:class Bird: def __init__(self): self.hungry = True def eat(self): if self.hungry: print('我饿了') else: print('不饿,谢谢')class SongBird(Bird): def __init__( 阅读全文
posted @ 2020-06-05 09:11 一日学一日功 阅读(818) 评论(0) 推荐(0)