App下載

【學(xué)習(xí)路線(xiàn)】Python基礎(chǔ) 詳細(xì)知識(shí)點(diǎn)學(xué)習(xí)路徑(附學(xué)習(xí)資源)

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

符號(hào)表

可根據(jù)知識(shí)點(diǎn)前的符號(hào)按需選學(xué),并獲取知識(shí)點(diǎn)描述和學(xué)習(xí)資源。

 必學(xué):核?知識(shí)點(diǎn),經(jīng)常?到。

建議學(xué):重要知識(shí)點(diǎn),專(zhuān)業(yè)??的基?。

?試重點(diǎn):經(jīng)常出現(xiàn)的?試知識(shí)點(diǎn)。

可有可?:邊緣區(qū)域,不是必須探索的地?。

知識(shí)描繪:知識(shí)點(diǎn)描述,快速理解。

學(xué)習(xí)資源:關(guān)聯(lián)的學(xué)習(xí)資源。

學(xué)習(xí)?標(biāo):階段性?標(biāo)。


學(xué)習(xí)路線(xiàn):基礎(chǔ)

資源:

Python3 教程>>>

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

Python3 入門(mén)視頻課程>>>

Python 官??檔>>>


?標(biāo):能?Python編寫(xiě)待辦事項(xiàng)列表應(yīng)?程序:創(chuàng)建?個(gè)簡(jiǎn)單的控制臺(tái)應(yīng)?,允許?戶(hù)添加、刪除和查看待辦事項(xiàng)。


Python 安裝

教程資源 >>>

課程資源 >>>

開(kāi)發(fā)?具:

VS Code

特點(diǎn):跨平臺(tái),插件豐富,內(nèi)置Git和終端,適?于多種編程語(yǔ)?。

 PyCharm

特點(diǎn): 專(zhuān)為Python設(shè)計(jì),智能代碼助?,強(qiáng)?的調(diào)試?具

Sublime

特點(diǎn): 輕量級(jí),快速,?度可定制,?持多?件同時(shí)處理,代碼快速跳轉(zhuǎn)。


變量

1、定義變量

  • 在Python中,變量是存儲(chǔ)數(shù)據(jù)值的容器。

  • 定義變量時(shí),不需要顯式聲明數(shù)據(jù)類(lèi)型。Python是動(dòng)態(tài)類(lèi)型語(yǔ)?,會(huì)在運(yùn)?時(shí)?動(dòng)推斷數(shù)據(jù)類(lèi)型。

  • 示例:x = 5 這?,x 是變量名,它被賦值為整數(shù) 5。

2、關(guān)鍵字

  • 關(guān)鍵字是Python中預(yù)定義的、具有特殊意義的保留字。

  • 關(guān)鍵字不能?作變量名、函數(shù)名或其他標(biāo)識(shí)符。

  • 示例:if, else, for, while, class 等。

3、命名規(guī)則

  • 變量名必須以字?或下劃線(xiàn)開(kāi)頭,不能以數(shù)字開(kāi)頭。

  • 變量名可以包含字?、數(shù)字和下劃線(xiàn)(A-z, 0-9, 和 _ )。

  • 變量名是??寫(xiě)敏感的,例如,myVar 和 myvar 是兩個(gè)不同的變量。

  • 應(yīng)避免使?Python的內(nèi)置函數(shù)名和關(guān)鍵字作為變量名,以防?沖突。

4、基本數(shù)據(jù)類(lèi)型

  • 數(shù)值類(lèi)型: 如 int (整數(shù)), float (浮點(diǎn)數(shù))。

  • 字符串: ?于表示?本數(shù)據(jù),例如 str。

  • 布爾值: 表示真或假,如 bool(True 或 False)。

  • 列表, 元組, 字典: ?于存儲(chǔ)集合數(shù)據(jù)。

5、類(lèi)型轉(zhuǎn)換

  • 可以使?內(nèi)置函數(shù)如 int(), float(), str() 等來(lái)轉(zhuǎn)換數(shù)據(jù)類(lèi)型。

  • 示例:int("123") 會(huì)將字符串 "123" 轉(zhuǎn)換為整數(shù) 123。

  • ?動(dòng)類(lèi)型轉(zhuǎn)換發(fā)?在執(zhí)?特定操作時(shí),例如,將整數(shù)與浮點(diǎn)數(shù)相加時(shí),整數(shù)會(huì)?動(dòng)轉(zhuǎn)換為浮點(diǎn)數(shù)。


運(yùn)算符和表達(dá)式

描述:Python中的運(yùn)算符和表達(dá)式是編程的基礎(chǔ)元素之?,它們?于執(zhí)?計(jì)算、值的?較和邏輯運(yùn)算。

1、算術(shù)運(yùn)算符

  • ?加法+?:?于兩個(gè)數(shù)值的相加,如 3 + 4 結(jié)果為 7。

  • ?減法-?:?于兩個(gè)數(shù)值的相減,如 5 - 2 結(jié)果為 3。

  • ?乘法*?:?于兩個(gè)數(shù)值的相乘,如 3 * 4 結(jié)果為 12。

  • ?除法/?:?于兩個(gè)數(shù)值的相除,如 8 / 2 結(jié)果為 4.0(結(jié)果總是浮點(diǎn)數(shù))。

  • ?取模%?:返回除法的余數(shù),如 5 % 2 結(jié)果為 1。

  • ?冪**?:?于求冪,如 2 ** 3 結(jié)果為 8。

  • ?整除//?:返回兩數(shù)相除的整數(shù)部分,如 5 // 2 結(jié)果為 2。

2、?較運(yùn)算符

  • ?等于== ?: 判斷兩個(gè)值是否相等。

  • ?不等于!=? : 判斷兩個(gè)值是否不等。

  • ?大于 >、小于 < ?: ?較兩個(gè)值的??。

  • ?大于等于 >=、小于等于 <= ?: ?較兩個(gè)值的??,包含等于的情況。

3、邏輯運(yùn)算符

  • ?與 and ?: 兩個(gè)條件同時(shí)為真時(shí),結(jié)果為真。

  • ?或 or ?: 兩個(gè)條件中?少有?個(gè)為真時(shí),結(jié)果為真。

  • ?非 not? : 取反,真變假,假變真。

4、賦值運(yùn)算符

  • ?賦值 =? : 將右側(cè)的值賦給左側(cè)的變量,如 x = 5。

  • 復(fù)合賦值:如 +=, -=, *=, /=, %=, **=, //= 等,將算術(shù)操作與賦值結(jié)合,例如 x += 3 等同于 x = x + 3。

5、身份運(yùn)算符

  • ?is、is not ?: ?于判斷兩個(gè)變量是否引?同?個(gè)對(duì)象。

6、成員運(yùn)算符

  • ?in、not in? : ?于檢查序列(如列表、字符串)中是否存在(或不存在)?個(gè)值。


流程控制

1、條件分?

  • ?if 語(yǔ)句? : 檢查?個(gè)條件,如果條件為真,則執(zhí)?相關(guān)代碼塊。

  • ?elif 語(yǔ)句? : 在if條件不滿(mǎn)?時(shí),檢查另?個(gè)條件。

  • ?else 語(yǔ)句? : 當(dāng)所有if和elif條件都不滿(mǎn)?時(shí),執(zhí)?else部分的代碼。

2、循環(huán)

  • ?for 循環(huán)? : 遍歷序列或其他可迭代對(duì)象,對(duì)每個(gè)元素執(zhí)?代碼塊。

  • ?while 循環(huán)? : 當(dāng)給定條件為真時(shí),重復(fù)執(zhí)?代碼塊。

3、循環(huán)控制語(yǔ)句

  • ?break ?: 提前退出整個(gè)循環(huán)。

  • ?continue? : 跳過(guò)當(dāng)前循環(huán)的剩余部分,?即開(kāi)始下?次迭代。


基本數(shù)據(jù)結(jié)構(gòu)

1、字符串 (String)

  • ?于存儲(chǔ)?本。

  • 由字符組成,如 "hello"。

  • 不可變(immutable),意味著?旦創(chuàng)建,其內(nèi)容不能更改。

  • 提供豐富的?法進(jìn)?操作,如索引、切?、連接和格式化。

2、列表 (List)

  • ?于存儲(chǔ)有序的數(shù)據(jù)集合。

  • 可以包含不同類(lèi)型的元素,如 [1, "hello", 3.14]。

  • 可變(mutable),可以添加、刪除或更改其元素。

  • ?持索引和切?操作,可以通過(guò)索引訪問(wèn)或更改元素。

3、元組 (Tuple)

  • 類(lèi)似于列表,但是不可變。

  • ?于存儲(chǔ)有序的數(shù)據(jù)集合,如 ("apple", "banana", "cherry")。

  • ?旦創(chuàng)建,不能修改其內(nèi)容(添加、刪除或更改元素)。

  • 常?于函數(shù)返回多個(gè)值或?qū)⒍鄠€(gè)值作為?個(gè)整體進(jìn)?處理。

4、集合 (Set)

  • ?于存儲(chǔ)?序的、唯?的元素集。

  • 元素不重復(fù),如 {1, 2, 3}。

  • 可變,可以添加或刪除元素,但不能包含可變?cè)兀ㄈ缌斜恚?/span>

  • ?持?jǐn)?shù)學(xué)上的集合操作,如并集、交集、差集等。

5、字典 (Dictionary)

  • 存儲(chǔ)鍵值對(duì),每個(gè)鍵對(duì)應(yīng)?個(gè)值。

  • 例如,{"name": "Alice", "age": 25}。

  • 鍵通常是字符串或數(shù)字,值可以是任何數(shù)據(jù)類(lèi)型。

  • 可變,可以添加、刪除或更改鍵值對(duì)。

  • ?序,不能通過(guò)索引。


函數(shù)

 資源 >>>

定義

1、參數(shù)傳遞

  • 函數(shù)可以接受參數(shù),這些參數(shù)在函數(shù)調(diào)?時(shí)被傳遞給函數(shù)。

  • 參數(shù)可以是必需的,也可以是可選的(帶有默認(rèn)值)。

  • Python還?持關(guān)鍵字參數(shù)(允許你通過(guò)參數(shù)名指定參數(shù))和可變數(shù)量的參數(shù)(使?*args和**kwargs)。

2、作?域

描述: 在Python中,變量的作?域決定了在哪?可以訪問(wèn)該變量。

  • 局部作?域:在函數(shù)內(nèi)定義的變量只能在該函數(shù)內(nèi)部訪問(wèn)。

  • 全局作?域:在函數(shù)外定義的變量可以在整個(gè)代碼中訪問(wèn)。

  • global關(guān)鍵字?于在函數(shù)內(nèi)部訪問(wèn)全局變量。

  • nonlocal關(guān)鍵字?于在嵌套函數(shù)中訪問(wèn)外層函數(shù)的局部變量。

3、lambda 表達(dá)式

lambda表達(dá)式是?種創(chuàng)建匿名函數(shù)的?式。

 資源 >>>

4、常?內(nèi)置函數(shù)

描述: Python提供了許多內(nèi)置函數(shù),這些函數(shù)隨時(shí)可?,?需導(dǎo)?模塊。

  • print():打印輸出。

  • len():返回對(duì)象的?度或元素個(gè)數(shù)。

  • type():返回對(duì)象的類(lèi)型。

  • range():?成?個(gè)數(shù)值序列。

  • str(), int(), float(): ?于類(lèi)型轉(zhuǎn)換。

  • input(): ?于從?戶(hù)獲取輸?。

  • sum(): 計(jì)算序列中所有元素的總和。

  • max(), min(): 查找序列中的最?或最?值。

  • sorted(): 返回排序后的序列。


?向?qū)ο缶幊?(OOP)

1、類(lèi)和對(duì)象

1.1 類(lèi) (Class)

  • 類(lèi)是創(chuàng)建對(duì)象的藍(lán)圖或模板。它為對(duì)象定義了特定的屬性和?法。

  • 類(lèi)是?來(lái)定義數(shù)據(jù)以及數(shù)據(jù)操作的?法的。你可以將類(lèi)看作是構(gòu)建對(duì)象的模具。

1.2 對(duì)象 (Object)

  • 對(duì)象是根據(jù)類(lèi)定義創(chuàng)建的實(shí)例。每個(gè)對(duì)象都有特定的屬性和?法。

  • 對(duì)象是類(lèi)的實(shí)例化,具有類(lèi)定義的所有特性。每個(gè)對(duì)象都可以有不同的屬性值,使得每個(gè)對(duì)象都是獨(dú)???的。

  • 對(duì)象的創(chuàng)建通常稱(chēng)為實(shí)例化,并且對(duì)象可以使?類(lèi)中定義的?法。

2、三?特性

2.1 封裝

 描述: 封裝是OOP中將數(shù)據(jù)(屬性)和操作數(shù)據(jù)的代碼(?法)捆綁在?起的概念。這樣做的?的是隱藏對(duì)象的內(nèi)部狀態(tài),只通過(guò)公共接?暴露功能。

  • ?self ?: 在類(lèi)的?法中,self代表類(lèi)的實(shí)例?身。它是對(duì)當(dāng)前對(duì)象的引?。

  • 屬性: 類(lèi)的變量,?于存儲(chǔ)數(shù)據(jù)。

  • ?法: 類(lèi)中定義的函數(shù),?于定義對(duì)象的?為。

    • 類(lèi)?法(Class Method): 使?@classmethod裝飾器定義,接受類(lèi)本身作為第?個(gè)參數(shù)(通常命名為cls)。

    • 實(shí)例?法(Instance Method): 類(lèi)的普通?法,接受實(shí)例?身self作為第?個(gè)參數(shù)。

    • 靜態(tài)?法(Static Method): 使?@staticmethod裝飾器定義,不接受self或cls參數(shù),類(lèi)似普通函數(shù)但屬于類(lèi)的命名空間。

  • 訪問(wèn)控制: 控制外部對(duì)類(lèi)內(nèi)部屬性和?法的訪問(wèn)權(quán)限。Python通過(guò)前置下劃線(xiàn)實(shí)現(xiàn)(如單下劃線(xiàn) _ 和雙下劃線(xiàn) __)。

2.2 繼承

 描述: 繼承允許?個(gè)類(lèi)(?類(lèi))繼承另?個(gè)類(lèi)(?類(lèi))的屬性和?法,從?實(shí)現(xiàn)代碼重?。

  • 單繼承: ?類(lèi)只繼承?個(gè)?類(lèi)。

  • 多繼承: ?類(lèi)可以繼承多個(gè)?類(lèi)。Python?持多繼承,允許定義繼承多個(gè)?類(lèi)的類(lèi)。

2.3 多態(tài)

 描述: 多態(tài)是指不同類(lèi)的對(duì)象對(duì)同?消息作出響應(yīng)的能?,即相同的接?調(diào)?可以有不同的執(zhí)?結(jié)果。

  • ?法重寫(xiě)(Method Overriding): ?類(lèi)可以重寫(xiě)?類(lèi)的?法,提供特定于?類(lèi)的實(shí)現(xiàn)。在調(diào)?這個(gè)?法時(shí),會(huì)使??類(lèi)的版本,?不是?類(lèi)的。

3、運(yùn)算符重載

 描述: 運(yùn)算符重載允許為類(lèi)的實(shí)例?定義Python內(nèi)置操作符的?為。

  • 通過(guò)定義特殊?法(magic methods),類(lèi)可以改變其實(shí)例的運(yùn)算符?為。

  • 例如,通過(guò)重載__add__?法,可以定義兩個(gè)類(lèi)實(shí)例使?+運(yùn)算符時(shí)的?為。

4、裝飾器

 描述: 裝飾器是?種設(shè)計(jì)模式,?于修改或增強(qiáng)函數(shù)或?法的?為,?不改變其代碼。

  • 在Python中,裝飾器是?種函數(shù),它接受?個(gè)函數(shù)作為參數(shù)并返回?個(gè)新的函數(shù)。

  • 裝飾器通過(guò)在函數(shù)定義之前使?@符號(hào)應(yīng)?,例如@decorator_name。

  • 它們常?于?志記錄、性能測(cè)試、事務(wù)處理、權(quán)限校驗(yàn)等。

  • 裝飾器可以應(yīng)?于任何可調(diào)?的對(duì)象,包括類(lèi)和類(lèi)的?法。

5、反射

 描述: 反射是指程序在運(yùn)?時(shí)檢查和修改其結(jié)構(gòu)(如類(lèi)或函數(shù))的能?。

  • 在Python中,可以通過(guò)內(nèi)置函數(shù)如getattr(), setattr(), hasattr(), 和delattr()實(shí)現(xiàn)反射,?于動(dòng)態(tài)地訪問(wèn)或修改對(duì)象的屬性。

  • type()和isinstance()等函數(shù)可以?于獲取對(duì)象的類(lèi)型信息。

  • 反射使得程序可以更加動(dòng)態(tài),例如根據(jù)條件動(dòng)態(tài)調(diào)??法或訪問(wèn)屬性,但也可能使得代碼難以理解和維護(hù)。


模塊

 描述:模塊是包含Python代碼的?件。模塊可以定義函數(shù)、類(lèi)和變量,也可以包含可執(zhí)?的代碼。模塊的使?是Python編程的基礎(chǔ)之?,它提?了代碼的可重?性和組織性。

1、導(dǎo)?模塊

 描述: Python中導(dǎo)?模塊通常使?import語(yǔ)句。

1.1 基本導(dǎo)?

  • 直接使?import語(yǔ)句,后?跟模塊名。

  • 例如:import math。之后可以通過(guò)math.function_name的?式調(diào)?模塊內(nèi)的函數(shù)。

1.2 從模塊導(dǎo)?特定項(xiàng)

  • 使?from ... import ...語(yǔ)法。

  • 例如:from math import sqrt。這樣可以直接使?sqrt??需math.sqrt。

1.3 導(dǎo)?模塊并重命名

  • 使?import ... as ...語(yǔ)法。

  • 例如:import numpy as np。之后可以使?np來(lái)代替numpy。

1.4 導(dǎo)?模塊的所有項(xiàng)

  • 使?from ... import *語(yǔ)法。

  • 這會(huì)將模塊中的所有項(xiàng)導(dǎo)?當(dāng)前命名空間,但通常不推薦這樣做,因?yàn)樗赡軐?dǎo)致命名沖突。

2、常?模塊

  • ?math? : 提供數(shù)學(xué)運(yùn)算函數(shù),如三?函數(shù)、對(duì)數(shù)函數(shù)等。

  • ?datetime? : ?于處理?期和時(shí)間的模塊。

  • ?os? : 提供了許多與操作系統(tǒng)交互的功能。

  • ?sys ?: ?于訪問(wèn)與Python解釋器緊密相關(guān)的變量和函數(shù)。

  • ?random? : ?于?成隨機(jī)數(shù)。

  • ?json? : ?于讀取和寫(xiě)?JSON格式數(shù)據(jù)。

  • ?re? : 提供正則表達(dá)式?具。


 描述: 包(Package)是?種組織模塊的?式,它們是包含模塊的?件夾,并提供了?種層次結(jié)構(gòu),使得模塊組織更加清晰。包的使?使得?型項(xiàng)?的代碼管理變得更加容易。

1、導(dǎo)?包

 描述: 導(dǎo)?包的?法類(lèi)似于導(dǎo)?模塊,但它還涉及到包的層次結(jié)構(gòu)。

1.1 直接導(dǎo)?包下的模塊

  • 使?import語(yǔ)句指定包名和模塊名。

  • 示例:import package.module。

1.2 從包中導(dǎo)?特定模塊或函數(shù)

  • 使?from ... import ...語(yǔ)法。

  • 示例:from package import module 或 from package.module import function。

1.3 導(dǎo)??包

  • 如果包中還包含?包,可以通過(guò).來(lái)導(dǎo)??包中的模塊。

  • 示例:import package.subpackage.module。

2、?成包

 描述: 創(chuàng)建?個(gè)包涉及到創(chuàng)建?個(gè)包含模塊和?個(gè)特殊?件init.py的?件夾。init.py可以為空,但它的存在告訴Python這個(gè)?件夾應(yīng)該被視為?個(gè)Python包。

2.1 創(chuàng)建包?錄

  • 創(chuàng)建?個(gè)?件夾,?于存放相關(guān)的模塊。?件夾的名字就是包的名字。

2.2 添加模塊

  • 在這個(gè)?件夾中創(chuàng)建Python?件(.py),每個(gè)?件都作為包的?個(gè)模塊。

2.3 ?添加__init__.py文件?

  • 在?件夾中創(chuàng)建?個(gè)名為_(kāi)_init__.py的?件。這個(gè)?件可以包含包的初始化代碼,或者僅僅為空。


異常處理

1、捕獲異常

在Python中,使?try和except語(yǔ)句來(lái)捕獲異常。try塊包含可能引發(fā)異常的代碼,?except塊包含在發(fā)?異常時(shí)要執(zhí)?的代碼。

2、try ... except ... else ... finally 結(jié)構(gòu)

try語(yǔ)句還可以包含else和finally塊。else塊中的代碼在try塊中的代碼沒(méi)有引發(fā)異常時(shí)執(zhí)?,?finally塊中的代碼始終會(huì)在try塊執(zhí)?后執(zhí)?,?論是否發(fā)?異常。

3、?定義異常

在Python中,你可以通過(guò)創(chuàng)建?定義異常類(lèi)來(lái)定義??的異常類(lèi)型。?定義異常類(lèi)通常繼承?內(nèi)置的Exception類(lèi)。


?件操作

1、打開(kāi)?件

要與?件進(jìn)?交互,?先需要打開(kāi)它。使?內(nèi)置的 open() 函數(shù),傳遞?件路徑和打開(kāi)模式。打開(kāi)模式包括:

  • 'r':只讀模式

  • 'w':寫(xiě)?模式(會(huì)覆蓋已存在的?件)

  • 'a':追加模式(將內(nèi)容添加到?件末尾)

  • 'x':獨(dú)占創(chuàng)建模式(如果?件已存在,則失?。?/span>

  • 'b':?進(jìn)制模式

2、讀取?件內(nèi)容

通過(guò)打開(kāi)?件后,可以使? read() ?法讀取整個(gè)?件的內(nèi)容。你還可以使?readline() ?法逐?讀取,或者使? readlines() ?法將內(nèi)容按?讀取并存儲(chǔ)在列表中。

3、寫(xiě)??件內(nèi)容

使? write() ?法可以向?件寫(xiě)?內(nèi)容。如果?件不存在,使? 'w' 模式將創(chuàng)建?個(gè)新?件。你還可以使? writelines() ?法寫(xiě)?多?內(nèi)容。

4、關(guān)閉?件

在完成?件操作后,務(wù)必使? close() ?法關(guān)閉?件。這有助于釋放系統(tǒng)資源。為了確保?件在任何情況下都會(huì)被關(guān)閉,可以使? with 語(yǔ)句創(chuàng)建上下?管理器。



0 人點(diǎn)贊