Are python variables pointers? or else what are they?

前端 未结 9 2002
借酒劲吻你
借酒劲吻你 2020-11-22 07:01

Variables in Python are just pointers, as far as I know.

Based on this rule, I can assume that the result for this code snippet:

i = 5
j = i
j = 3          


        
9条回答
  •  孤城傲影
    2020-11-22 07:42

    We call them references. They work like this

    i = 5     # create int(5) instance, bind it to i
    j = i     # bind j to the same int as i
    j = 3     # create int(3) instance, bind it to j
    print i   # i still bound to the int(5), j bound to the int(3)
    

    Small ints are interned, but that isn't important to this explanation

    i = [1,2,3]   # create the list instance, and bind it to i
    j = i         # bind j to the same list as i
    i[0] = 5      # change the first item of i
    print j       # j is still bound to the same list as i
    

提交回复
热议问题