一、引入
阅读如下代码,思考问题:下面的代码实现了2个数的加减乘除,并且把结果打印出来,运行如下代码感觉到哪些地方不太好吗?
# 定义了4个函数 def add_2_nums(): print("接下来要进行加法操作...") num1 = input("请输入第1个数:") num2 = input("请输入第2个数:") print("%s+%s=%d" % (num1, num2, int(num1) + int(num2))) def min_2_nums(): print("接下来要进行减法操作...") num1 = input("请输入第1个数:") num2 = input("请输入第2个数:") print("%s-%s=%d" % (num1, num2, int(num1) - int(num2))) def mult_2_nums(): print("接下来要进行乘法操作...") num1 = input("请输入第1个数:") num2 = input("请输入第2个数:") print("%s*%s=%d" % (num1, num2, int(num1) * int(num2))) def div_2_nums(): print("接下来要进行除法操作...") num1 = input("请输入第1个数:") num2 = input("请输入第2个数:") print("%s/%s=%d" % (num1, num2, int(num1) / int(num2))) # 分别调用函数 add_2_nums() min_2_nums() mult_2_nums() div_2_nums()
上述的代码,虽然能够实现2个数的加减乘除,但有个较大的问题:4个函数中每次都需要重新获取这2个数字,我们如果想要计算1和2的加减乘除的结果,就需要输入4遍数字1,4遍数字2,这太麻烦了
想要解决这个问题,大体的思路应该是,在调用加减乘除这4个函数之前先获取要操作的2个数字,然后将这2个数字传递给函数让它们直接用即可而不是每个函数都重新获取
Python中如果在调用函数时,需要将数据传递给函数,这就用到了一个新的”传参数“
二、使用流程
想要实现”传参数“的功能,只要注意2点即可:
- 定义函数时
()
中定义变量,变量的个数根据需要的个数来确定,这些变量的目的是用来存储传递过来的数据。我们把这些变量称之为”形参“ - 调用函数时
()
中写入要传递的数据,可以是常量、表达式、变量等,这些就是要真实传递的数据。我们把这些数据称之为”实参“
如下示例,展示了调用一个函数将数字100、200都传递给它
def test(num1, num2): print("传递过来的第1个数是:%d" % num1) print("传递过来的第2个数是:%d" % num2) print("它们俩的和是:%d" % (num1 + num2)) test(100, 200)
运行结果
传递过来的第1个数是:100 传递过来的第2个数是:200 它们俩的和是:300
注意:
三、练习
要求:定义一个函数,有3个形参,函数体中要实现的功能为第1个形参+第2个形参-第3个形参 输出结果到终端
参考代码:
def test(num1, num2, num3): print(num1+num2-num3) test(100, 200, 300)