python3 函数的形参

本文详细介绍了Python函数中的各种参数类型,包括位置形参、缺省参数、星号元组形参、命名关键字形参及双星号字典形参,并通过示例展示了它们的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数的形参

函数的缺省参数

语法:

def 函数名(形参名1=默认实参,形参名2=默认实参2,...):

语句

示例:

def info(name,age=1,address="不详"):

    print("我是",name,'我今年:',age,'岁','家庭住址:',address)

info("张飞",30,'中原')

info('金毛',3)

info('柯基')

 

说明:

缺省参数必须自右至左依次存在

缺省参数可以有0个,1个,多个,甚至全部都有缺省参数

缺省参数的绑定对象存在于函数内,同函数的生命周期一致

 

示例:

def fn(a,lst=[]):

    lst.appen(a)

    print(lst)



L=[1,2,3,4]

fn(5,L)

 

 

函数的形参定义方式:

1.位置形参

2.星号元组形参

3.命名关键字形参

4.双星号字典形参

 

位置形参:

def 函数名(形参名1,形参名2,...):

    语句块

 

星号元组形参:

def 函数名(*元组形参名):

    语句块

作用: 收集多余的位置传参

 

命名关键字形参:

def 函数名(*,命名关键字形参):

    语句块

 

def 函数名(*args,命名关键字形参):

    语句块

作用:

所有命名关键字形参都强制调用采用关键字传参或字典关键字传参的方式调用

 

双星号字典形参:

def 函数名(**字典形参名):

    语句块

作用:

收集多余的关键字传参

注:

字典形参名通常叫 kwargs

 

 

函数参数说明:

位置形参,缺省参数,星号元组形参,命名关键字形参,双星号字典形参可以混合使用

自左至右的顺序为:

1.位置形参

2.星号元组形参

3.命名关键字形参

4.双星号字典形参

可以接受任意位置传参和关键字传参的函数:

def fn(*args,**kwargs):

    pass

函数变量

函数名是变量,它是创建时绑定一个函数

 

实例:

def f1(lst=[]):

    print("f1函数被调用")

f1()

f1=None

f1() #出错

f1 绑定None

 

实例:

def f1():

    print("Hello")

def f2():

    print("World")

f1,f2=f2,f1

f1() #World

 

一个函数可以作为另一个函数的参数(实参)传递

示例:

def f1():

    print("f1函数被调用")

def f2():

    print("f2函数被调用")



def fx(fn):

    print("fn绑定的函数是",fn)

 

函数可以作为另一个函数的返回值:

函数可以返回另一个函数

def get_op():

    s = input("请输入您的操作:")

    if s == "求最大":

        return max

    elif s == "求最小":

        return min

    elif s == "求和":

        return sum

L=[2,4,6,8,10]

print(L)

f = get_op()

print(f)

 

函数嵌套定义:

def 语句的作用是用来创建一个函数

def 语句可以写在函数内部,在函数执行时可以动态创建一个函数

 

示例:

def get_func(value):

    if value == 1:

        def myadd(x,y):

            retrun x + y

        retrun myadd

    elif value ==2:

        def mysub(x,y):

            retrun x - y

        retrun mysub

fx = get_func(1)

print(fx(400,300)) #700

fx = get_func(2)

print(fx(400,300)) #100

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值