文章详情页
python小白 问关于形参和实参的问题
浏览:197日期:2022-06-28 15:35:20
问题描述
代码如下:
# -*- coding:gb2312 -*-def test(a,b,funC): result = funC(a,b) return resultfunC = eval(input('请输入函数'))num = test(11,22,funC)print(num)
执行如下:

我输入:lambda x,y:x+y或者lambda x,y:x**y都可以成功没问题
我的问题是:lambda 后面的字母是x和y 和前面funC(a,b)里面的a,b 不一样为什么也可以成立?
换句话说,为什么不应该是lambda a,b:a+b 我输入的字母不应该跟上面的字母是一样的么?
问题解答
回答1:实参(argument):全称为'实际参数'是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等. 形参(parameter):全称为'形式参数' 由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数.
所以lambda a,b:a+b 中的 a, b是形参, 在函数体内用作局部变量, 而x, y在函数体内用作局部变量, 变量可以为实参的.所以作为lambda函数表达式的实参. 不需要一样的.
相关文章:
1. javascript - 求帮助 , ATOM不显示界面!!!!2. Java 在内部类中访问变量。需要宣布为最终3. angular.js - angular如何获取一段html代码赋值到另一个地方,html里面的ng-click事件还要能生效?4. css - flex换行后如何设置行距?(direction:row+warp:warp)5. javascript - 请问div是个链接,鼠标移上去能出现一个div,比如查看更多按钮,怎么做?6. mysql - sql数据还原7. html5和Flash对抗是什么情况?8. javascript - js中递归与for循环同时发生的时候,代码的执行顺序是怎样的?9. nginx - 使用wordpress搭建博客,怎么实现真实服务器使用HTTP,然后使用UPYUN的HTTPS加密?10. javascript - js一个call和apply的问题?
排行榜

网公网安备