1. 程式人生 > >python基礎知識漏洞總結

python基礎知識漏洞總結

註意 while循環 xtend 排序 指定 imp 文件 dex 逗號

1.字符串格式化: format

1 # format
2 s0 = "我叫{},今年{}歲了,我喜歡{}".format("王力宏",46,"娃哈哈")    #按位置格式化
3 s1 = "我叫{0},今年{2}歲了,我喜歡{1}".format("王力宏","娃哈哈",46)    #指定位置格式化
4 s2 = "我叫{name},今年{age}歲了,我喜歡{lover}".format(name = "王力宏",age = 46,lover = "徐靜蕾") #指定關鍵字
5 print(s0)
6 print(s1)
7 print(s2)

技術分享圖片

2.叠代添加:extend

1 li = ["
a","b","c"] 2 li.extend("xyz") 3 print(li)

技術分享圖片

3.去重復

  1)利用set特性

1 l1 = [c, d, r, d, r ,a, C]
2 l2 = list(set(l1))
3 l2.sort(key=l1.index)   #set內元素是無序的,用sort可以按照L1的元素順序排序
4 print(l2)

  2)for循環

1 l1 = [c, d, r, d, r ,a, C]
2 l2 = []
3 for el in l1:
4     if el not in l2:
5 l2.append(el) 6 print(l2)

  3)排序後while循環

 1 l1 = [c, d, r, d, r ,a, C]
 2 l1.sort()
 3 l2=[]
 4 n = 0
 5 while n < len(l1):
 6     if l1[n] not in l2:
 7         l2.append(l1[n])
 8         n = n + 1
 9     else:
10         n = n + 1
11 print(l2)

4.小數據池

5.深淺copy

1)淺拷貝: 只拷貝第一層,下層沿用(地址相同)

1 l1 = ["螞蟻","藍貓","影魔"]
2 l2 = l1.copy()
3 l1.append("帕克")
4 print(l1)
5 print(l2)
6 print(id(l1),id(l2))
7 # [‘螞蟻‘, ‘藍貓‘, ‘影魔‘, ‘帕克‘]
8 # [‘螞蟻‘, ‘藍貓‘, ‘影魔‘]
9 # 2527144744328 2527144744264
l1 = ["螞蟻","藍貓","影魔",["巨魔","飛機","莉娜"]]
l2 = l1.copy()
l1[3].append("帕克")
print(l1)
print(l2)
print(id(l1[3]),id(l2[3]))
# [‘螞蟻‘, ‘藍貓‘, ‘影魔‘, [‘巨魔‘, ‘飛機‘, ‘莉娜‘, ‘帕克‘]]
# [‘螞蟻‘, ‘藍貓‘, ‘影魔‘, [‘巨魔‘, ‘飛機‘, ‘莉娜‘, ‘帕克‘]]
# 2988850058632 2988850058632

2)深拷貝: 完全不同的個體

import copy
l1 = ["螞蟻","藍貓","影魔",["巨魔","飛機","莉娜"]]
l2 = copy.deepcopy(l1)  #註意用法,需要導入copy模塊
l1[3].append("帕克")
print(l1)
print(l2)
print(id(l1[3]),id(l2[3]))
# [‘螞蟻‘, ‘藍貓‘, ‘影魔‘, [‘巨魔‘, ‘飛機‘, ‘莉娜‘, ‘帕克‘]]
# [‘螞蟻‘, ‘藍貓‘, ‘影魔‘, [‘巨魔‘, ‘飛機‘, ‘莉娜‘]]
# 1751479821960 1751479823368

6.fromkeys

1 dic = dict.fromkeys(["jay","JJ"],["周傑倫","林俊傑"])
2 print(dic)
3 # {‘jay‘: [‘周傑倫‘, ‘林俊傑‘], ‘JJ‘: [‘周傑倫‘, ‘林俊傑‘]}
4 dic.get("jay").append("哈哈哈")
5 print(dic)
6 # {‘jay‘: [‘周傑倫‘, ‘林俊傑‘, ‘哈哈哈‘], ‘JJ‘: [‘周傑倫‘, ‘林俊傑‘, ‘哈哈哈‘]}  由於dic中jay和JJ共用一個列表,jay添加元素,相應JJ也添加元素

7.文件操作的r+模式

r+模式是追加讀寫,但並不是只能先讀後寫,也可以先寫後讀,註意先讀後寫時,只能再末尾添加

8.空元組的表示方法

(,) 註意中間要有逗號

9.join用法

split()可以分割字符串成列表,而join()可以將列表中的元素拼接成字符串

10.解碼編碼

11.setdefault用法

python基礎知識漏洞總結