37.函数参数

函数参数(一)

思考一个问题,如下:

现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计?下面的代码可以吗?有什么缺陷吗?

 def add2num():
       a = 11
       b = 22
       c = a+b
       print(c)

为了让一个函数更通用,即想让它计算哪两个数的和,就让它计算哪两个数的和,在定义函数的时候可以让函数接收数据,就解决了这个问题,这就是 函数的参数

<1> 定义带有参数的函数

示例如下:

def add2num(a, b):
    c = a+b
    print c

<2> 调用带有参数的函数

以调用上面的add2num(a, b)函数为例:

def add2num(a, b):
    c = a+b
    print c

add2num(11, 22) # 调用带有参数的函数时,需要在小括号中,传递数据

调用带有参数函数的运行过程:

<3> 练一练

要求:定义一个函数,完成前2个数完成加法运算,然后对第3个数,进行减法;然后调用这个函数

  • 使用def定义函数,要注意有3个参数
  • 调用的时候,这个函数定义时有几个参数,那么就需要传递几个参数
# 定义一个函数,完成前2个数完成加法运算,然后对第3个数,进行减法;然后调用这个函数
def addnum(a, b, c):
    ret1 = a + b -c
    print(ret1)
addnum(10, 20, 20)

<4> 调用函数时参数的顺序

>>> def test(a,b):
...     print(a,b)
... 
>>> test(1,2)
1 2
>>> test(b=1,a=2)
2 1
>>> 
>>> test(b=1,2)
  File "<stdin>", line 1
SyntaxError: positional argument follows keyword argument
>>> 
>>>

<4> 小总结

  • 定义时小括号中的参数,用来接收参数用的,称为 “形参”
  • 调用时小括号中的参数,用来传递给函数用的,称为 “实参”

例子1:

# # 需求: 利用函数完成 10 + 20 完成后求和打印
# # 函数的定义
# def add2num1():
#     # 定义两个变量
#     a = 10
#     b = 20
#     # 求和
#     ret = a + b
#     print(ret)
#
# # 函数的调用
# add2num1()
#
# # 需求: 利用函数完成 11 + 22 完成后求和打印
# # 函数的定义
# def add2num2():
#     # 定义两个变量
#     a = 11
#     b = 22
#     # 求和
#     ret = a + b
#     print(ret)
#
# # 函数的调用
# add2num2()

# 优化后 有参数的函数
# 函数的定义
"""
形参 = 形式参数
def 函数名(形参1, 形参2, ...):
    代码逻辑

"""
def add2num(a, b):
    # 求和
    ret = a + b
    print(ret)

# 函数的调用 (10 + 20)
# 实参 = 实际参数
# 格式: 函数名(实参1, 实参2, ...)
# 注意: 在完成函数的调用的时候 如果这个函数有形参
# 传入实参的个数必须要和形参一样多, 而且 实参和形参的位置要一一对应
add2num(10, 20)
# 函数的调用 (11 + 22)
# add2num(11, 22)

猜你喜欢

转载自www.cnblogs.com/kangwenju/p/12812333.html