python-含参函数

#!/usr/local/bin/python3
# -*- coding:utf-8 -*-
'''
#----------函数位置参数和关键字参数----------
def test(x,y):  #此处的 x,y为形参
    print(x)
    print(y)
test(1,2)       #位置参数调用-此处的 1,2为实参,且与形参一一对应
test(y=2,x=1)   #关键字调用,与形参位置无关
#test(x=1,2)    #此处会报错:因为在位置参数调用和关键字调用混合使用的情况下,会优先进行位置参数调用
                #因此位置参数必须放在关键字的前面

#----------函数默认参数----------
def test(x,y=2):        #何为默认参数?
    print(x)            #指在定义形参时,给形参提前赋的值
    print(y)
test(1)     #此时若只传递一个实参,那么另外一个实参则由函数默认参数所指定
test(1,y=3) #也可修改默认参数,即传递实参时指定默认参数即可,与test(1,3)等价

#默认参数特点:调用函数时,默认参数可有可无(非必须传递)

#----------参数组----------#即 非固定参数

#1-实参个数不固定     #注:*args:接收N个位置参数转换为元组的形式
def test(*args):    #对于实参个数不固定的情况,可以定义一个'*'开头的形参,'*'是功能代号
    print(args)     #这个形参会将所有的实参放入一个tuple
test(1,2,3,4,5)
test(*[1,2,3,4,5])  #传入列表参数,相当于*args=*[1,2,3,4,5] --> args=tuple([1,2,3,4,5])

#1-与位置参数结合(*args)
def test2(x,*args):
    print(x)
    print(args)
test2(1,2,3,4,5,6,7)    #将 1 赋值给 x,(2,3,4,5,6,7)赋值给args

#2-接收字典作为参数
def test3(**kwargs):    #注:**kwargs:将N个关键字参数转换为字典的方式
    print(kwargs)
test3(name="zhangyu",age=18)  #将关键字名称作为key,参数值作为value
test3(**{"name":"zhangyu","age":18})    #可以传入一个字典作为参数

#3-与位置参数结合(**kwargs)
def test4(name,**kwargs):
    print(name)
    print(kwargs)
test4("zhangyu",age='18',sex='M')

#4-与默认参数结合
def test5(name,age=18,**kwargs):
    print(name)
    print(age)
    print(kwargs)
test5("mahongyan",sex='M',hobby='game')
test5("zhangguobin",sex='M',hobby='None',age='40')

#5-混合使用
def test6(name,age=18,*args,**kwargs):
    print(name)
    print(age)
    print(args)
    print(kwargs)
test6("zhangyu",age=34,sex='M',hobby='game')  #注:args只能接收位置参数,因此此时args为空
'''

  

转载于:https://www.cnblogs.com/octopuszy/p/9021327.html

Python中的有参函数是指在函数定义时需要传递参数的函数。主要有四种参数类型:位置参数、关键字参数、可变位置参数和可变关键字参数。 1. 位置参数:位置参数是指根据参数的位置来确定传递的值,例如:def func(a, b),a和b就是位置参数。调用函数时必须按照参数的顺序传递对应的值。 2. 关键字参数:关键字参数是指在函数调用时,参数以参数名=参数值的形式传递,例如:func(a=1),其中a=1就是关键字参数。调用函数时可以不按照参数的顺序传递值,只需要指定参数名即可。 3. 可变位置参数:可变位置参数使用*号作为前缀,在函数定义时表示可以接收任意数量的位置参数,这些参数会被打包成一个元组。例如:def func(*args),在调用函数时可以传入任意数量的位置参数。 4. 可变关键字参数:可变关键字参数使用**号作为前缀,在函数定义时表示可以接收任意数量的关键字参数,这些参数会被打包成一个字典。例如:def func(**kwargs),在调用函数时可以传入任意数量的关键字参数。 以上是Python中有参函数的大致流程,通过位置参数、关键字参数、可变位置参数和可变关键字参数,可以根据不同的需求灵活地传递参数给函数,使函数具有更强的适应性和扩展性。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python源码学习:Python函数浅析-有参函数](https://blog.csdn.net/qq_33339479/article/details/79793421)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值