變數的賦值與修改
阿新 • • 發佈:2021-07-29
努力拼搏吧,不要害怕,不要去規劃,不要迷茫。但你一定要在路上一直的走下去,儘管可能停滯不前,但也要走。# 在我們修改變數的時候,我們是在修改什麼 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)