君在长江头,我在长江尾,参数咋返回?(讲义)

一、数字类型:属值传递;函数内的修改传不出来。

def func(x):
    x = 1
    print('函数里面,x的值是:', x)


x = 0
func(x)
print('函数外面,x的值是:', x)
函数里面,x的值是: 1
函数外面,x的值是: 0

二、字符串类型:属值传递;函数内的修改传不出来。

def func(x):
    x = 'python'
    print('函数里面,x的值是:', x)


x = 'hello'
func(x)
print('函数外面,x的值是:', x)
函数里面,x的值是: python
函数外面,x的值是: hello

三、元组类型:属值传递;函数内的修改传不出来。

def func(x):
    x = (11, 22, 33)
    print('函数里面,x的值是:', x)


x = (1, 2, 3)
func(x)
print('函数外面,x的值是:', x)
函数里面,x的值是: (11, 22, 33)
函数外面,x的值是: (1, 2, 3)

四、敲黑板了!列表类型:属引用传递;但若整体改头换面、另起炉灶,依然传递不出来。

def func(x):
    x = [11, 22, 33]
    print('函数里面,x的值是:', x)


x = [1, 2, 3]
func(x)
print('函数外面,x的值是:', x)
函数里面,x的值是: [11, 22, 33]
函数外面,x的值是: [1, 2, 3]

五、列表类型:属引用传递;按索引或切片的方式修改可以传递出来。

def func(x):
    x[0] = 11
    x[1:] = [22, 33, 44]
    print('函数里面,x的值是:', x)


x = [1, 2, 3]
func(x)
print('函数外面,x的值是:', x)
函数里面,x的值是: [11, 22, 33, 44]
函数外面,x的值是: [11, 22, 33, 44]

六、字典类型:属引用传递;与列表类似。

def func(x):
    x['Jack'] = 66
    x['Andy'] = 88
    print('函数里面,x的值是:', x)


x = {'Jack': 60, 'Andy': 80}
func(x)
print('函数外面,x的值是:', x)
函数里面,x的值是: {'Jack': 66, 'Andy': 88}
函数外面,x的值是: {'Jack': 66, 'Andy': 88}

总结:

  1. 数字、字符串、元组:按值传递,传不出来;
  2. 列表,字典:按引用传递,只要不另起炉灶,可以传出来。
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值