老师,关于*args, **kwargs还有个疑问

老师,关于*args, **kwargs还有个疑问

https://img1.sycdn.imooc.com//climg/6234892b087fd16d21341121.jpg

老师,我打印了inner函数中的args参数,结果为('ok',)是一个元组

然后我又打印了func函数中的args参数,结果为'ok',这是为什么呢,*args接收到的参数应该都是元组类型吗,为什么inner函数中的args参数是元组,而func函数中的args参数是字符串呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕燕燕 2022-03-19 11:12:36

同学,你好!老师这边验证,在inner函数和test函数中打印args都为元组类型,可参考下面的代码,如果同学还有疑问,可将打印过程的代码粘贴在此处

https://img1.sycdn.imooc.com//climg/6235496309dcc96307780764.jpg

祝:学习愉快!

  • 提问者 慕田峪6467393 #1

    老师,这段代码我也打印过,我不明白的是,既然args的实参为('ok',)一个元组,那在下面的判断中 if result == 'ok'这句表达式应该不满足呀,('ok',)是元组,'ok'为字符串,应该不相等才对呀,为什么最后判断的结果是相等呢?

    2022-03-19 11:25:53
  • 好帮手慕燕燕 回复 提问者 慕田峪6467393 #2

    同学,你好!同学的理解是正确的,if result=='ok'是不满足条件的,而if result[0]=='ok'是满足条件的,取元组中第一个元素即为字符串'ok',判断结果相等,测试结果如下:

    https://img1.sycdn.imooc.com//climg/623551b509b74e5208830773.jpg

    祝:学习愉快!

    2022-03-19 11:48:30
  • 提问者 慕田峪6467393 回复 好帮手慕燕燕 #3

    老师,我看到您的注释了,但if表达式中写的是 if result == 'ok',并不是if result[0]=='ok'呀,这是两个不同结果的表达式,为什么结果是一样的呢?

    2022-03-19 12:50:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师