Python 踩坑之传参的问题

Python 踩坑之传参的问题


前些天刚开始写Python, 没有指针各种不习惯(后来发现很强大。。。)


def fun(A) :
    A[0],A[1],A[2] = A[2], A[1], A[0]

def fun2(num) :
    num += 1

x = [1,2,3]

fun(x)

y = 10

fun2(y)
fun2(x[0])

print y
print x[0]
print x


Python里面其实"一切都是引用”.


对于常变量,这里就是y,但是因为y是个常量引用,于是这个引用不能改变他指向的常量。

函数传参的时候fun2(y)也不会改变原来y的值,于是这里会打印10而不是11

同理x[0]也是个常量引用


但是x不是常量引用,x是个list,他是变量,于是x对于这个变量的引用能够改变原来的值

fun(A)实现三个元素的逆序


这是程序的运行结果







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值