《Python语言程序设计》 —3.2.2 实参

举报
华章计算机 发表于 2019/11/18 20:51:16 2019/11/18
【摘要】 本节书摘来自华章计算机《Python语言程序设计》一书中第3章,第3.2.2节,作者是王恺 王志 李涛 朱洪文。

3.2.2 实参

实参的全称是实际参数,即在调用函数时函数名后面的一对小括号中给出的参数列表。当调用函数时,会将实参的值传递给对应的形参,函数中再利用形参做运算,得到结果。

例如,对于代码清单3-2中的CalCircleArea和CalRectArea两个函数,可以通过代码清单3-3所示的方式进行调用。


代码清单3-3 圆面积函数和长方形面积函数的调用

1    a=eval(input('请输入圆的半径:'))

2    CalCircleArea(a)

3    x=eval(input('请输入长方形的一条边长:'))

4    y=eval(input('请输入长方形的另一条边长:'))

5    CalRectArea(x,y)


执行程序后,如果输入圆的半径为3,输入长方形的两条边长分别为3.5和2,则在屏幕上会输出如下结果:

请输入圆的半径:3

半径为10.00的圆的面积为28.26

请输入长方形的一条边长:3.5

请输入长方形的另一条边长:2

边长为3.50和2.00的长方形的面积为7.00

提示 实参名和形参名不需要相同,在传递时根据位置一一对应。当有多个实参时,各实参之间用逗号分隔。

当实参传递给形参后,如果在函数体中对形参值做修改,则该修改并不会影响实参,即实参值不会改变。但如果实参是列表等对象时,可在函数体中通过形参修改实参列表中对应元素的值。例如,对于下面的代码:

1    def ModifyVal(x,y): #ModifyVal函数定义

2        x=y #将y的值赋给形参x

3    def ModifyListElement(ls,idx,val): #ModifyListElement函数定义

4        ls[idx]=val #将ls中下标为idx的元素值赋为val

5    a,b=5,10 #a和b的值分别赋为5和10

6    print(a,b) #输出5和10

7    ModifyVal(a,10) #调用ModifyVal函数试图将a赋为10,但实际不会修改a的值

8    print(a,b) #仍输出5和10

9    c=[1,2,3] #c的值赋为[1,2,3]

10   print(c) #输出[1,2,3]

11   ModifyVal(c,[4,5,6]) #调用ModifyVal函数试图将c赋为[4,5,6],但实际不会修改

12   print(c) #仍输出[1,2,3]

13   ModifyListElement(c,1,5) #调用ModifyListElement函数将下标为1的元素赋为5

14   print(c) #输出[1,5,3]

程序执行结束后,会在屏幕上输出如下结果:

5 10

5 10

[1, 2, 3]

[1, 2, 3]

[1, 5, 3]


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。