Python中的變量引用對象需注意的幾點


Python中的變量引用對象需注意的幾點

 

普通引用:

        Python中,變量的作用僅僅是一個標識,只有賦值后才被創建,它可以引用任何類型的對象,而且在引用之前必須賦值。賦值后的變量指向響應的對象,擁有該對象的空間。類型屬於對象,但是不是變量。

 

[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操作,替換引用操作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM