• Day24 Python函数


    系列文章目录

    Day01 软件测试基础总结

    Day02 测试用例知识点总结(上)

    Day03 测试用例知识点总结(下)

    Day04 禅道-从安装到卸载

    Day05 MySql的基础使用

    Day06 MySql知识点总结

    Day07 MySql知识点再总结与多表查询

    Day08 redis的基础知识

    Day08 VMware的安装、Linux系统安装和Linux基础命令

    Day09 Linux常用命令总结

    Day10 Linux环境部署和项目构建

    Day11 shell脚本基础知识

    Day12 接口和协议

    Day13 Postman的使用

    Day13 Windows环境下的JDK安装与Tomcat的启动

    Day14 jenkins部署

    Day15 jenkins的简单使用

    Day16 charles的基本使用

    Day17 考试

    Day18 考试

    Day19 Fiddler的简单使用

    Day20 Python基础

    Day21 python 语句基础

    Day22 Python数据类型(上)

    Day23 Python数据类型(下)

    Day24 Python函数


    文章目录

    目录

    系列文章目录

    前言

    一、什么是函数

    二、函数定义和调用

     三、函数参数

    1.位置参数

    2.关键字参数

     3.缺省参数

    4.不定长参数

    5.参数位置顺序

    6.函数返回值

     7.函数类型

    8.函数的嵌套

     9.匿名函数

     二、变量

    1.局部变量

    2.全局变量

    总结


    前言

            函数与变量


    一、什么是函数

            在开发程序时,需要某块代码多次执行,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。

    二、函数定义和调用

    格式:

    def 函数名():
            执行语句
    函数名() #调用函数

    1. def aMethod(a,b):
    2. sum=a+b
    3. print(sum)
    4. return sum
    5. aMethod(3,4)
    6. '''
    7. 7
    8. '''

            定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它,通过 函数名() 即可完成调用。
            每次调用函数时,函数都会从头开始执行,当这个函数中的代码执行完毕后,意味着调用结束了,如果函数中执行到了return也会结束函数。

     三、函数参数

    1.位置参数

    格式:

    def 函数名(参数1,参数2):
            代码块
    函数名(值1,值2)

    1. def aMethod(a,b,c):
    2. print('a',a)
    3. print('b',b)
    4. print('c',c)
    5. aMethod(1,2,3)
    6. print('== == == == == == == == ==')
    7. aMethod(3,1,2)
    8. '''
    9. a 1
    10. b 2
    11. c 3
    12. == == == == == == == == ==
    13. a 3
    14. b 1
    15. c 2
    16. '''

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

    2.关键字参数

     格式:

    def 函数名(参数1,参数2):
            代码块
    函数名(参数1=值1,参数2=值2)

    注意:参数调用时,可以改变传参顺序,如果有位置参数需要位置参数放在关键字参数前面

    1. def aMethod(a,b,c):
    2. print('a',a)
    3. print('b',b)
    4. print('c',c)
    5. aMethod(c=1,b=2,a=3)
    6. print('== == == == == == == == ==')
    7. aMethod(3,1,c=2)
    8. '''
    9. a 3
    10. b 2
    11. c 1
    12. == == == == == == == == ==
    13. a 3
    14. b 1
    15. c 2
    16. '''

     注意:第二次使用函数时,形式参数a和b为位置参数,只有c为关键字参数,关键字参数要在位置参数之后,各类参数是在定义函数时就决定好的,不是在调用函数时定义谁是关键字参数,比如:aMethod(3,a=1,b=2)这样是一定会报错的

     3.缺省参数

    在形参中默认有值的参数,称之为缺省参数

    函数有缺省参数,调用时不填缺省参数,会使用定义时的值如b,调用时重新定义则改为调用时传入的值如c,a为位置参数,缺省参数一定要位于位置参数的后面

    1. def aMethod(a,b=2,c=3):
    2. print('a',a)
    3. print('b',b)
    4. print('c',c)
    5. aMethod(3,c=2)
    6. '''
    7. a 3
    8. b 2
    9. c 2
    10. '''

    4.不定长参数

    有时可能需要一个函数能处理比当初声明时更多的参数, 这些参数叫做不定长参数,声明时不会命名

    格式:

    def printinfo(*args,**kwargs):
            print("args:",args)
            print("kwargs:",kwargs)
    printinfo(参数)

    1. def aMethod(*args,**kwargs):
    2. print('args',args)
    3. print('kwargs',kwargs)
    4. aMethod(1,2,3,4,'5',[6,7],(8,9),{'a':10},b=11,c='12')
    5. '''
    6. args (1, 2, 3, 4, '5', [6, 7], (8, 9), {'a': 10})
    7. kwargs {'b': 11, 'c': '12'}
    8. '''

    注意:加了星号(*)的变量args会存放所有未命名的变量参数,args为元组而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典

    5.参数位置顺序

    格式:

    def fun(位置参数,*args,缺省参数,**kwargs):
            代码块
    fun(参数值)

    1. def sun(a,*args,b=22,**kwargs):
    2. print("a:",a)
    3. print("args:",args)
    4. print("b:",b)
    5. print("kwargs:",kwargs)
    6. sun(100,200,300,b=2,m=3,n=4)
    7. '''
    8. a: 100
    9. args: (200, 300)
    10. b: 2
    11. kwargs: {'m': 3, 'n': 4}
    12. '''

    注意:如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 *args的后面, 但如果有**kwargs的话,**kwargs必须是最后的

    6.函数返回值

    格式:

    def sum():
            代码块
            return 值
    sum()

    1. def sum(a,b):
    2. return a+b
    3. print(sum(3,4))
    4. '''
    5. 7
    6. '''

     return后面可以是元组,列表、字典等,只要是能够存储多个数据的类型,就可以一次性返回多个数据

    1. def sum(a,b):
    2. return a+b,a-b,a*b,a/b
    3. print(sum(3,4))
    4. '''
    5. (7, -1, 12, 0.75)
    6. '''

    注意:一个函数中可以有多个return语句,但是只要有一个return语句被执行到,那么这个函数就会结束了,因此后面的return没有什么用处 

    1. def sum(a,b):
    2. return a+b
    3. print('!!!!')
    4. print(sum(3,4))
    5. '''
    6. 7
    7. '''

     7.函数类型

    1. 无参数,无返回值        一般情况下,打印提示等,类似的功能使用此类函数
    2. 无参数,有返回值        一般情况下,像采集数据使用此类函数
    3. 有参数,无返回值        一般情况下,对某些变量设置数据而不需结果时,用此类函数
    4. 有参数,有返回值        一般情况下,像数据处理并需要结果的应用,用此类函数

    8.函数的嵌套

    一个函数里面又调用了另外一个函数,这就是所谓的函数嵌套调用

    1. def sum(a,b,c):
    2. return a+b+c
    3. def avg(a,b,c):
    4. return sum(a,b,c)/3
    5. def difference(a,b,c):
    6. return a-avg(a,b,c),b-avg(a,b,c),c-avg(a,b,c)
    7. print(difference(1,2,3))
    8. '''
    9. (-1.0, 0.0, 1.0)
    10. '''

             如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次 函数A执行的位置

    1. def a():
    2. print('a start')
    3. b()
    4. print('a end')
    5. def b():
    6. print('b start')
    7. print('b run')
    8. print('b end')
    9. a()
    10. '''
    11. a start
    12. b start
    13. b run
    14. b end
    15. a end
    16. ''

     9.匿名函数

    lambda函数也叫匿名函数,即函数没有具体的名称

    1. sum=lambda a,b:a+b
    2. print(sum)
    3. print(sum(1,2))
    4. '''
    5. at 0x000001D205AC51F0>
    6. 3
    7. '''

     二、变量

    1.局部变量

    局部变量,就是在函数内部定义的变量

    其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的

    1. def test1():
    2. a = 120
    3. print("我是局部变量a:",a)
    4. a = 240
    5. print("修改之后的局部变量a:",a)
    6. def test2():
    7. a =360
    8. print("我是test02函数中的局部变量a",a)
    9. test1()
    10. test2()
    11. '''
    12. 我是局部变量a: 120
    13. 修改之后的局部变量a: 240
    14. 我是test02函数中的局部变量a 360
    15. '''

    注意:局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储当函数调用时,局部变量被创建,当函数调用完成后这个变量就不能够使用了

    2.全局变量

    在函数外边定义的变量叫做全局变量

    全局变量能够在所有的函数中进行访问

    1. a = 100
    2. def test1():
    3. print(a) # 虽然没有定义变量a但是依然可以获取其数据
    4. def test2():
    5. print(a) # 虽然没有定义变量a但是依然可以获取其数据
    6. # 调用函数
    7. test1()
    8. test2()
    9. '''
    10. 100
    11. 100
    12. '''

     全局变量的修改使用global,注意一定是先调用使用了global方法的函数,才能改变全局变量,如下面的例子,如果不先调用test1,直接调用test2,则变量a仍等于100

    注意:在函数中出现global 全局变量的名字 那么这个函数中即使出现和全局变量名相同的变量名 = 数据也理解为对全局变量进行修改,而不是定义局部变量

    1. a = 100 #全局变量
    2. def test1():
    3. global a,b #将a,b变成全局变量
    4. global c
    5. a= 300
    6. b= 100
    7. c=200
    8. print("修改后的a", a)
    9. print("修改后的b", b)
    10. print("修改后的c", c)
    11. def test2():
    12. print(a)
    13. print(b)
    14. print(c)
    15. # 调用函数
    16. test1()
    17. test2()
    18. '''
    19. 修改后的a 300
    20. 修改后的b 100
    21. 修改后的c 200
    22. 300
    23. 100
    24. 200
    25. '''

    总结

  • 相关阅读:
    cmakelist.txt , cmake, makefile, make 【超快区分理解】
    SAP 创建采购订单报错:未在项目项目号 公司代码 科目号 中输入承诺项目
    网络技术五:IP基本原理
    量子力学教程 第2.5章
    服务器网站崩溃怎么解决
    从哪些方面做好电商系统的网站建设?
    order by注入与limit注入
    【NVMe2.0b 14-8】Set Features(下篇)
    线程创建、线程池创建相关理论知识整理
    如何使用命令行参数?
  • 原文地址:https://blog.csdn.net/lookout99/article/details/126409275