zoukankan      html  css  js  c++  java
  • 函数参数和函数返回值

    函数参数和函数返回值

    函数参数

    思考一个问题,如下:

    现在需要定义一个函数,这个函数能够完成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个参数

    • 调用的时候,这个函数定义时有几个参数,那么就需要传递几个参数

    <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 1SyntaxError: positional argument follows keyword argument  >>> >>>
    

    <4> 小总结

    • 定义时小括号中的参数,用来接收参数用的,称为 “形参”

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

    函数返回值

    <1>“返回值”介绍

    现实生活中的场景:

    我给儿子10块钱,让他给我买包烟。这个例子中,10块钱是我给儿子的,就相当于调用函数时传递到参数,让儿子买烟这个事情最终的目标是,让他把烟给你带回来然后给你对么,,,此时烟就是返回值

    开发中的场景:

    定义了一个函数,完成了获取室内温度,想一想是不是应该把这个结果给调用者,只有调用者拥有了这个返回值,才能够根据当前的温度做适当的调整

    综上所述:

    • 所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果

    <2>带有返回值的函数

    想要在函数中把结果返回给调用者,需要在函数中使用return

    如下示例:

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

    或者

        def add2num(a, b):
            return a+b
    

    <3>保存函数的返回值

    在本小节刚开始的时候,说过的“买烟”的例子中,最后儿子给你烟时,你一定是从儿子手中接过来 对么,程序也是如此,如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存

    保存函数的返回值示例如下:

        #定义函数
        def add2num(a, b):
            return a+b        #调用函数,顺便保存函数的返回值
        result = add2num(100,98)        #因为result已经保存了add2num的返回值,所以接下来就可以使用了
        print result
    

    结果:

        198
    

    原文链接:做最专业最懂你的编程微刊技术分享平台,提供你最需要的开发学习资源。 我们专注于编程开发技术的学习与交流,我们坚持,每天进步一小步,人生进步一大步!关注【编程微刊】,与我们一起学习进步。https://www.jianshu.com/u/05f416aefbe1



  • 相关阅读:
    【Lintcode】112.Remove Duplicates from Sorted List
    【Lintcode】087.Remove Node in Binary Search Tree
    【Lintcode】011.Search Range in Binary Search Tree
    【Lintcode】095.Validate Binary Search Tree
    【Lintcode】069.Binary Tree Level Order Traversal
    【Lintcode】088.Lowest Common Ancestor
    【Lintcode】094.Binary Tree Maximum Path Sum
    【算法总结】二叉树
    库(静态库和动态库)
    从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/ting6/p/9725777.html
Copyright © 2011-2022 走看看