在Python中的变量引用对象需注意的几点

 

        Python中,变量的作用仅仅是一个标识,只有赋值后才被创建,它可以引用任何类型的对象,而且在引用之前必须赋值。赋值后的变量指向响应的对象,拥有该对象的空间。类型属于对象,但是不是变量。

学习Python中有不明白推荐加入交流裙
号:654234959 
群里有志同道合的小伙伴,互帮互助,
群里有免费的视频学习教程和PDF!

[python] view plain copy

 

  1. a = 3  
  2. a = "science"  

 

        上述代码说明数值3和字符串“science”分别是两种对象,初始变量a赋值对象3被创建,变量a指向对象3的内存空间,之后变量a又指向了字符串的内存空间。

共享引用:

 

[python] view plain copy

 

  1. a = 3  
  2. b = a  

 

        上述代码说明变量a,b同时引用了对象3,两个变量引用了相同的对象。正是因为两者都是指向了相同的对象,所以当其中一个变量引用其他对象的时候,不会对另一个变量造成影响。例如:

 

[python] view plain copy

 

  1. a = “science”  

 

         在上面代码的基础上,变量a引用了字符串对象“science”,此时变量b依旧引用对象3,而不是“science”。

         但是有些对象的操作会在原处修改,例如列表。例如:

 

[python] view plain copy

 

  1. a = [1,2,3]  
  2. b = a  

 

        变量a,b应用了包含1,2,3对象的列表,自然而然的a[0]引用对象1,如果在变量a中执行操作

 

[python] view plain copy

 

  1. a[0] = 4  

 

那么变量b就变随之变为[4,2,3]。避免这种情况可以使用copy操作,替换引用操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值