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 函数名():
        执行语句
函数名() #调用函数

def aMethod(a,b):
    sum=a+b
    print(sum)
    return sum
aMethod(3,4)

'''
7
'''

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

 三、函数参数

1.位置参数

格式:

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

def aMethod(a,b,c):
    print('a',a)
    print('b',b)
    print('c',c)
aMethod(1,2,3)
print('== == == == == == == == ==')
aMethod(3,1,2)

'''
a 1
b 2
c 3
== == == == == == == == ==
a 3
b 1
c 2
'''

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

2.关键字参数

 格式:

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

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

def aMethod(a,b,c):
    print('a',a)
    print('b',b)
    print('c',c)
aMethod(c=1,b=2,a=3)
print('== == == == == == == == ==')
aMethod(3,1,c=2)

'''
a 3
b 2
c 1
== == == == == == == == ==
a 3
b 1
c 2
'''

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

 3.缺省参数

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

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

def aMethod(a,b=2,c=3):
    print('a',a)
    print('b',b)
    print('c',c)
aMethod(3,c=2)

'''
a 3
b 2
c 2
'''

4.不定长参数

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

格式:

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

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

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

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

5.参数位置顺序

格式:

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

def sun(a,*args,b=22,**kwargs):
    print("a:",a)
    print("args:",args)
    print("b:",b)
    print("kwargs:",kwargs)
sun(100,200,300,b=2,m=3,n=4)

'''
a: 100
args: (200, 300)
b: 2
kwargs: {'m': 3, 'n': 4}
'''

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

6.函数返回值

格式:

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

def sum(a,b):
    return a+b
print(sum(3,4))

'''
7
'''

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

def sum(a,b):
    return a+b,a-b,a*b,a/b
print(sum(3,4))

'''
(7, -1, 12, 0.75)
'''

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

def sum(a,b):
    return a+b
    print('!!!!')
print(sum(3,4))

'''
7
'''

 7.函数类型

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

8.函数的嵌套

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

def sum(a,b,c):
    return a+b+c

def avg(a,b,c):
    return sum(a,b,c)/3

def difference(a,b,c):
    return a-avg(a,b,c),b-avg(a,b,c),c-avg(a,b,c)

print(difference(1,2,3))

'''
(-1.0, 0.0, 1.0)
'''

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

def a():
    print('a start')
    b()
    print('a end')

def b():
    print('b start')
    print('b run')
    print('b end')

a()

'''
a start
b start
b run
b end
a end
''

 9.匿名函数

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

sum=lambda a,b:a+b
print(sum)
print(sum(1,2))

'''
<function <lambda> at 0x000001D205AC51F0>
3
'''

 二、变量

1.局部变量

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

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

def test1():
    a = 120
    print("我是局部变量a:",a)
    a = 240
    print("修改之后的局部变量a:",a)

def test2():
    a =360
    print("我是test02函数中的局部变量a",a)

test1()
test2()

'''
我是局部变量a: 120
修改之后的局部变量a: 240
我是test02函数中的局部变量a 360
'''

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

2.全局变量

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

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

a = 100
def test1():
    print(a) # 虽然没有定义变量a但是依然可以获取其数据
def test2():
    print(a) # 虽然没有定义变量a但是依然可以获取其数据
# 调用函数
test1()
test2()

'''
100
100
'''

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

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

a = 100 #全局变量
def test1():
    global a,b #将a,b变成全局变量
    global c
    a= 300
    b= 100
    c=200
    print("修改后的a", a)
    print("修改后的b", b)
    print("修改后的c", c)
def test2():
    print(a)
    print(b)
    print(c)
# 调用函数
test1()
test2()

'''
修改后的a 300
修改后的b 100
修改后的c 200
300
100
200
'''

总结

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值