1. 程式人生 > 其它 >變數的賦值與修改

變數的賦值與修改

# 在我們修改變數的時候,我們是在修改什麼
num1=123
num2=num1 # num1的值賦值給了num2
num1+=333 # num1的值+333
print('num1=',num1)
print('num2=',num2)
# 變數空間的分配、變數名的指向
"""
不可變型別物件和可變型別物件。
數字numbers、字串string、元組tuples等是不可變型別物件
列表list、字典dict、集合set等是可變型別物件

"""
"""
不可變型別物件就是一旦生成,就不可更改的物件,
而可變型別物件是生成之後可以進行增刪改等修改操作的物件
對於不可變型別物件的修改操作實際上是建立了一個新的物件,
然後將變數名(即標籤)貼在新的物件上,這樣我們就以為是修改了該變量了。
對於可變型別物件的修改操作就是對原物件的修改。
"""
print('\n')
list1=['A','B','C']
list2=list1
list1.append('D')
print('list1=',list1)
print('list2=',list2) # 這裡的list2等於list1


# 建立兩個完全一樣的可變型別物件

import copy
mylist1=[[1,2,3],2,3]
mylist2=mylist1                    #標籤賦值
mylist3=mylist1[:]         # 只拷貝的父物件,而不會拷貝里面的子物件,子物件仍然是原來物件的子物件
#切片賦值,或者稱之為淺拷貝,相當於mylist3=copy.copy(mylist1)
mylist4=copy.deepcopy(mylist1) #深度拷貝賦值
# 對父物件進行了拷貝,也對子物件進行了拷貝。是一個全新的物件了

mylist1[1]= 10
mylist1[0][1]=11 #淺拷貝的話只對巢狀列表有影響麼,也許吧
print('mylist1=',mylist1)
print('mylist2=',mylist2)
print('mylist3=',mylist3)
print('mylist4=',mylist4)

努力拼搏吧,不要害怕,不要去規劃,不要迷茫。但你一定要在路上一直的走下去,儘管可能停滯不前,但也要走。