定義一個變量python
a = [1,2,3,4,5,6] print(a) # [1,2,3,4,5,6]
變量命名要求:app
type 不是關鍵字,能夠作變量名,可是不建議使用。code
變量名區分大小寫。內存
a = 1 b = a a = 3 print(b) # 1 a = [1,2,3,4,5] b = a a[0] = '1' print(a) # ['1',2,3,4,5] print(b) # ['1',2,3,4,5]
int, str, tuple 是值類型(不可改變)字符串
list, set, dict 是引用類型(可變)io
a = 'Hello' a = a + ' Python' print(a) # Hello Python
id(): 顯示內存地址class
b = 'hello' id(b) # 49675488 b = b + ' python' id(b) # 49748392 # 內存地址改變
字符串不可改變變量
'python'[0] # p 'python'[0] = 'a' # 報錯, 不可改變
type = 1 # 此時,type 表明 1 type(1) # 報錯
a = [1,2,3] id(a) a[0] = [6] id(a) # 地址不變 b = [1,2,3] b.append(4) print(b) # [1,2,3,4]
a = (1,2,3) a[0] = '6' # 報錯 c = (1,2,3) c.append(4) # 報錯
元組中列表的內容能夠修改引用
a = (1,2,[3,4]) a[2][0] = 6 print(a) # (1,2,[6,4])
+, -, *, /, //, %,二進制
3 // 2 # 1,結果爲整數 3**2 # 3 的平方 3**3 # 3 的三次方 // 賦值 = += -+ //= **/
== > >= < <= !=
布爾值相加
b = 1 b += True # 2
list, tuple 也能夠比較
[1,2,3] < [1,3,2] # True (1,2,3) < (1,3,2) # True
and: 兩個都爲真才爲真
or: 有一個爲真即爲真
not: not False: 真,返回相反的 bool 值
True and True # True False or False # True not False # True
相關運算
1 and 2 # 2, 都爲真,返回第二個 '' and 'b' # '', 有一個爲假,返回爲假的元素 0 and '' # 0, 都爲假返回第一個元素 'a' or 'b' # 'a', 都爲真,返回第一個元素師 0 or 1 # 1, 有一個爲真,返回爲真的元素 1 or 0 # 1, 有一個爲真,返回爲真的元素 not 'a' # False
空的字符串,列表,set,dict 爲 False.
in. not in
返回 bool 值
a = 1 a in [1,2,3] # True a not in [2,3,4] # True
列表,集合,元組均可以
a = 'b' c = { 'b':1 } a in c # True # a 包含在 c 的鍵中,返回 True
is, not is
返回結果爲 bool 值
is 不是比較值相等,is 比較的是兩個變量的身份是否相等(內存地址)
not is 身份是否不等
a = 1 b = 1.0 a == b # True a is b # False a = 1 b = 1 a is b # True a = {1,2,3} b = {1,3,2} a == b # True a is b # False # 集合是無序的,順序不影響 # a b 地址不一樣 a = (1,2,3) b = (1,3,2) a == b # False a is b # False # 元素屬於序列,是有序的 a = [1,2,3] b = [1,2,3] a == b # True a is b # False a = [1,2] b = [2,1] a == b # False a is b # False
判斷字符串類型:isinstance()
a = 1 isinstance(a,int) # True isinstance(a,(int,str)) # True # 第二個參數只能爲元組,[],{} 會報錯
& # 按位與 | # 按位或 ^ # 按位異或 ~ # …………
# 二進制對應位置都爲 1 爲 1 不然爲 0 2: 1 0 3: 1 1 &: 1 0
# 二進制對應位置只要有一個爲 1 就爲 1 都爲0 則爲 0 2: 1 0 3: 1 1 |: 1 1