百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python02_函数(python函数csdn)

off999 2024-10-18 08:00 48 浏览 0 评论

一、函数的作用

  • 可以具体完成某个功能
  • 可以重复使用(函数就是存储运行过程)

二、函数的定义

关键字 def

def 函数名(参数1,参数2,参数3):

函数体

return 表达式

下面是一个计算的简单函数,名为add():

def add():
    a = 1 + 6 * 4
    b = a + 4
    print(b)
add()
  • 使用关键字def来告诉Python要定义一个函数
  • 向Python指出了函数名,函数名为add():,定义以冒号结尾
  • def add():后面的所有缩进行构成了函数体,描述了函数是做什么的
  • 函数要先定义,才能调用
  • 函数的调用必须加括号

要使用这个函数,可调用它。函数调用让Python执行函数的代码,由于add()函数没有指定任何参数,所以要调用函数,直接指定函数名即可。

三、函数的类型

1、函数的位置参数

可以通过函数名后面的括号传递参数,下面是一个带有位置参数的函数,名为run_cases():

def run_cases(num):
    for case in range(num):
        print(f'正在执行第{}条用例')
    # 调用函数传入的参数其实就是去给函数定义的时候的变量去赋值
run_cases(10)

设置位置参数的原则:

  • 函数当中存储多行代码:观察哪些数据会变化,则把它作为参数

关于函数的参数传递,需要注意如下几点:

  • 调用函数传递的参数个数一定要跟函数定义的参数个数一致,位置要保持一致,顺序要保持一致,否则会报错
  • 注意函数体里面参数的类型,要输入正确的参数类型,否则会报错
  • 函数的形式参数和实际参数要配对,一一对应
  • 函数调用后,如果有变量,那其实就是给变量赋值

形式参数与实际参数的区别:

  • 形式参数:函数定义的时候的参数,就是个变量
  • 实际参数:函数调用的时候传入的参数,就是个值

2、函数的关键字参数

关键字参数指的是在调用具有参数默认值的函数时,使用参数的关键字来指定为哪个参数赋值。下面是一个带有关键字参数的函数,名为run_cases():

def run_cases(a,b,c):
    for case in range(a):
        print(f'正在执行第{}条用例')
    print(b + c)
run_cases(a=5,c=3,b=4)

关键字参数的作用:

  • 在传实际参数的时候,即时说明实际参数的意义

位置参数和关键字参数的混合时的注意点:

  • 位置参数一定要在关键字参数的前面,避免冲突
  • 不能对一个参数进行多次赋值
  • 不能使用未知关键字参数

3、函数的默认参数

默认参数,在定义函数时给予默认值,调用函数时不需要给予默认参数。

def 函数名(...,形参名,形参名=默认值)

代码块

注意??

  • 在使用此格式定义函数时,指定有默认值的形式参数必须在所有没默认值参数的最后,否则会产生语法错误。
def run_cases(a,b,c=3)
    for case in range(a):
        print(f'正在执行第{case}条用例')
    print(b+c)
# 不给c传实际参数
# 默认参数的作用:可以不传参数
run_cases(1,4)

4、函数的动态参数

预先不知道函数需要接受多少个实参,所以Python中有一个动态参数的概念,随便你传递多少个的参数给函数,它都全盘接受,并在函数体内做进一步处理。

def add(*args):
    print(args)
add(1,2,3,4)

打印出来的结果都是元组类型,那么无论你传递多少个参数进来,它都会把这些参数存储到一个元组里面。比如可以去计算任意个数数字的总和:

def add(*args):
    sum = 0
    for item in args:
        sum += item
    print(sum)
add(1,2,3,4)

大家应该充分体验到了动态参数带来的便利,当我们面对不知道要传递多少个参数的函数时,就可以利用动态参数这个用法。

5、带有关键字的动态参数

带有关键字的动态参数,与普通动态参数的区别就是:带有关键字,且必须指定关键字,否则识别不了。

def run(a,**b):
    # b 就是把剩下的关键字参数全部都放到一起(字典)
    print(a)
    print(b)  
run(3,H='fuyao',Z='zhishang')

传入的带有key值的参数,都被转成了字典,所以当你传入的值不确定个数的时候又要组成字典,那么我们就可以用这种形式去做处理。

6、位置参数、默认参数、动态参数、关键字动态参数的混合使用

def add(a,b=4,c=5,*args,**kwargs):
    print('a+b+c的结果是:',a+b+c)
    sum = 0
    # args 就是把剩下的位置参数全部都放到一起(元组)
    for item in args:
        sum += item
    print('动态参数的累加结果是:',sum)
    # kwargs 就是把剩下的关键字参数全部都放到一起(字典)
    print('关键字动态参数是:',kwargs)
# 调用函数
add(1,2,3,4,5,6,x=1,y=2)

根据传递的参数,我们可以看到是优先处理位置参数,然后剩余的参数传递给args,带有关键字的参数传给kwargs。

7、函数的拆包

然而现实中,自动化测试用例中有很多数据(url、方法、参数等),存那么多变量不太现实,那我们可以将多个数据存在一个变量中,此时就会用到拆包了。

1)*args:把元组中的数据进行拆包,也就是把元组中的数据拆成单个数据。

def run(a,b,c):
    print(a)
    print(b)
    print(c)
 
args = [6,7,8]
# *args 是把所有的列表/元组元素拆分,脱衣服
run(*args)

2)**kwargs:用来接收key=value这种类型的命名参数,把字典中的数据进行拆包。

def run(a,b,c):
    print(a)
    print(b)
    print(c)
 
# 关键字参数调用
kwargs = {"a":6,"b":7,"c":8}
# **是把字典转化成关键字参数的
run(**kwargs)   

8、函数的返回值

上面我们写的函数,调用函数的结果都直接输出在控制台,其实并非所有的函数都会直接输出在控制台,如果我们要拿到这个函数的运行结果,那么就需要用return语句,将函数的运行结果返回来,由你去做进一步的处理。

def run_cases(a=1,b=3,c=3):
    for case in range(a):
        print(f'正在执行第{case}条用例')
    print(b + c)
    return 5
    # 不会执行下面这条语句
    print('函数执行完了吗')
print(run_cases())

返回值需要注意:

  • 如果你想拿到函数的运行结果,那么必须用return语句。
  • return后面的语句,都不会再执行,可以自己去尝试下。

9、函数的局部变量和全局变量

Python中的全局变量与局部变量的区别:全局变量与局部变量两者的本质区别就是在于作用域。

全局变量是在整个py文件中声明,全局范围内都可以访问;局部变量是在某个函数中声明,只能在该函数中调用它,如果试图在超出范围的地方调用,程序就会报错。

一般全局变量会用大写字母来标志,如果是局部变量,就会用小写字母来标志。

  • 全局变量在函数内部和外部都可以调用,局部变量只能在函数内调用,否则会报错。
A = 66    # 全局变量
def add():
    a = 100    # 局部变量
    print(a+A)
 
add() # 打印结果是166
print(A) # 打印结果是66
print(a) # 报错:NameError:name 'a' is not defined
  • 函数的外部无法直接获取局部变量,可以间接获取,通过return(返回值)。
a = 1    # 全局变量
def run():
    b = 2    # 局部变量
    print(b)
    return b
print(a)
run()
  • 如果全局变量和局部变量不一样,那么会优先调用局部变量。
A = 66   # 全局变量
def add():
    a = 100 # 局部变量
    print(A+A)
 
add() # 打印结果是200
print(A) # 打印结果是66
  • 如果想在函数内部改变全局变量的值,那么在全局变量之前加global关键字。
A = 66   # 全局变量
def add():
    global A
    A = 100 # 局部变量
    print(A+A)
 
add() # 打印结果是200
print(A) # 打印结果是100
  • 如果全局变量是列表类型,那么我们可以通过append等列表方法去对列表进行修改,否则修改不成功。
list_1 = ['hello',20]
def add():
    list_1.append(99)
    print(list_1)
add()    # 打印结果是['hello',20,99]
print(list_1)    # 打印结果是['hello',20,99]

10、内部函数

内置函数:Python官方自带的函数,不需要自己定义。

  • eval() 函数用来执行一个字符串表达式,并返回表达式的值。

可看以下示例:对表达式的结果进行计算,返回计算后的值

a = "1 + 5 + 3"
print(eval(a))  # 脱掉字符串左右两边的衣服

将输入的字符串转为对应的数据类型,列表、元组、字典等数据类型都可以使用这种方式输入

response = '{"username":"sun","age":16}'
print(type(response))
a = eval(response)
print(type(a))
  • sum() 方法对序列进行求和计算,并返回计算结果。
a = sum([3,4,5,6])
print(a)

相关推荐

tplogin管理员登录入口(tplogin重新设置密码)

tplogin.cn是新版tplink路由器的登录地址(管理页面地址),在浏览器中输入tplogin.cn,就可以打开tplink路由器的管理页面(登录页面)。具体的登录方法如下:1、打开电脑上的浏...

psp模拟器怎么导入游戏(psp模拟器怎么导入游戏 Vivo手机)

方法如下:1、打开能操作文件的助手软件,用pp链接后点击左下文件,然后点常用目录下的程序用户,会出现ppsspp的文件夹。2、打开ppsspp文件夹,会出来四个选项文件夹,第一个进去后是psp文件夹,...

电脑系统怎样升级(电脑系统怎么升级)

电脑系统升级方法步骤,1、打开电脑,点击电脑左下角的开始菜单,在弹出的菜单选项中选择“控制面板”。2、点击“开始”,点击“控制面板”3、在控制面板中,点击“系统和安全”。4、点击启用或禁用自动更新。5...

win10正版系统下载网站(win10官方下载网站)
  • win10正版系统下载网站(win10官方下载网站)
  • win10正版系统下载网站(win10官方下载网站)
  • win10正版系统下载网站(win10官方下载网站)
  • win10正版系统下载网站(win10官方下载网站)
windows无法激活(windows无法激活有什么影响)

1.如果修复或重新组装了电脑,则可能是安装了不同版本的Windows。或者,如果在修复过程中为电脑使用了其他产品密钥,当使用该密钥的电脑数大于Microsoft软件许可条款允许的电脑数时,该密钥...

新机怎么激活windows10(新机怎么激活电池)
  • 新机怎么激活windows10(新机怎么激活电池)
  • 新机怎么激活windows10(新机怎么激活电池)
  • 新机怎么激活windows10(新机怎么激活电池)
  • 新机怎么激活windows10(新机怎么激活电池)
u盘文件恢复软件免费(恢复u盘数据免费的软件)
u盘文件恢复软件免费(恢复u盘数据免费的软件)

u盘损坏文件恢复方法:1、打开电脑桌面的“计算机”或“我的电脑”。2、然后再找到需要修复的u盘。3、打开“运行”窗口(可以直接按“Windows+R”快捷打开),输入“CMD”并点击“确定”按钮以进入命令提符界面。4、从打开的“命令提示符”...

2025-12-28 22:03 off999

win10蓝屏代码大全以及解决方法
  • win10蓝屏代码大全以及解决方法
  • win10蓝屏代码大全以及解决方法
  • win10蓝屏代码大全以及解决方法
  • win10蓝屏代码大全以及解决方法
电脑uac是什么意思

UAC就是用户帐户控制,在对计算机进行更改之前,用户帐户控制(UAC)会通知您。比如安装软件驱动什么的,默认UAC设置会在程序尝试对计算机进行更改时通知您,但您可以通过调整设置来控制UAC...

笔记本找不到自己家的wifi怎么办

1.笔记本电脑缺少无线网卡驱动,需要下载驱动如果笔记本电脑开机之后,无法显示WiFi网络的图标,这个时候多半是因为电脑缺少无线网卡驱动造成的,有时候自己在清理电脑的时候,不小心清理了驱动程序,便会...

电信宽带办理电话是多少(电信宽带办理联系电话)

电信宽带不一定需要电信手机号码,可以根据自身需要选择,有单独的宽带业务,一般要求预存一定时间的使用费。不过一般包含了宽带、手机号码的融合套餐总体上更优惠,对客户来说更划算。如果有相应需求的话,建议同时...

开机进入ghost启动项(电脑启动进入ghost)

电脑启动的时候进入GHOST界面方法:  1、首先确认电脑装了GHOST软件。  2、重启电脑,注意仔细观察电脑屏幕,会有一个3s或者10s的选择界面。让选择是进入GHOST界面,或者正常启动进入系...

华硕bios修复蓝屏图解(华硕bios修复蓝屏视频教程)

先看下BIOS是否可以识别到硬盘设备,若看不到,硬盘故障的可能性很大。若可以看到硬盘,建议先尝试进行BIOS兼容性设置:1,在BIOS界面,通过方向键进【Secure】菜单,通过方向键选择【Sec...

老电脑怎么装win7系统(老电脑装win7系统可以吗)

6年前的电脑,如果是用的当时最新的CPU的话,应该是第7代或者第6代酷睿等级的。运行windows7和windows10都应该没有压力。从软件的兼容性来说,还是建议安装windows10,因为现在有好...

电脑怎么设置到点自动关机(电脑怎样设置到点关机)

1、首先我们点击电脑屏幕左下角的开始按钮,在所有程序里依次选择附件---系统工具,接着打开任务计划程序。2、我们打开任务计划程序后,在最右边的操作框里选择创建基本任务,然后在创建基本任务对话框的名称一...

取消回复欢迎 发表评论: