一、函数示例

        print()、round()

        Python学习笔记(11):函数

        round(需要操作的变量,需要保留的小数位数)

        函数的特性:1.功能性,有明确的功能
                   2.隐藏细节
                   3.避免重复代码

二、使用def定义函数

   2.1     def funcname(parameter_list):

                pass->代表函数体,即函数中需要执行的代码块

        python中可以使用return来返回值,如果没有return,则默认返回的是none

Python学习笔记(11):函数

注:以下代码中,print()会形成一个递归函数,运行会报错

Python学习笔记(11):函数

提示超出了最大限制的递归次数,这个递归次数可以人为更改,更改代码如下:

import sys

sys.setrecursionlimit(1000000)

注:自己设置的递归次数,不一定会成功执行,超出python规定的最大次数会执行失败

      2.2 打印参数,print(变量1,变量2,...),示例

Python学习笔记(11):函数

因为print_test()中没有return,所以b = none

2.3 函数返回多个结果

       return 返回值1,返回值2,...

        python中会将返回的多个值归为元组

         Python学习笔记(11):函数

        返回的多个值,可以使用序列解包的方法进行赋值,即:变量1,变量2,... = 函数(参数1,参数2,...)

        示例如下:

        Python学习笔记(11):函数

      2.4 序列解包

        2.4.1多个变量赋相同的值时,可以简化为:变量1=变量2=变量3 = 值

        如:Python学习笔记(11):函数  与 Python学习笔记(11):函数的效果一样

        2.4.2 序列解包:变量1,变量2,... = 值1,值2,...

            Python学习笔记(11):函数

            给d赋多个值时,即使不加括号,d也是元组类型

            Python学习笔记(11):函数Python学习笔记(11):函数的效果一样

三、参数  

    3.1必须参数:在函数中定义的参数,在调用此函数时是必须要传入值的  

        Python学习笔记(11):函数此时a使用的是必须参数          

           形式参数:定义函数时的参数变量

           实际参数:调用函数时传入的参数的实际值

     3.2 关键字参数:调用函数时,格式为:函数名(形参1=实参1,形参2 = 实参2),这样可以提高函数的可读性

        Python学习笔记(11):函数此时使用的是关键字参数,关键字参数可以不用考虑参数的排序,因为指名了给哪个参数赋值       

        必须参数与关键字参数的区别在于函数的调用上

       3.3 默认参数:定义函数时,给部分参数传入固定的值,调用此函数时只需要给其它参数传入值就可以了

        注:3.3.1函数中,必须传入的参数要放在默认参数前面,如:Python学习笔记(11):函数

                必须传入的参数不能放在默认参数后面,以下代码会报错

                Python学习笔记(11):函数   

               3.3.2调用函数时,只更改部分默认参数的值时,可使用关键字参数的传入方法,如

                Python学习笔记(11):函数

                3.3.3调用函数时,关键字参数不能与其它形式的参数穿插使用,如下:

                 Python学习笔记(11):函数

         3.4可变参数:函数的参数个数未知时,使用“*参数名”定义的参数为可变参数

                Python学习笔记(11):函数且被传入的多个参数会被看为一个元组

                注:传参时,若传入的是一个元组,那么结果会变为二维元组,如:

                Python学习笔记(11):函数此时若不想结果变为二维元组,可以在传值时,给值前面加一个*,如:Python学习笔记(11):函数这个相当于将元组a中的值平铺到函数的参数中

            可变参数可以与其它参数一起使用,顺序优先级为:必传参数>可变参数>默认参数,如果不按这个顺序排列,代码运行时虽不会报错,但是会与预期结果相差,如:

            Python学习笔记(11):函数 此时将1的值传给了默认参数,将1,2,3括起来成为一个元组,也会将值传给默认参数,而无法传给可变参数,如

            Python学习笔记(11):函数 

            将默认参数放到最后时,可将1,2,3的值传给可变参数,如:

            Python学习笔记(11):函数 

            注:参数有可变参数,也有默认参数时,调用函数时,若要改变默认参数的值应使用关键字参数的方式给默认参数赋值,如:

            未使用关键字参数的方式时运行如下: 

            Python学习笔记(11):函数

            使用关键字参数的方式运行结果如下:

            Python学习笔记(11):函数

            3.4.1 可变参数,大多使用for循环来遍历

               Python学习笔记(11):函数


        实际写代码中,不建议将函数的参数写的这么复杂  

        3.5 关键字可变参数

              3.5.1 关键字可变参数使用**param

                Python学习笔记(11):函数说明关键字可变参数一个字典

                3.5.2 遍历关键字可变参数,使用以下方法:

                    a)遍历所有的key:for key in param.keys()

                    b)遍历所有的value:for value in param.values()

                    c)遍历所有的key和value:for key,value in param.items()

                    Python学习笔记(11):函数

                   解包序列的方法:

                   a = {'stu1':87, 'stu2':93}

                   student_score(**a)

                    Python学习笔记(11):函数

      

相关文章:

  • 2022-12-23
  • 2021-11-14
  • 2021-11-30
  • 2021-12-19
  • 2021-12-14
  • 2021-06-26
  • 2021-06-01
  • 2021-07-15
猜你喜欢
  • 2022-12-23
  • 2021-09-14
  • 2021-10-16
  • 2021-10-18
  • 2021-10-28
  • 2021-10-02
  • 2022-12-23
相关资源
相似解决方案