setattr及yield问题

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后的参数值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值