zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    Internal Server Error处理程序“PageHandlerFactory-Integr”在其模块列表中有一个错误模块“ManagedPipelineHandler”
    OpenGL学习(4)——纹理
    OpenGL学习(3)——Shader(补)
    OpenGL学习(3)——Shader
    OpenGL学习(2)——绘制三角形(补)
    OpenGL学习(2)——绘制三角形
    OpenGL学习(1)——创建窗口
    PHP框架对地址进行Dispatch的思考
    OJ练习47——T12 Integer to Roman
    OJ练习46——T11 Container With Most Water
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12812333.html
Copyright © 2011-2022 走看看