Python(十一)——自定义函数的详细使用

Python(十一)——自定义函数的详细使用

1、函数的定义和调用

函数定义格式:

def 函数名(参数列表):
    #代码块
    [return [返回值]]
  • 参数列表:函数可以接收多个参数,参数之间用逗号隔开

  • 返回值:返回值可以有也可以没有

使用实例:打印两个数的最大值

def fun1(a, b):
    if a >= b:
        return a
    else:
        return b
#调用函数
print(fun1(10, 20))

执行结果:

20

形参和实参

形参:在定义函数时,函数名后面括号中的参数

实参:在调用函数时,函数名后面括号中的参数

#obj 形参
def demo(obj):
    print(obj)
#a 实参    
a = 'abc'    
def(a)

位置参数和关键字参数

使用实例:

#位置参数:
fun1(10, 20)
#关键字参数:
fun1(a=10, b=20)
#混合传参:关键字参数必须位于所有的位置参数之后
fun1(10, b=20)

默认参数

在定义函数时,可以直接给形式参数指定一个默认值,在调用时不指定参数的值,也可以直接使用定义函数时设置的默认值。

定义时,有默认值的参数要定义在后面:

def fun2(b, a=10):
    c = a+b
    print(c)
    
#调用函数    
fun2(20)

执行结果:调用时给b传的值为20,而a使用的是默认值10

30

2、全局变量和局部变量

局部变量:定义在函数内部的变量,只能在函数内部使用

def fun3():
    #局部变量
    a = 10
    b = 20
    print(a+b)
fun3()
#在外部使用局部变量
print(a+b)

执行结果:使用局部变量时报错,NameError: name ‘a’ is not defined 变量未定义

30
Traceback (most recent call last):
  File "E:/Python学习代码/function.py", line 28, in <module>
    print(a+b)
NameError: name 'a' is not defined

全局变量:定义在函数外部的变量,可以在函数外部使用,也可以在函数内部使用

#定义全局变量
c = 20
d = 30
def fun4():
    print(c+d)
fun4()
print(c+d)

执行结果:全局变量在函数内外都被使用

50
50

3、局部函数

在函数内部定义的函数,称为局部函数

def outdef ():
    #定义局部函数
    def innerdef():
        print("定义局部函数")
    #局部函数作为返回值
    return innerdef1()
outdef()

执行结果:将局部函数作为返回值,就可以在全局范围内使用

定义局部函数

注意事项:局部函数中不能定义有和所在函数中变量同名的变量,会报如下错误:UnboundLocalError: local variable ‘name’ referenced before assignment

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万里顾—程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值