Python学习之函数参数传递:传值 or 引用 ?

在学完Python函数那一章节时,很自然的的就会想到Python中函数传参时传值呢?还是传引用?或者都不是? 我回去看了看我以前做的关于浅拷贝与深拷贝的笔记,其实那里也已经涉及了一些引用相关的问题了。不过在这里还是再进行一次总结吧。

在回答上面的问题之前我们先来看看下面的代码:

代码1:

def foo(var):
    var = 2
    print(var)  #output: 2
a = 1
foo(a)
print(a)       #output: 1

恩,看似是值传递
代码2:

def bar(var):
    var.append(1)

b = []
print(b) #output:[]
bar(b)
print(b) #output:[1]

应该是引用传递?有点奇怪吧,为了弄清楚这个问题,我们先来了解一下Python中变量与对象的关系。

一、变量和对象
我们首先要知道Python中的“变量”与C/C++中“变量”是不同的。
C/C++中,当你初始化一个变量时,就是声明一块存储空间并写入值。相当于把一个值放入一个盒子里:
int a = 1;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值