符號表
可根據(jù)知識點前的符號按需選學(xué),并獲取知識點描述和學(xué)習(xí)資源。
必學(xué):核?知識點,經(jīng)常?到。
建議學(xué):重要知識點,專業(yè)??的基?。
?試重點:經(jīng)常出現(xiàn)的?試知識點。
可有可?:邊緣區(qū)域,不是必須探索的地?。
知識描繪:知識點描述,快速理解。
學(xué)習(xí)資源:關(guān)聯(lián)的學(xué)習(xí)資源。
學(xué)習(xí)?標:階段性?標。
學(xué)習(xí)路線:基礎(chǔ)
資源:
?標:能?Python編寫待辦事項列表應(yīng)?程序:創(chuàng)建?個簡單的控制臺應(yīng)?,允許?戶添加、刪除和查看待辦事項。
Python 安裝
開發(fā)?具:
VS Code
特點:跨平臺,插件豐富,內(nèi)置Git和終端,適?于多種編程語?。
PyCharm
特點: 專為Python設(shè)計,智能代碼助?,強?的調(diào)試?具
Sublime
特點: 輕量級,快速,?度可定制,?持多?件同時處理,代碼快速跳轉(zhuǎn)。
變量
1、定義變量
-
在Python中,變量是存儲數(shù)據(jù)值的容器。
-
定義變量時,不需要顯式聲明數(shù)據(jù)類型。Python是動態(tài)類型語?,會在運?時?動推斷數(shù)據(jù)類型。
-
示例:x = 5 這?,x 是變量名,它被賦值為整數(shù) 5。
2、關(guān)鍵字
-
關(guān)鍵字是Python中預(yù)定義的、具有特殊意義的保留字。
-
關(guān)鍵字不能?作變量名、函數(shù)名或其他標識符。
-
示例:if, else, for, while, class 等。
3、命名規(guī)則
-
變量名必須以字?或下劃線開頭,不能以數(shù)字開頭。
-
變量名可以包含字?、數(shù)字和下劃線(A-z, 0-9, 和 _ )。
-
變量名是??寫敏感的,例如,myVar 和 myvar 是兩個不同的變量。
-
應(yīng)避免使?Python的內(nèi)置函數(shù)名和關(guān)鍵字作為變量名,以防?沖突。
4、基本數(shù)據(jù)類型
-
數(shù)值類型: 如 int (整數(shù)), float (浮點數(shù))。
-
字符串: ?于表示?本數(shù)據(jù),例如 str。
-
布爾值: 表示真或假,如 bool(True 或 False)。
-
列表, 元組, 字典: ?于存儲集合數(shù)據(jù)。
5、類型轉(zhuǎn)換
-
可以使?內(nèi)置函數(shù)如 int(), float(), str() 等來轉(zhuǎn)換數(shù)據(jù)類型。
-
示例:int("123") 會將字符串 "123" 轉(zhuǎn)換為整數(shù) 123。
-
?動類型轉(zhuǎn)換發(fā)?在執(zhí)?特定操作時,例如,將整數(shù)與浮點數(shù)相加時,整數(shù)會?動轉(zhuǎn)換為浮點數(shù)。
運算符和表達式
描述:Python中的運算符和表達式是編程的基礎(chǔ)元素之?,它們?于執(zhí)?計算、值的?較和邏輯運算。
1、算術(shù)運算符
-
?
加法+
?:?于兩個數(shù)值的相加,如 3 + 4 結(jié)果為 7。 -
?
減法-
?:?于兩個數(shù)值的相減,如 5 - 2 結(jié)果為 3。 -
?
乘法*
?:?于兩個數(shù)值的相乘,如 3 * 4 結(jié)果為 12。 -
?
除法/
?:?于兩個數(shù)值的相除,如 8 / 2 結(jié)果為 4.0(結(jié)果總是浮點數(shù))。 -
?
取模%
?:返回除法的余數(shù),如 5 % 2 結(jié)果為 1。 -
?
冪**
?:?于求冪,如 2 ** 3 結(jié)果為 8。 -
?
整除//
?:返回兩數(shù)相除的整數(shù)部分,如 5 // 2 結(jié)果為 2。
2、?較運算符
-
?
等于==
?: 判斷兩個值是否相等。 -
?
不等于!=
? : 判斷兩個值是否不等。 -
?
大于 >、小于 <
?: ?較兩個值的??。 -
?
大于等于 >=、小于等于 <=
?: ?較兩個值的??,包含等于的情況。
3、邏輯運算符
-
?
與 and
?: 兩個條件同時為真時,結(jié)果為真。 -
?
或 or
?: 兩個條件中?少有?個為真時,結(jié)果為真。 -
?
非 not
? : 取反,真變假,假變真。
4、賦值運算符
-
?
賦值 =
? : 將右側(cè)的值賦給左側(cè)的變量,如 x = 5。 -
復(fù)合賦值:如 +=, -=, *=, /=, %=, **=, //= 等,將算術(shù)操作與賦值結(jié)合,例如 x += 3 等同于 x = x + 3。
5、身份運算符
-
?
is、is not
?: ?于判斷兩個變量是否引?同?個對象。
6、成員運算符
-
?
in、not in
? : ?于檢查序列(如列表、字符串)中是否存在(或不存在)?個值。
流程控制
1、條件分?
-
?
if 語句
? : 檢查?個條件,如果條件為真,則執(zhí)?相關(guān)代碼塊。 -
?
elif 語句
? : 在if條件不滿?時,檢查另?個條件。 -
?
else 語句
? : 當(dāng)所有if和elif條件都不滿?時,執(zhí)?else部分的代碼。
2、循環(huán)
-
?
for 循環(huán)
? : 遍歷序列或其他可迭代對象,對每個元素執(zhí)?代碼塊。 -
?
while 循環(huán)
? : 當(dāng)給定條件為真時,重復(fù)執(zhí)?代碼塊。
3、循環(huán)控制語句
-
?
break
?: 提前退出整個循環(huán)。 -
?
continue
? : 跳過當(dāng)前循環(huán)的剩余部分,?即開始下?次迭代。
基本數(shù)據(jù)結(jié)構(gòu)
1、字符串 (String)
-
?于存儲?本。
-
由字符組成,如 "hello"。
-
不可變(immutable),意味著?旦創(chuàng)建,其內(nèi)容不能更改。
-
提供豐富的?法進?操作,如索引、切?、連接和格式化。
2、列表 (List)
-
?于存儲有序的數(shù)據(jù)集合。
-
可以包含不同類型的元素,如 [1, "hello", 3.14]。
-
可變(mutable),可以添加、刪除或更改其元素。
-
?持索引和切?操作,可以通過索引訪問或更改元素。
3、元組 (Tuple)
-
類似于列表,但是不可變。
-
?于存儲有序的數(shù)據(jù)集合,如 ("apple", "banana", "cherry")。
-
?旦創(chuàng)建,不能修改其內(nèi)容(添加、刪除或更改元素)。
-
常?于函數(shù)返回多個值或?qū)⒍鄠€值作為?個整體進?處理。
4、集合 (Set)
-
?于存儲?序的、唯?的元素集。
-
元素不重復(fù),如 {1, 2, 3}。
-
可變,可以添加或刪除元素,但不能包含可變元素(如列表)。
-
?持數(shù)學(xué)上的集合操作,如并集、交集、差集等。
5、字典 (Dictionary)
-
存儲鍵值對,每個鍵對應(yīng)?個值。
-
例如,{"name": "Alice", "age": 25}。
-
鍵通常是字符串或數(shù)字,值可以是任何數(shù)據(jù)類型。
-
可變,可以添加、刪除或更改鍵值對。
-
?序,不能通過索引。
函數(shù)
定義
1、參數(shù)傳遞
-
函數(shù)可以接受參數(shù),這些參數(shù)在函數(shù)調(diào)?時被傳遞給函數(shù)。
-
參數(shù)可以是必需的,也可以是可選的(帶有默認值)。
-
Python還?持關(guān)鍵字參數(shù)(允許你通過參數(shù)名指定參數(shù))和可變數(shù)量的參數(shù)(使?*args和**kwargs)。
2、作?域
描述: 在Python中,變量的作?域決定了在哪?可以訪問該變量。
-
局部作?域:在函數(shù)內(nèi)定義的變量只能在該函數(shù)內(nèi)部訪問。
-
全局作?域:在函數(shù)外定義的變量可以在整個代碼中訪問。
-
global關(guān)鍵字?于在函數(shù)內(nèi)部訪問全局變量。
-
nonlocal關(guān)鍵字?于在嵌套函數(shù)中訪問外層函數(shù)的局部變量。
3、lambda 表達式
lambda表達式是?種創(chuàng)建匿名函數(shù)的?式。
4、常?內(nèi)置函數(shù)
描述: Python提供了許多內(nèi)置函數(shù),這些函數(shù)隨時可?,?需導(dǎo)?模塊。
-
print():打印輸出。
-
len():返回對象的?度或元素個數(shù)。
-
type():返回對象的類型。
-
range():?成?個數(shù)值序列。
-
str(), int(), float(): ?于類型轉(zhuǎn)換。
-
input(): ?于從?戶獲取輸?。
-
sum(): 計算序列中所有元素的總和。
-
max(), min(): 查找序列中的最?或最?值。
-
sorted(): 返回排序后的序列。
?向?qū)ο缶幊?(OOP)
1、類和對象
1.1 類 (Class)
-
類是創(chuàng)建對象的藍圖或模板。它為對象定義了特定的屬性和?法。
-
類是?來定義數(shù)據(jù)以及數(shù)據(jù)操作的?法的。你可以將類看作是構(gòu)建對象的模具。
1.2 對象 (Object)
-
對象是根據(jù)類定義創(chuàng)建的實例。每個對象都有特定的屬性和?法。
-
對象是類的實例化,具有類定義的所有特性。每個對象都可以有不同的屬性值,使得每個對象都是獨???的。
-
對象的創(chuàng)建通常稱為實例化,并且對象可以使?類中定義的?法。
2、三?特性
2.1 封裝
描述: 封裝是OOP中將數(shù)據(jù)(屬性)和操作數(shù)據(jù)的代碼(?法)捆綁在?起的概念。這樣做的?的是隱藏對象的內(nèi)部狀態(tài),只通過公共接?暴露功能。
-
?
self
?: 在類的?法中,self代表類的實例?身。它是對當(dāng)前對象的引?。 -
屬性: 類的變量,?于存儲數(shù)據(jù)。
-
?法: 類中定義的函數(shù),?于定義對象的?為。
-
類?法(Class Method): 使?@classmethod裝飾器定義,接受類本身作為第?個參數(shù)(通常命名為cls)。
-
實例?法(Instance Method): 類的普通?法,接受實例?身self作為第?個參數(shù)。
-
靜態(tài)?法(Static Method): 使?@staticmethod裝飾器定義,不接受self或cls參數(shù),類似普通函數(shù)但屬于類的命名空間。
-
訪問控制: 控制外部對類內(nèi)部屬性和?法的訪問權(quán)限。Python通過前置下劃線實現(xiàn)(如單下劃線 _ 和雙下劃線 __)。
2.2 繼承
描述: 繼承允許?個類(?類)繼承另?個類(?類)的屬性和?法,從?實現(xiàn)代碼重?。
-
單繼承: ?類只繼承?個?類。
-
多繼承: ?類可以繼承多個?類。Python?持多繼承,允許定義繼承多個?類的類。
2.3 多態(tài)
描述: 多態(tài)是指不同類的對象對同?消息作出響應(yīng)的能?,即相同的接?調(diào)?可以有不同的執(zhí)?結(jié)果。
-
?法重寫(Method Overriding): ?類可以重寫?類的?法,提供特定于?類的實現(xiàn)。在調(diào)?這個?法時,會使??類的版本,?不是?類的。
3、運算符重載
描述: 運算符重載允許為類的實例?定義Python內(nèi)置操作符的?為。
-
通過定義特殊?法(magic methods),類可以改變其實例的運算符?為。
-
例如,通過重載__add__?法,可以定義兩個類實例使?+運算符時的?為。
4、裝飾器
描述: 裝飾器是?種設(shè)計模式,?于修改或增強函數(shù)或?法的?為,?不改變其代碼。
-
在Python中,裝飾器是?種函數(shù),它接受?個函數(shù)作為參數(shù)并返回?個新的函數(shù)。
-
裝飾器通過在函數(shù)定義之前使?@符號應(yīng)?,例如@decorator_name。
-
它們常?于?志記錄、性能測試、事務(wù)處理、權(quán)限校驗等。
-
裝飾器可以應(yīng)?于任何可調(diào)?的對象,包括類和類的?法。
5、反射
描述: 反射是指程序在運?時檢查和修改其結(jié)構(gòu)(如類或函數(shù))的能?。
-
在Python中,可以通過內(nèi)置函數(shù)如getattr(), setattr(), hasattr(), 和delattr()實現(xiàn)反射,?于動態(tài)地訪問或修改對象的屬性。
-
type()和isinstance()等函數(shù)可以?于獲取對象的類型信息。
-
反射使得程序可以更加動態(tài),例如根據(jù)條件動態(tài)調(diào)??法或訪問屬性,但也可能使得代碼難以理解和維護。
模塊
描述:模塊是包含Python代碼的?件。模塊可以定義函數(shù)、類和變量,也可以包含可執(zhí)?的代碼。模塊的使?是Python編程的基礎(chǔ)之?,它提?了代碼的可重?性和組織性。
1、導(dǎo)?模塊
描述: Python中導(dǎo)?模塊通常使?import語句。
1.1 基本導(dǎo)?
-
直接使?import語句,后?跟模塊名。
-
例如:import math。之后可以通過math.function_name的?式調(diào)?模塊內(nèi)的函數(shù)。
1.2 從模塊導(dǎo)?特定項
-
使?from ... import ...語法。
-
例如:from math import sqrt。這樣可以直接使?sqrt??需math.sqrt。
1.3 導(dǎo)?模塊并重命名
-
使?import ... as ...語法。
-
例如:import numpy as np。之后可以使?np來代替numpy。
1.4 導(dǎo)?模塊的所有項
-
使?from ... import *語法。
-
這會將模塊中的所有項導(dǎo)?當(dāng)前命名空間,但通常不推薦這樣做,因為它可能導(dǎo)致命名沖突。
2、常?模塊
-
?
math
? : 提供數(shù)學(xué)運算函數(shù),如三?函數(shù)、對數(shù)函數(shù)等。 -
?
datetime
? : ?于處理?期和時間的模塊。 -
?
os
? : 提供了許多與操作系統(tǒng)交互的功能。 -
?
sys
?: ?于訪問與Python解釋器緊密相關(guān)的變量和函數(shù)。 -
?
random
? : ?于?成隨機數(shù)。 -
?
json
? : ?于讀取和寫?JSON格式數(shù)據(jù)。 -
?
re
? : 提供正則表達式?具。
包
描述: 包(Package)是?種組織模塊的?式,它們是包含模塊的?件夾,并提供了?種層次結(jié)構(gòu),使得模塊組織更加清晰。包的使?使得?型項?的代碼管理變得更加容易。
1、導(dǎo)?包
描述: 導(dǎo)?包的?法類似于導(dǎo)?模塊,但它還涉及到包的層次結(jié)構(gòu)。
1.1 直接導(dǎo)?包下的模塊
-
使?import語句指定包名和模塊名。
-
示例:import package.module。
1.2 從包中導(dǎo)?特定模塊或函數(shù)
-
使?from ... import ...語法。
-
示例:from package import module 或 from package.module import function。
1.3 導(dǎo)??包
-
如果包中還包含?包,可以通過.來導(dǎo)??包中的模塊。
-
示例:import package.subpackage.module。
2、?成包
描述: 創(chuàng)建?個包涉及到創(chuàng)建?個包含模塊和?個特殊?件init.py的?件夾。init.py可以為空,但它的存在告訴Python這個?件夾應(yīng)該被視為?個Python包。
2.1 創(chuàng)建包?錄
-
創(chuàng)建?個?件夾,?于存放相關(guān)的模塊。?件夾的名字就是包的名字。
2.2 添加模塊
-
在這個?件夾中創(chuàng)建Python?件(.py),每個?件都作為包的?個模塊。
2.3 ?添加__init__.py文件
?
-
在?件夾中創(chuàng)建?個名為__init__.py的?件。這個?件可以包含包的初始化代碼,或者僅僅為空。
異常處理
1、捕獲異常
在Python中,使?try和except語句來捕獲異常。try塊包含可能引發(fā)異常的代碼,?except塊包含在發(fā)?異常時要執(zhí)?的代碼。
2、try ... except ... else ... finally 結(jié)構(gòu)
try語句還可以包含else和finally塊。else塊中的代碼在try塊中的代碼沒有引發(fā)異常時執(zhí)?,?finally塊中的代碼始終會在try塊執(zhí)?后執(zhí)?,?論是否發(fā)?異常。
3、?定義異常
在Python中,你可以通過創(chuàng)建?定義異常類來定義??的異常類型。?定義異常類通常繼承?內(nèi)置的Exception類。
?件操作
1、打開?件
要與?件進?交互,?先需要打開它。使?內(nèi)置的 open() 函數(shù),傳遞?件路徑和打開模式。打開模式包括:
-
'r':只讀模式
-
'w':寫?模式(會覆蓋已存在的?件)
-
'a':追加模式(將內(nèi)容添加到?件末尾)
-
'x':獨占創(chuàng)建模式(如果?件已存在,則失?。?/span>
-
'b':?進制模式
2、讀取?件內(nèi)容
通過打開?件后,可以使? read() ?法讀取整個?件的內(nèi)容。你還可以使?readline() ?法逐?讀取,或者使? readlines() ?法將內(nèi)容按?讀取并存儲在列表中。
3、寫??件內(nèi)容
使? write() ?法可以向?件寫?內(nèi)容。如果?件不存在,使? 'w' 模式將創(chuàng)建?個新?件。你還可以使? writelines() ?法寫?多?內(nèi)容。
4、關(guān)閉?件
在完成?件操作后,務(wù)必使? close() ?法關(guān)閉?件。這有助于釋放系統(tǒng)資源。為了確保?件在任何情況下都會被關(guān)閉,可以使? with 語句創(chuàng)建上下?管理器。