python基礎知識總結
一、自學感受
學完之後,,,感覺腦子裡全是亂的,單詞這麼多,都要分不清什麼時候該用什麼,他到底屬於哪一個資料型別裡的函式,,,,,,
所以,我想著把筆記整理一下,方便自己和需要的人檢視。
二、pycharm常用快捷鍵
識別菜鳥和高手的最簡單的方法就是看他對於編譯器玩的六不六,所以掌握基本的快捷鍵是必須的。
註釋快捷鍵: CtrI + / 程式碼格式化:CtrI+ Alt + L
檔案重新命名: Shift + F6 拷貝檔案路徑: CtrI + Shift + C
執行程式: Shift + F10 除錯程式: Shift + F9(debug模式)
新增補字元: Alt +滑鼠左鍵 游標在行開頭: CtrI + [
游標在行結尾:CtrI+ ] 選中當前行:Ctrl + Shift + [
取消選中: Ctrl + Shift + ] 選擇剪貼簿內容插入: CtrI + Shift + Insert
撤銷: Ctrl+ Z 恢復: Ctrl + Shift + Z
複製當前行: CtrI + D 刪除當前行: Ctrl + Y
移動當前行: Shift + Alt +↑↓ 程式碼補全: Ctrl+ Alt +空格
單步執行: F8
三、字串常見操作
命名兩個str型別的str1和str2,temp。
1str1.find(str2,start = 0,end = len(str1) )
用於查詢str2在str1中的索引值,如果沒有,返回-1。(從左往右)
rfind用法一樣,只不過是從右往左查詢。
index,和 find()差不多,沒找到會報異常。
rindex,和 rfind()差不多,沒找到會報異常。
2.str1.count(str2,start = 0,end = len(str1))
統計 在str1的start 到 end 中str2出現的次數。
3.str1.replace(temp,str2,count)
把在str1中的 字串 temp替換為 str2 count 次。
4.str1.capitalize()
字串的第一個字母大寫。
5.str1.title()
字串中的每一個單詞的首字母大寫。
6.str1.lower()
把字串中的字母全部變為小寫。
7.str1.upper()
把字串中的字母全部變為大寫。
8.str1.strip()
刪除字串兩邊空白字元。
rstrip() 刪除字串右邊空白字元。
lstrip() 刪除字串左邊空白字元。
9.str1.splitlines()
str1中如果包含 ('\r', '\r\n', \n') ,將其分開儲存在列表中。
10.str3 = str1.join(str2)
將str2的每一個字元用字串str1連線起來。
11.str1.split(ch)
將str1以字串為劃分點分成幾部分儲存到列表中。
四、運算子優先順序
序號 | 運算子 |
1 | ** |
2 | ~ + -(一元加減號) |
3 | * / % // |
4 | + - |
5 | >> << |
6 | & |
7 | ^ | |
8 | <= < > > = |
9 | == != |
10 | = %= /= //= -= += *= **= |
11 | is is not |
12 | in not in |
13 | not or and |
五、列表常用函式
1.list2 = list1[a:b]
將列表中a到b-1的元素放入list2 列表中。
2.list1.revers()
反轉列表。
3.list1.append(list2)
將list2整個列表追加到list1中。
4.list1.extend(list2)
將list2列表中的元素追加到list1中。
5.list1.insert(a,chr)
將chr元素插入到list1中的第a個位置中。
6.list1.remove(chr)
將list1中的chr刪除。
7.list1.pop(a)
按照索引值將list中的值刪除。
8.list1[a,b] = []
將a到b-1元素刪除。
9.cnt = list1.count(chr)
統計chr元素在list1中出現的次數。
10 list2 = list1.copy()
複製list1中的元素到list2中,(不是指向同一塊記憶體)
list2 = list1 (這個就會指向同一塊記憶體)
六、字典常用函式
1.dict1 = dict(keys = values,.........)
字典的建立,也可以用花括號直接建立。
2.dict1 = dict.fromkeys([keys,........] , 這裡填預設值 )
初始化字典
3.dict1.get(chr,ch)
在字典中獲取chr對應的值,如果沒有,預設返回指定的ch.
也可以用dict1[chr] 的方法獲取,沒有返回指定值的東西。
4.字典的遍歷
for key in employee: v = employee[key] print(v) for k,v in employee.items(): print(k,v)
5.字典的更新(有則更新,無則新增)
dict1[chr] = v 單個更新
dict1.update(keys = value,..........) 多個更新
6.字典的刪除
dict1.pop(chr) 刪除指定的key 和 value
dict1.popitem() 刪除最後一個key 和 value
7.dict1.clear()
清空字典
8。獲取字典的檢視
dict1,keys() 代表獲取所有的鍵
dict1.values() 代表獲取所有的值
dict1.items() 代表獲取所有的鍵值對
以其中的一個為例:
ks = dict1,keys() ,ks會隨著dict1中內容的變化而變化,不是固定不變的。
9.dict1.setdefault(key,value)
預設初始化,若已經存在key了,就會忽略這個語句,無就新增。
10.字串格式化
# 老版本的字串格式化 emp_str = "姓名:%(name)s,評級:%(grade)s,入職時間:%(hiredate)s" %emp1# 新版本的字串格式化 emp_str1 = "姓名:{name},評級:{grade},入職時間:{hiredate}".format_map(emp1)
七、元組注意事項
如果元組只有一個元素時,必須在這個元素後增加逗號說明這是一個元組。
元組只能訪問,不能改變其 值,除非包含了列表。
八、集合常用函式
集合是沒有value值的字典。
建立時和字典差不多,只是建立空集合時要用set()。
注意:集合不支援按照索引提取資料 用in 判斷是否在其中,for迴圈遍歷集合。
集合的一些函式:
1.求交集
c1 = set1.intersection(set2) 獲取交集,新建集合。
set1.intersection_update(set2) 更新原有集合。
2.求並集
c1 = set1.union(set2) 獲取並集,去重,新建集合。
3.求差集
c1 = set1,difference(set2) 獲取set1在set2中不存在的部分,新建集合。
c1 = set1.symmetric_difference(set2) 獲取雙向差集,新建集合。
差集也有update
set1.symmetric_difference_update(set2) 獲取雙向差集。更新set1.
4.set1 == set2
判斷兩集合中的元素是否都相同。
5.set1.issubset(set2)
判斷set1是否是set2的子集。
6.set1.issuperset(set2)
判斷set1是否是set2的父集。
7.set1.isdisjoint(set2)
判斷set1是否和set2無重複元素。
8.set1.add(ch)
更新資料,一次只能更新一個。
9.set1.update(ch1,ch2)
更新資料,一次能更新多個。
10.set1.remove(ch)
刪除資料,如果沒有ch,會報錯。
11.set1.discard(ch)
刪除資料,如果沒有ch,不會報錯,直接忽略。
九、生成式
生成式很簡單,說一下語法就行
生成式語法: [被追加的資料 迴圈語句 迴圈或者判斷語句]|{}
如果有哪裡寫錯了,希望大佬指點一下,蟹蟹!!