# 字串是不可變型別
s = "pig"
"""id(s)
out[18]: 4355286776
"""s = "cat"
"""id(s)
out[20]: 4324273488
"""# 字串賦值
a == b
# out[13]: true
a is b
# out[12]: true
id(a)
# out[14]: 4368069552
id(b)
# out[15]: 4368069552
""""""
a == b
out[7]: true
a is b
out[8]: false
id(a)
out[5]: 4368267888
id(b)
out[6]: 4368267696
# 小整數
a = 256
b = 256
"""a == b
out[4]: true
a is b
out[5]: true
id(a)
out[13]: 4297652576
id(b)
out[14]: 4297652576
"""a = 257
b = 257
"""a == b
out[8]: true
a is b
out[9]: false
id(a)
out[10]: 4367096688
id(b)
out[11]: 4367097168
# 2 ** 8 = 256
"""# 元組
t = (0, )
"""t
out[23]: (0, [1])
"""t[-1] += [1]
"""typeerror: 'tuple' object does not support item assignment
tout[25]: (0, [1, 1])
"""t[-1] = t[-1] + [2]
"""typeerror: 'tuple' object does not support item assignment
tout[28]: (0, [1, 1])
[1] + [2]
out[27]: [1, 2]
"""# 字典的鍵
# ok
# error
# 列表複製
import copy
# 賦值
l1 = [1, 2, 3, ]
l2 = l1
"""l1
out[30]: [1, 2, 3, , 4]
l2out[31]: [1, 2, 3, , 4]
"""# 淺拷貝
l1 = [1, 2, 3, ]
l3 = copy.copy(l1)
"""l1
out[36]: [1, 2, 3, ]
l3out[37]: [1, 2, 3, , 5]
""""""
l1out[39]: [1, 2, 3, [6]]
l3out[40]: [1, 2, 3, [6], 5]
"""# 深拷貝
l1 = [1, 2, 3, ]
l4 = copy.deepcopy(l1)
"""l1
out[42]: [1, 2, 3, ]
l4out[43]: [1, 2, 3, [7]]
"""# 複製列表
l1 = [1, 2, 3]
l2 = l1
l3 = l1[:] # 推薦
"""id(l1)
out[45]: 4367794824
id(l2)
out[46]: 4367794824
id(l3)
out[47]: 4367785032
"""# 元組複製
t1 = (1, 2, 3)
t2 = t1
"""t1 is t2
out[48]: true
"""# 二維矩陣
l = [0, 0, 0] * 3
"""l
out[50]: [0, 0, 0, 0, 0, 0, 0, 0, 0]
"""matrix = [[0, 0, 0]] * 3
# 會引用同乙個列表
"""matrix
out[52]: [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
matrix[0][0]=1
matrix
out[54]: [[1, 0, 0], [1, 0, 0], [1, 0, 0]]
"""matrix = [[0, 0, 0] for i in range(3)] # 推薦
"""matrix
out[56]: [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
matrix[0][0]=1
matrix
out[58]: [[1, 0, 0], [0, 0, 0], [0, 0, 0]]
"""# none比較
a = none
b = none
"""a == b
out[20]: true
a is b
out[19]: true
id(a)
out[21]: 4297328656
id(b)
out[22]: 4297328656
"""a = 1
a is
none
# is判斷id
# out[60]: false
a = none
a is
none
# out[62]: true
# 排序
s = [1, 3, 2]
s.sort() # return none 原地操作
s# out[65]: [1, 2, 3]
sorted(s)
# out[66]: [1, 2, 3] # 返回新列表
sorted((1, 2, 3)) # 可迭代即可
# out[68]: [1, 2, 3]
tuple(1, 2, 3)
# typeerror: tuple() takes at most 1 argument (3 given)
# 檢查a is b 的時候,其實相當於檢查 id(a) == id(b)。
# 檢查 a == b 的時候,實際是呼叫了物件 a 的 __eq()__ 方法,a == b 相當於 a.__eq__(b)
# python列表可以存不同物件,其實是只儲存了物件的位址,位址的大小是固定的
技術分享會超詳細
1.技術分享,內容不限,主要對大多數開發技術人員有幫助均可分享。2.技術軟體分享,軟體不限,主要對開發有幫助的軟體運用,可以快速實現編碼過程或者減少開發步驟均可分享。3.專案實際發開過程中,如果你覺得那些地方編碼方式不對都可以分享出來,然後通過大家討論,覺得方案可行,後續可以按照這個方式編寫 4.專...
Python技術分享
python技術分享 來自於 黑夜路人 分享一下一些py的技術點 python 各個框架工具介紹 web開發框架 tornado 推薦,官網 bottle 一般,官網 flask 一般,官網 相關文件 web模板引擎 jinja 2 推薦,速度快,語法易用,官網 mako 一般,速度看,語法不易用,...
python爬蟲 個人技術分享
先來一張圖說明 反爬蟲方式 一 通過user agent來控制訪問 無論是瀏覽器還是爬蟲程式,在向伺服器發起網路請求的時候,都會發過去乙個標頭檔案 headers,表明身份 對於爬蟲程式來說,最需要注意的字段就是 user agent 很多 都會建立 user agent白名單,只有屬於正常範圍的u...