python setattr样例
setattr用法总结:
1.对已存在的属性进行赋值
2.如果属性不存在会创建一个新的对象属性,并对属性赋值
yield样例如下注解附待说明
需要测试取消或添加注解即可
#测试1
# alist=['a','b','c','d']
# alist1=[1,2,3,4]
# def addliStr(alist):
# for i in alist:
# yield i+"end"
# def addli(alist):
# for i in alist:
# yield i+1
# print("addliStr(alist)数组演示结果:")
# for i in addliStr(alist):
# print(i,end="\t")
# print("\naddli(alist1)数组演示结果:")
# for i in addli(alist1):
# print(i,end="\t")
#第一种yield的作用相当在原本的基础上进行你所规定操作(即我进行的整型加法操作和字符的拼接)
#测试2
def h():
print('study yield')
yield 5
print('go on!')
c = h()
d1 = next(c) # 第一次next()执行到study yield下的yield 5结束
d2 = next(c) # 第二次next()找不到yield所以会抛出异常
#结果什么都没有输出,一般和next()及send()一起操作如测试3
#测试3
# def s():
# print('study yield')
# m = yield 5
# print(m)
# d = yield 16
# print('go on!')
#
#
# c = s()
# s_d = next(c) # 相当于send(None)
# s_d2=c.send('Come on!') # (yield 5)表达式被赋予了'Fighting!'
# print("yeild的值为:",s_d,s_d2) #s_d为第一个yield的参数值 s_d2 为第二个yield的参数值
yield总结
1.整型,浮点型的运算;String类型的拼接
2.阻塞,可转化自己想要的值,或者可直接取yield后的参数值