'''
+、-、*、/(結果帶小數)、//(地板除,只保留整數部分)、%(取餘、取模)、**(次方)
'''print(10 + 3.1)
print(10 ** 3) # 十的三次方
'''
>、>=、<、<=、==、!=
'''# 用於條件判斷、返回值是true或者false
'''
*=、/=、-=、%=、**=、//=
'''age = 18
# age = age + 1
age += 1
print(age)
'''
x = 10
y = x
z = y
'''z = y = x = 10 # 鏈式賦值
print(x,y,z)
print(id(x),id(y),id(z))
m = 10
n = 20
print(m, n)
'''temp = m
m = n
n = temp
print(m, n)
'''m, n = n, m # 交叉賦值
print(m, n)
salaries=[11,22,33,44,55]
# 把五個月的工資取出來分別賦值給不同的變數
'''mon0=salaries[0]
mon1=salaries[1]
mon2=salaries[2]
mon3=salaries[3]
mon4=salaries[4]
'''mon0, mon1, mon2, mon3, mon4 = salaries
print(mon0, mon1, mon2, mon3, mon4)
# *_ 指後續的值會被*存稱乙個列表賦值給_,
# _ 通常指被廢棄掉的變數,做乙個佔位符而已,約定熟成
# *_ 只能取兩端的值,不能夠取中間值,且*在解壓賦值中只能出現一次
mon0, mon1, *_ = salaries # 只取前兩個值
*_, mon0, mon1= salaries # 只取後兩個值
mon0, *_, mon1= salaries # 只取開頭第乙個值跟最後乙個值
print(mon0, mon1)
# 解壓字典預設解壓出來的是字典的key
x,y,z=dic=
print(x,y,z)
可變型別:值改變,id不變,證明改的是原值,證明原值是可以被改變的
不可變型別:值改變,id也變了,證明是產生新的值,壓根沒有改變原值,證明原值是不可以被修改的
x=10
print(id(x))
x=11 # 產生新值
print(id(x))
x=3.1
print(id(x))
x=3.2
print(id(x))
x="abc"
print(id(x))
x='gggg'
print(id(x))
小結:int、float、str都被設計成了不可分割的整體,不能夠被改變
l=['aaa','bbb','ccc']
print(id(l))
l[0]='aaa'
print(l)
print(id(l))
x=
print(id(x)) # 3199870035008
x['k1']=333
print(id(x)) # 3199870035008
'''關於字典補充:
定義:{}內用逗號分隔多key:value,
其中value可以是任意型別
但是key必須是不可變型別
'''
dic=
}dic=
}print(dic[3.3])
dic=
dic=:33333333}
條件就是為了達成某種狀況而所要具備的機制
比較運算子
age = 18
print(age > 16) # 條件判斷之後會得到乙個布林值true
布林型別
is_beautiful=true
print(is_beautiful)
所有的值都可以當成條件去用
其中0、none、空(空字串、空列表、空字典)=》代表的布林值為false,其餘都為真
print(bool(0)) # false
print(bool(none)) # false
print(bool('')) # false
print(bool()) # false
print(bool({})) # false
為了能夠讓計算機具備人的這種判斷事物是否能夠成立的機制
not:就是把緊跟其後的那個條件結果取反
ps:not與緊跟其後的那個條件是乙個不可分割的整體
print(not 16 > 13)
print(not true)
print(not false)
print(not 10)
print(not 0)
print(not none)
print(not '')
print(true and 10 > 3)
print(true and 10 > 3 and 10 and 0) # 條件全為真,最終結果才為true
print( 10 > 3 and 10 and 0 and 1 > 3 and 4 == 4 and 3 != 3) # 偷懶原則
print(3 > 2 or 0)
print(3 > 4 or false or 3 != 2 or 3 > 2 or true) # 偷懶原則
如果單獨就只是一串and鏈結,或者說單獨就只是一串or鏈結,按照從左到右的順訊依次運算即可(偷懶原則)
如果是混用,則需要考慮優先順序了
res=3>4 and not 4>3 or 1==3 and 'x' == 'x' or 3 >3
# false false false
print(res)
res=(3>4 and (not 4>3)) or (1==3 and 'x' == 'x') or 3 >3
print(res)
res=3>4 and ((not 4>3) or 1==3) and ('x' == 'x' or 3 >3)
print(res)
成員運算子:in/not in
身份運算子:is 判斷的是id是否相等
print("egon" in "hello egon")
print("e" in "hello egon") # 判斷乙個字串是否存在於乙個大字串中
print(111 in [111,222,33]) # 判斷元素是否存在於列表
#判斷key是否存在於字典
print(111 in )
print("k1" in )
not in
print("egon" not in "hello egon") # 推薦使用
print(not "egon" in "hello egon") # 邏輯同上,但語義不明確,不推薦
python入門 可變不可變型別 邏輯運算子
什麼叫做可變與不可變型別呢 可變型別 值改變,id不變,證明改的是原值,證明原值是可以被改變的 不可變型別 值改變,id也變了,證明是產生新的值,壓根沒有改變原值,證明原值是不可以被修改的 那麼基本型別中哪些是可變型別哪些是不可變型別呢,讓我們來一一驗證 首先是int,當執行完後發現他的兩個id發生...
可變不可變型別
x 10 print id x x 11 print id x 1713078672 1713078704 值改變,id也發生了改變 驗證 int是不可變型別,所有的賦值都是產生新值 float是不可變型別 str是不可變型別 int float str三種型別的值是不可以分割的,是不可分割的整體,...
python不可變型別和可變型別
python變數可以分為兩種型別 不可變型別 數字 字串 元組 不可變集合 可變型別 列表 字典 可變集合 python所宣告的變數都以物件的形式存在,存在於機器的固定記憶體之中。可以理解為變數名為物件的指標 如宣告a 3,則a指向儲存3的空間,python通過使用計數器的方式來判斷空間的引用情況,...