《Python语言程序设计》 —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]
- 点赞
- 收藏
- 关注作者
评论(0)