App下載

【學(xué)習(xí)路線】Python基礎(chǔ) 詳細知識點學(xué)習(xí)路徑(附學(xué)習(xí)資源)

小獅妹 2024-12-19 14:37:10 瀏覽數(shù) (243)
反饋

符號表

可根據(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ǔ)

資源:

Python3 教程>>>

Python3 入門學(xué)練課程>>>

Python3 入門視頻課程>>>

Python 官??檔>>>


?標:能?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)建上下?管理器。



0 人點贊