Py賦值 淺拷貝 深拷貝的區別 if條件判斷

2021-09-26 05:53:35 字數 2395 閱讀 8572

alist = [1,2,3,['a','b']]

b = alist

print (b)

print(alist)

print(b)

#這個是淺拷貝,淺拷貝隨著原列表子元素的改變而改變,但是不能隨著新增元素的增加而增加

alist = [1,2,3,['a','b']]

clist = copy.copy(alist)

print (clist)

print (alist)

print (clist)

\# [1, 2, 3, ['a', 'b'], 5]

\# [1, 2, 3, ['a', 'b']]

print (alist)

print (clist)

#[1, 2, 3, ['a', 'b', 5], 5]

#[1, 2, 3, ['a', 'b', 5]]

del alist[0]

print (alist)

print (clist)

#這個是深拷貝,就是只拷貝了原來的列表,拷貝完之後不管原列表怎麼改變,拷貝的列表都不會做任何改變

alist = [1,2,3,['a','b']]

d = copy.deepcopy(alist)

print (d)

print (alist)

print (d)

/# [1, 2, 3, ['a', 'b'], 5]

/# [1, 2, 3, ['a', 'b']]

print (alist)

print (d)

/# [1, 2, 3, ['a', 'b', 5], 5]

/# [1, 2, 3, ['a', 'b']]

二、接著說下if語法吧

流程控制

順序結構:**從上到下依次執行

條件結構:選擇結構,進入分支 有選擇的執行**

迴圈結構:在某個條件下重複執行某段**

if這個語法屬於條件結構,即選擇結構,進入分支 有選擇的執行**

語法的基本寫法是:

if 布林表示式或者是布林值 :

條件語句

如果布林表示式==t ,則執行條件語句

如果布林表示式==f ,則不執行條件語句

input() 獲取控制台輸入,有返回值—字串

int() 這個函式是進行資料型別轉換

pass 空語句 避免預發錯誤,有時候不知道裡面寫什麼的時候,可以先用pass

elif 在多個條件語句時,使用elif 下面跟條件語句

條件結構中如果滿足某個條件進入分支之後,其他的條件語句就不在執行,直接結束

if 後面只要是非空,非零 則都會執行條件

if 1 :

print ("我是真的")

if :

print ("我是假的")

#此時執行的結果只會是"我是真的"

下面來個例子:輸入手機號碼,判斷手機號碼是聯通、移動還是電信,如果超出11提示超出,非數字提示非法字元

telecom_card = [133,149,153,173,177,180,181,189,199]

unicom_card = [130,131,132,145,155,156,166,171,175,176,185,186,166]

mobile_card = [134,135,136,137,138,139,147,150,151,152,157,158,159,172,178,182,183,184,187,188,198]

while true :

tele = input("請輸入你的手機號碼:\n")

a = tele[:3]

if len(tele) == 11 and tele.isdigit() :

if int(a) in telecom_card:

print('你輸入的的手機號碼是電信號碼')

break

elif int(a) in unicom_card:

print('你輸入的的手機號碼是聯通號碼')

break

elif int(a) in mobile_card:

print('你輸入的的手機號碼是移動聯通號碼')

break

else:

print("你輸入的手機號碼不是三大通訊商號碼")

continue

elif len(tele) != 11:

print("你輸入的手機號碼位數有誤")

continue

else:

print("你輸入的手機號碼含有非法字元")

continue

好了,結束

賦值,淺拷貝,深拷貝的區別

一 賦值 copy 賦值是將某一數值或物件賦給某個變數的過程,分為下面 2 部分 基本資料型別 賦值,賦值之後兩個變數互不影響 引用資料型別 賦址,兩個變數具有相同的引用,指向同乙個物件,相互之間有影響 let a 10 let b a console.log a 10 console.log b ...

淺拷貝 深拷貝和淺賦值 深賦值

include includeusing namespace std class string else 淺拷貝 也就是系統預設的拷貝,可寫可不寫。string const string s 預設的拷貝構造 深拷貝 string const string s string s2 s1 深賦值 str...

賦值 淺拷貝 深拷貝

堆是動態分配記憶體,記憶體大小不一 棧是自動分配相對固定大小的記憶體空間,並由系統自動釋放 基本資料型別值是不可變的,比較是值的比較 基本資料型別,傳值。開闢乙個新的記憶體空間 js 基本資料型別,儲存在 棧 中,記憶體可以及時 引用型別值是可變的,比較是引用的比較,看其引用是否指向同乙個物件 引用...