关于装饰器函数实参与形参 值传递的问题

关于装饰器函数实参与形参 值传递的问题

问题描述:

请问在使用func(1,2)函数时,其实参(1,2)是如何传入inner内部的?可以通过图片说明一下值的传递方式吗?

相关截图:

https://img1.sycdn.imooc.com/climg/65532c880942f54808460500.jpg


请老师解答

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

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

1回答
好帮手慕小猿 2023-11-14 22:01:57

同学,你好!实参是由被修饰的函数func1的形参进行传递的。当调用func1时,它实际上调用了inner(1, 2)。这是因为装饰器@print_log等效于调用func1 = print_log(func1),这行代码将func1作为实参传递给print_log函数,并将其结果重新赋值给func1。在print_log内部,它打印了传递进来的参数函数(即func1)以及在inner函数中打印的实参(即x和y)。

https://img1.sycdn.imooc.com/climg/65537d2d0979ff8406710752.jpg

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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