回覆列表
  • 1 # 使用者1228436877168

    給你介紹Python中普通引用和共享引用在引用物件中需要注意的點:

    普通引用:

    Python中,變數的作用僅僅是一個標識,只有賦值後才被建立,它可以引用任何型別的物件,而且在引用之前必須賦值。賦值後的變數指向響應的物件,擁有該物件的空間。型別屬於物件,但是不是變數。

    [python]

    view plain copy

    a = 3

    a = "science"

    上述程式碼說明數值3和字串“science”分別是兩種物件,初始變數a賦值物件3被建立,變數a指向物件3的記憶體空間,之後變數a又指向了字串的記憶體空間。

    共享引用:

    [python]

    view plain copy

    a = 3

    b = a

    上述程式碼說明變數a,b同時引用了物件3,兩個變數引用了相同的物件。正是因為兩者都是指向了相同的物件,所以當其中一個變數引用其他物件的時候,不會對另一個變數造成影響。例如:

    [python]

    view plain copy

    a = “science”

    在上面程式碼的基礎上,變數a引用了字串物件“science”,此時變數b依舊引用物件3,而不是“science”。

    但是有些物件的操作會在原處修改,例如列表。例如:

    [python]

    view plain copy

    a = [1,2,3]

    b = a

    變數a,b應用了包含1,2,3物件的列表,自然而然的a[0]引用物件1,如果在變數a中執行操作

    [python]

    view plain copy

    a[0] = 4

    那麼變數b就變隨之變為[4,2,3]。避免這種情況可以使用copy操作,替換引用操作。

  • 中秋節和大豐收的關聯?
  • 串蘿蔔的醃法?