python小白必看,函数的参数

1. 默认值参数

定义形参时,可以为形参指定默认值。
指定了默认值以后,如果用户传递了参数则默认值不会生效。
如果用户没有传递,则默认值就会生效

def fun(name,gender,hobby,x='000'):
    '''
    x 为默认值参数
    name,gender, hobby 为形参
    '''
    print('My name is %s'%name,end=' ')
    print('sex %s'%gender,end =' ')
    print('hobby %s'%hobby,end=' ')
    print ( x )
fun('pony','male','pythons and girls',666)
fun('pony','male','pythons and girls')

执行结果

My name is pony sex male hobby pythons and girls 666
My name is pony sex male hobby pythons and girls 000

2.位置参数

位置参数就是将对应位置的实参赋值给对应位置的形参,个数也一一对应。

def sum_num(num1,num2):
    result = num1 + num2
    print(num1)
    print(num2)
    print(f'{num1}+{num2}={result}')
num1 = 10
num2 = 20

print('换位前:')
sum_num(num2,num1)
print('换位后:')
sum_num(num1,num2)

执行结果

换位前:
20
10
20+10=30
换位后:
10
20
10+20=30

3.关键字参数

关键字参数可以不按照形参定义的顺序去传递,而根据参数名进行传递 ,不受位置影响

def fn(name='小马',gender='男',hobby='女'):
    '''
    :参数 name: 关键字参数
    :参数 gender: 关键字参数
    :参数 hobby: 关键字参数
    '''
    print('我叫%s'%name)
    print('性别%s'%gender)
    print('爱好%s'%hobby)

执行结果:

我叫小马
性别男
爱好女

4.可变长度参数(不定长参数)

可传可不传

当函数中传递参数过多时,我们用 * 星号加参数来代替

  • 定义函数时,可以在形参前面加一个*,这样这个形参可以获取到所有的实参,它会将所有的实参保存到一个元组中
  • 函数中 带*号的形参只能有一个,可以和其他参数配合使用
  • *形参只能接受位置参数,不能接受关键字参数
def fn(a,b,*c):
    print(a,b)
    print(*c) # 拆包
    print(c)# 未拆包

fn(1,2,3,4,5,6,7,8,9,0)

执行结果

1 2
3 4 5 6 7 8 9 0
(3, 4, 5, 6, 7, 8, 9, 0)
  • **形参可以接收其他的关键字参数,它会将这些参数统一保存到字典当中。字典的key就是参数的名字,字典的value就是参数的值
  • **形参只有一个,并且必须写在所有参数的后面
def fn(**d):
    print(d)
fn(x=0,y=1)

执行结果

{'x': 0, 'y': 1}

解包(拆包)

常用

x,y,z = [1,2,3]

不常用

def fn(a,b,c):
    print(a,b,c)

Tuple = (3,4,5)
fn(*Tuple)

执行结果

3 4 5

5.组合参数

混合参数就是把前面几种参数混合在一起作为形参传给函数
混合使用位置参数和关键字参数的时候必须将位置参数写到关键字参数前面去

留给读者的信:

  • 本文适合于小白,初学生,高中生。大神如果发现有何不妥,还请留言或私信不吝赐教!收到后会及时改正。
  • 现在才开始,还有诸多不完善之处,请见谅
  • 本人利用工作之余进行创作,制作周期比较长。有时可能会偷偷懒,还请大家多监督监督,或者给我一些鼓励。
  • 也希望大家能真正学到东西

赠人玫瑰,手有余香!
请帮我点个赞呗!
上一篇:函数声明与调用
下一篇:可变类型传参与不可变类型传参

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

九坪村小马

你的鼓励是我创作的最佳动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值