python学习(3)-函数:参数传递及类型

函数传参

1 a是元组,是不可变对象,但其子对象[5,6]是可变的,在方法内修改了这个可变对象,源对象也发生了变化

a = (10, 20, [5, 6])
print("a", id(a))

def test01(m):
    print("m:", id(m))
    m[2][0] = 888
    print(m)
    print("m:", id(m))

test01(a)
print(a)
print("a", id(a))

赋值内存示意图

参数类型

1 位置参数:常用
2 默认值参数:默认值参数必须位于普通参数后面

def f1(a,b,c=10,d=20) 
	print(a,b,c,d)
f1(8,9)
f1(8,9,19)

3 命名参数

def f1(a,b,c) 
	print(a,b,c)
f1(8,9,19)
f1(b=8,c=9,a=19)

4 可变参数
1)*param(一个星号),将多个参数收集到一个元组对象中

def f1(a, b, *c):
    print(a, b, c)


f1(10, 20, 30, 40)

输出:10 20 (30, 40)
2)**param(两个星号),将多个参数收集到一个字典对象中

def f2(a, b, **c):
    print(a, b, c)


f2(10, 20, name='张三', age=18)

输出:10 20 {‘name’: ‘张三’, ‘age’: 18}

5 强制命名参数
在带星号的“可变参数”后面增加新的参数,必须是强制明明参数

def f3(*a, b, c):
    print(a, b, c)


f3(10, 20, b=3, c=4)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值