py基礎(chǔ)知識點歸納總結(jié)

Table of Contents
變量
數(shù)據(jù)類型
控制流語句
函數(shù)
類和對象
異常處理
模塊和包
文件操作
正則表達(dá)式
內(nèi)置函數(shù)
Lambda函數(shù)
Map函數(shù)
Filter函數(shù)
Decorator裝飾器
迭代器和生成器
多線程和多進(jìn)程
異常處理
with語句
Python標(biāo)準(zhǔn)庫和第三方庫
Py的應(yīng)用領(lǐng)域
Py語法是一種高級編程語言,由于其簡單易學(xué)、功能強(qiáng)大的特性,已經(jīng)成為了當(dāng)前最流行的編程語言之一。
變量
變量是存儲數(shù)據(jù)的容器。在Py中,你可以用任何名稱來定義一個變量,但是要遵守以下幾個規(guī)則:
變量名只能由字母、數(shù)字和下劃線組成。
變量名的第一個字符必須是字母或下劃線。
變量名是區(qū)分大小寫的。
例如,以下代碼演示了如何定義和使用變量:
輸出結(jié)果:
數(shù)據(jù)類型
在Py中,常見的數(shù)據(jù)類型有整數(shù)(int)、浮點數(shù)(float)、布爾值(bool)、字符串(str)、列表(list)、元組(tuple)、字典(dict)等。以下是這些數(shù)據(jù)類型的示例:
輸出結(jié)果:
控制流語句
控制流語句用于控制代碼的執(zhí)行流程。在Py中,常見的控制流語句有if語句、for循環(huán)和while循環(huán)。
if語句
if語句用于根據(jù)條件判斷執(zhí)行哪些代碼塊。以下是一個示例:
輸出結(jié)果:
for循環(huán)
for循環(huán)用于迭代一個序列(如列表或元組)中的元素。以下是一個示例:
輸出結(jié)果:
while循環(huán)
while循環(huán)用于在條件滿足的情況下重復(fù)執(zhí)行代碼塊。以下是一個示例:
輸出結(jié)果:
函數(shù)
函數(shù)用于封裝一些可以被重復(fù)使用的代碼塊。在Py中,你可以使用def關(guān)鍵字來定義函數(shù)。以下是一個示例:
輸出結(jié)果:
類和對象
Py是一種面向?qū)ο蟮木幊陶Z言,因此它支持類和對象的概念。在Py中,你可以使用class關(guān)鍵字來定義一個類,使用對象來訪問這個類的屬性和方法。以下是一個示例:
輸出結(jié)果:
異常處理
異常處理用于處理代碼運(yùn)行時可能出現(xiàn)的錯誤。在Py中,你可以使用try/except語句來捕獲并處理異常。以下是一個示例:
在這個示例中,如果用戶輸入的不是一個數(shù)字,則會拋出ValueError異常,程序?qū)?zhí)行except塊中的代碼。
模塊和包
Py中的模塊和包用于組織和管理代碼。模塊就是一個包含函數(shù)、類等定義的文件,你可以使用import關(guān)鍵字來引入其他模塊中的定義。而包是多個模塊的集合,它們通常分別存放在不同的文件夾中。以下是一個示例:
在這個示例中,我們在my_module.py文件中定義了一個add函數(shù),然后在main.py文件中使用import關(guān)鍵字將my_module.py文件引入進(jìn)來,并調(diào)用了其中的add函數(shù)。
文件操作
Py中的文件操作用于讀取和寫入文件。你可以使用open函數(shù)來打開一個文件,并使用read和write等方法來進(jìn)行讀寫操作。以下是一個示例:
在這個示例中,我們首先使用open函數(shù)打開了一個名為test.txt的文件,并使用寫模式(“w”)向其中寫入了一行文本。然后關(guān)閉文件并再次打開它,使用讀模式(“r”)從文件中讀取這行文本并將其打印到屏幕上。
正則表達(dá)式
正則表達(dá)式用于匹配字符串中的模式。在Py中,你可以使用re模塊來進(jìn)行正則表達(dá)式的操作。以下是一個示例:
在這個示例中,我們通過re.search函數(shù)使用正則表達(dá)式查找了字符串text中的第一個數(shù)字,并將其打印到屏幕上。
內(nèi)置函數(shù)
Py中內(nèi)置了許多常用的函數(shù),如print、len、range等。以下是這些內(nèi)置函數(shù)的示例:
Lambda函數(shù)
Lambda函數(shù)是一種匿名函數(shù),它可以在需要時動態(tài)地創(chuàng)建和使用,通常用于函數(shù)式編程中。它的基本語法為:lambda arguments: expression,其中arguments為參數(shù)列表,expression為函數(shù)表達(dá)式。以下是一個示例:
在這個示例中,我們定義了一個將兩個數(shù)相加的lambda函數(shù),并使用了它來計算5和10的和。
Map函數(shù)
Map函數(shù)用于對可迭代對象中的每個元素應(yīng)用某個函數(shù),并返回一個新的可迭代對象。以下是一個示例:
在這個示例中,我們使用map函數(shù)對my_list中的每個元素應(yīng)用了lambda函數(shù),將其平方,并返回了一個新的列表。
Filter函數(shù)
Filter函數(shù)用于對可迭代對象中的每個元素進(jìn)行過濾,并返回一個符合條件的元素的新的可迭代對象。以下是一個示例:
在這個示例中,我們使用filter函數(shù)對my_list中的每個元素進(jìn)行了過濾,只留下了其中的偶數(shù),并返回了一個新的列表。
Decorator裝飾器
Decorator裝飾器用于在不修改已有函數(shù)代碼的情況下增強(qiáng)其功能。它的基本語法為:@decorator,緊跟著要定義的函數(shù),其中decorator是一個裝飾器函數(shù)。以下是一個示例:
在這個示例中,我們定義了一個裝飾器函數(shù)timer,它可以計算被裝飾的函數(shù)的執(zhí)行時間。然后我們用@timer語法將my_function函數(shù)裝飾起來,使它支持計算執(zhí)行時間的功能。最后我們調(diào)用了被裝飾的my_function函數(shù)并觀察結(jié)果。
迭代器和生成器
Py中的迭代器和生成器用于處理大數(shù)據(jù)集合或無限序列等情況。迭代器是一種對象,它支持在遍歷時逐個返回元素。而生成器是一種特殊的迭代器,它可以在需要時動態(tài)地生成元素。以下是一個示例:
在這個示例中,我們定義了一個簡單的迭代器類MyIterator,它可以遍歷一個列表。然后我們使用這個迭代器來遍歷my_list列表,并打印其中的元素。
另外,我們還定義了一個簡單的生成器函數(shù)fibonacci,它可以生成一個無限序列的斐波那契數(shù)列。然后我們使用這個生成器來生成一個長度為10的斐波那契數(shù)列。
多線程和多進(jìn)程
Py中的多線程和多進(jìn)程用于在同一時間內(nèi)運(yùn)行多個任務(wù),以提高程序的性能。多線程是在同一進(jìn)程內(nèi)同時運(yùn)行多個線程,而多進(jìn)程則是啟動多個進(jìn)程并在它們之間分配任務(wù)。以下是一個示例:
在這個示例中,我們使用多線程和多進(jìn)程來同時處理一些任務(wù)。對于多線程,我們使用threading模塊創(chuàng)建了兩個線程,并在它們之間分配了任務(wù)。而對于多進(jìn)程,我們使用multiprocessing模塊啟動了兩個進(jìn)程,并在它們之間分配了任務(wù)。
注意,在Py中使用多線程和多進(jìn)程時需要注意線程安全和進(jìn)程間通信等問題,避免產(chǎn)生死鎖、競態(tài)條件等問題。
異常處理
Py中的異常處理機(jī)制用于處理程序在運(yùn)行時出現(xiàn)的錯誤或異常情況,以避免程序崩潰或產(chǎn)生不可預(yù)料的結(jié)果。異常處理使用try-except結(jié)構(gòu)來捕獲異常并執(zhí)行相關(guān)的處理邏輯。以下是一個示例:
在這個示例中,我們使用try-except結(jié)構(gòu)來捕獲程序中的錯誤。第一個try語句中我們嘗試除以0,這會引發(fā)一個ZeroDivisionError異常,于是我們用except語句捕獲這個異常,并打印一條錯誤消息。
而第二個try語句中我們嘗試訪問列表my_list中的第4個元素,這會引發(fā)一個IndexError異常,于是我們用一個except塊來捕獲這個異常并打印一條錯誤消息。另外,我們還添加了一個ValueError和一個通用的except塊,分別用于處理其它類型的異常。
with語句
Py中的with語句用于管理一些資源(例如文件)的打開與關(guān)閉,以避免因忘記關(guān)閉資源而造成的泄漏或錯誤。with語句中使用的對象必須具有__enter__()和__exit__()方法。以下是一個示例:
在這個示例中,我們使用with語句來自動管理文件資源。當(dāng)程序離開with代碼塊時,文件會自動關(guān)閉,無需手動調(diào)用close()方法。
Python標(biāo)準(zhǔn)庫和第三方庫
Py中包含了大量的標(biāo)準(zhǔn)庫,這些庫提供了豐富的功能和工具,可以幫助我們更輕松地編寫代碼。另外,還有許多第三方庫可以擴(kuò)展Py的功能,例如NumPy、Pandas和Django等。以下是一個示例:
在這個示例中,我們使用了標(biāo)準(zhǔn)庫中的random模塊和datetime模塊。其中,random模塊用于生成隨機(jī)數(shù),而datetime模塊用于獲取當(dāng)前時間并進(jìn)行格式化輸出。
Py的應(yīng)用領(lǐng)域
Py可以應(yīng)用于多種領(lǐng)域,例如Web開發(fā)、數(shù)據(jù)科學(xué)、人工智能、自然語言處理、游戲開發(fā)等。以下是一些示例:
Web開發(fā):使用Django或Flask等框架進(jìn)行Web應(yīng)用程序的開發(fā)。
數(shù)據(jù)科學(xué):使用NumPy、Pandas和Matplotlib等庫進(jìn)行數(shù)據(jù)分析和可視化。
人工智能:使用TensorFlow和PyTorch等庫進(jìn)行機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等任務(wù)。
自然語言處理:使用NLTK和SpaCy等庫進(jìn)行文本分析和處理。
游戲開發(fā):使用Pygame等工具進(jìn)行2D游戲的開發(fā)。
總之,Py是一種功能強(qiáng)大、易于學(xué)習(xí)和使用的編程語言,可以用于多種領(lǐng)域的應(yīng)用開發(fā)。