python基礎語法(二)
阿新 • • 發佈:2020-12-21
1.邏輯運算子
1.not
- ot就是把緊跟後面的結果取反
- not與緊跟其後的那個條件是一個不可分割的整體
print(not 16 > 3)
print(not 16 < 3)
print(not False)
print(not True)
print(not 10)
2.and
- and 邏輯與,and用來連結左右兩個條件,只有兩邊全為真時最終結果才為True
print(True and 3 > 1)
print(True and 3>1 and False) # 條件全為真時,結果才為真
3.or
- 邏輯或,or用來連線左右兩個條件,兩個條件但凡有一個為True,最終結果為True,只有在兩個結果都為False的情況下,最終結果才為False
print(0 or 3)
4.優先順序
2.流程控制
1.單分支
#if 條件成立: # 執行程式碼 """ 輸入姓名,性別和年齡, 如果是女生且年齡小於28,輸出我喜歡年輕女孩 """ name = input("input your name:") sex = input("input your sex(boy|BOY/girl|GIRL):") #input()讀入的age是字串,要轉換為int才能與28做大小比較 age = int(input("input your age:")) if sex.lower() == "girl" and age < 28: print(name+" i like young girl")
2.雙分支
#if 條件: # 條件滿足,執行程式碼 #else: # 條件不滿足,執行程式碼 name = input("input your name:") sex = input("input your sex(boy|BOY/girl|GIRL):") #input()讀入的age是字串,要轉換為int才能與28做大小比較 age = int(input("input your age:")) if sex.lower() == "girl" : if age < 28: print(name+" i like young girl") else: print("the age is greater than me is also ok!") else: print("i do not like boy")
3.多分支
#if 條件:
# 滿足條件執行程式碼
#elif 條件:
# 上面條件不滿足,執行這裡
#elif 條件:
# 上面條件不滿足,執行這裡
#else:
# 所有條件都不滿足,執行這裡
"""
輸入姓名,性別和年齡,
如果是女生
年齡小於28,輸出我喜歡年輕女孩,
年齡不小於28,輸出年齡比我大也可以
如果不是女生
輸出我不喜歡男生
"""
name = input("input your name:")
sex = input("input your sex(boy|BOY/girl|GIRL):")
#input()讀入的age是字串,要轉換為int才能與28做大小比較
age = int(input("input your age:"))
if sex.lower() == "girl" :
if age < 28:
print(name+" i like young girl")
else:
print("the age is greater than me is also ok!")
elif sex.lower() == "boy":
print("i do not like boy")
else:
print("your input is not manual human")
3.深淺copy
賦值, 沒有建立新物件. 共用同一個物件,他們是相同的,賦值後的變數指向原有的記憶體地址
1.淺copy
拷貝第一層內容.不拷貝內部子物件,用 [:]或copy()
lst1 = ["金毛獅王", "紫衫龍王", "青翼蝠王", "白眉鷹王",["張無忌","趙敏","周芷若"]]
print(lst1.copy()) #淺拷貝 拷貝出來的列表第一層與原來是不同的記憶體地址,第二層指向原來的地址
>>>
['金毛獅王', '紫衫龍王', '青翼蝠王', '白眉鷹王', ['張無忌', '趙敏', '周芷若']]
print(lst1[:]) #淺拷貝
>>>
['金毛獅王', '紫衫龍王', '青翼蝠王', '白眉鷹王', ['張無忌', '趙敏', '周芷若']]
2.深copy
拷貝所有內容. 包括內部的所有,形成一個新的物件,雖然與之前的值和內容一模一樣,但是它們完完全全的兩個物件,用deepcopy()
lst1 = ["金毛獅王", "紫衫龍王", "青翼蝠王", "白眉鷹王",["張無忌","趙敏","周芷若"]]
lst2 = copy.deepcopy(lst1)
print(lst2) >>> ["金毛獅王", "紫衫龍王", "青翼蝠王", "白眉鷹王",["張無忌","趙敏","周芷若"]]
print(id(lst1)) >>> 358961124936
print(id(lst2)) >>> 358961315656
# lst1和lst2 是兩個不同記憶體地址的