【python—-發軔之始】【基礎知識總結】

                                               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,不會報錯,直接忽略。

九、生成式

生成式很簡單,說一下語法就行

生成式語法: [被追加的數據 循環語句 循環或者判斷語句]|{}

 

如果有哪裡寫錯了,希望大佬指點一下,蟹蟹!!