系統(tǒng)地學(xué)習(xí)Python編程
第一課:Python基礎(chǔ)
安裝Python
首先,你需要安裝Python。你可以在Python官網(wǎng)(https://www.python.org/downloads/)上下載Python的安裝程序,選擇適合你操作系統(tǒng)的版本進(jìn)行下載和安裝。
Python交互式環(huán)境
安裝完成后,你可以打開命令行終端(Windows下為命令提示符,Mac和Linux下為終端),輸入python來啟動(dòng)Python交互式環(huán)境。
$ python Python 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for $ >>>
在Python交互式環(huán)境中,你可以直接輸入Python代碼,并立即看到代碼執(zhí)行的結(jié)果。比如,輸入以下代碼可以輸出“Hello, World!”:
>>> print("Hello, World!") Hello, World!
Python基本語法
Python的基本語法非常簡(jiǎn)單,適合初學(xué)者學(xué)習(xí)。下面列舉一些基本語法和常用操作:
注釋
Python中的注釋使用井號(hào)(#)來表示,井號(hào)后面的內(nèi)容會(huì)被忽略。
# 這是一個(gè)注釋 print("Hello, World!")
變量和數(shù)據(jù)類型
Python中的變量可以存儲(chǔ)各種類型的數(shù)據(jù),例如數(shù)字、字符串、列表、元組、字典等。在Python中,變量的類型不需要顯式地聲明,在賦值時(shí)會(huì)自動(dòng)識(shí)別變量的類型。
# 定義一個(gè)整型變量 num = 123 # 定義一個(gè)字符串變量 str = "Hello, World!" # 定義一個(gè)列表變量 lst = [1, 2, 3, 4, 5] # 定義一個(gè)元組變量 tpl = (1, 2, 3, 4, 5) # 定義一個(gè)字典變量 dict = {"name": "Tom", "age": 18}
條件語句
Python中的條件語句使用if、elif和else關(guān)鍵字來表示。條件語句用于根據(jù)不同的條件執(zhí)行不同的操作。
score = 80 if score >= 90: ? ?print("優(yōu)秀") elif score >= 80: ? ?print("良好") elif score >= 60: ? ?print("及格") else: ? ?print("不及格")
循環(huán)語句
Python中的循環(huán)語句有for和while兩種。for循環(huán)用于遍歷序列中的元素,while循環(huán)用于在滿足條件的情況下重復(fù)執(zhí)行一段代碼。
# for循環(huán) lst = [1, 2, 3, 4, 5] for i in lst: ? ?print(i) # while循環(huán) i = 1 while i <= 5: ? ?print(i) ? ?i += 1
函數(shù)
Python中的函數(shù)使用def關(guān)鍵字來定義。函數(shù)可以接受參數(shù),并返回一個(gè)值。
# 定義一個(gè)函數(shù),計(jì)算兩個(gè)數(shù)的和 def add(x, y): ? ?return x + y # 調(diào)用函數(shù) result = add(2, 3) print(result)
第二課:Python模塊和包
Python模塊
Python模塊是一個(gè)包含Python定義和語句的文件。模塊可以被其他程序引入,并在該程序中使用。
引入模塊
Python中使用import關(guān)鍵字來引入模塊。
import math print(math.pi)
自定義模塊
你也可以自己定義Python模塊,并在其他程序中引入。
比如,你可以創(chuàng)建一個(gè)名為my_module.py的文件,里面包含一個(gè)函數(shù)add,用于計(jì)算兩個(gè)數(shù)的和。
# my_module.py def
def add(x, y):
return x + y
然后,在另一個(gè)文件中引入該模塊并使用其中的函數(shù)。 ```python import my_module result = my_module.add(2, 3) print(result)
Python包
Python包是一個(gè)包含模塊和子包的目錄結(jié)構(gòu)。包可以幫助組織和管理Python模塊,使得模塊更容易被復(fù)用。
創(chuàng)建Python包
你可以在Python中創(chuàng)建一個(gè)包,步驟如下:
創(chuàng)建一個(gè)目錄,作為包的根目錄。
在該目錄下創(chuàng)建一個(gè)名為__init__.py的空文件,該文件表示該目錄是一個(gè)Python包。
在該目錄下創(chuàng)建其他Python模塊或子包。
比如,你可以創(chuàng)建一個(gè)名為my_package的包,包含一個(gè)名為my_module的模塊。
my_package/ ? ?__init__.py ? ?my_module.py
引入Python包
你可以使用import關(guān)鍵字引入一個(gè)包或模塊。如果你要引入的模塊在包中,你需要使用點(diǎn)號(hào)(.)來表示包和模塊之間的層次關(guān)系。
import my_package.my_module result = my_package.my_module.add(2, 3) print(result)
你也可以使用from...import語句來引入包或模塊中的某個(gè)函數(shù)或變量。
from my_package.my_module import add result = add(2, 3) print(result)
第三課:Python文件操作
打開和關(guān)閉文件
Python中使用open函數(shù)來打開一個(gè)文件。open函數(shù)返回一個(gè)文件對(duì)象,你可以使用該對(duì)象來讀取或?qū)懭胛募?/p>
# 打開一個(gè)文件 file = open("test.txt", "w") # 寫入文件 file.write("Hello, World!") # 關(guān)閉文件 file.close()
在open函數(shù)中,第一個(gè)參數(shù)是要打開的文件名,第二個(gè)參數(shù)是打開文件的模式。打開文件的模式包括:
"r":只讀模式(默認(rèn))。
"w":寫入模式,如果文件不存在則創(chuàng)建新文件,如果文件已存在則覆蓋原文件。
"x":獨(dú)占寫入模式,如果文件不存在則創(chuàng)建新文件,如果文件已存在則拋出異常。
"a":追加模式,如果文件不存在則創(chuàng)建新文件,如果文件已存在則在文件末尾追加新內(nèi)容。
"b":二進(jìn)制模式,用于處理二進(jìn)制文件(如圖片、視頻等)。
"t":文本模式(默認(rèn)),用于處理文本文件。
讀取文件內(nèi)容
你可以使用文件對(duì)象的read方法來讀取文件中的內(nèi)容。
# 打開一個(gè)文件 file = open("test.txt", "r") # 讀取文件內(nèi)容 content = file.read() # 關(guān)閉文件 file.close() print(content)
寫入文件內(nèi)容
你可以使用文件對(duì)象的write方法來向文件中寫入內(nèi)容。
# 打開一個(gè)文件 file = open("test.txt", "w") # 寫入文件內(nèi)容 file.write("Hello, World!") # 關(guān)閉文件 file.close()
追加文件內(nèi)容
你可以使用文件對(duì)象的write方法來追加文件內(nèi)容。
# 打開一個(gè)文件 file = open("test.txt", "a") # 追加文件內(nèi)容 file.write("Hello, World!") # 關(guān)閉文件 file.close()
第四課:Python常用模塊和庫
Python有很多常用的模塊和庫,包括數(shù)學(xué)模塊、時(shí)間模塊、文件操作模塊、數(shù)據(jù)處理模塊、網(wǎng)絡(luò)模塊等。下面介紹一些常用的模塊和庫。
數(shù)學(xué)模塊math
math模塊提供了許多數(shù)學(xué)函數(shù),例如三角函數(shù)、對(duì)數(shù)函數(shù)、冪函數(shù)、根號(hào)函數(shù)等。
import math # 計(jì)算正弦值 print(math.sin(math.pi / 2)) # 計(jì)算自然對(duì)數(shù) print(math.log(math.e)) #
計(jì)算2的3次方
print(math.pow(2, 3))
計(jì)算平方根
print(math.sqrt(16))
### 時(shí)間模塊time time模塊提供了一些與時(shí)間相關(guān)的函數(shù),例如獲取當(dāng)前時(shí)間、時(shí)間格式化、時(shí)間睡眠等。 ```python import time # 獲取當(dāng)前時(shí)間戳 print(time.time()) # 格式化時(shí)間 print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 睡眠5秒 time.sleep(5)
文件操作模塊os
os模塊提供了一些與文件和目錄相關(guān)的函數(shù),例如獲取當(dāng)前目錄、創(chuàng)建目錄、刪除文件等。
import os # 獲取當(dāng)前目錄 print(os.getcwd()) # 創(chuàng)建目錄 os.mkdir("test") # 刪除文件 os.remove("test.txt")
數(shù)據(jù)處理庫pandas
pandas是一個(gè)數(shù)據(jù)處理庫,可以用于處理各種類型的數(shù)據(jù),例如表格數(shù)據(jù)、時(shí)間序列數(shù)據(jù)等。
import pandas as pd # 創(chuàng)建數(shù)據(jù)框 df = pd.DataFrame({ ? ?"Name": ["Alice", "Bob", "Charlie"], ? ?"Age": [25, 30, 35], ? ?"City": ["[New York](poe://www.poe.com/_api/key_phrase?phrase=New%20York&prompt=Tell%20me%20more%20about%20New%20York.)", "London", "Paris"] }) # 顯示數(shù)據(jù)框 print(df)
網(wǎng)絡(luò)庫requests
requests是一個(gè)網(wǎng)絡(luò)庫,可以用于發(fā)送HTTP請(qǐng)求并獲取響應(yīng)。
import requests # 發(fā)送GET請(qǐng)求 response = requests.get("https://www.baidu.com") # 獲取響應(yīng)內(nèi)容 print(response.content)
第五課:Python高級(jí)特性
Python有許多高級(jí)特性,包括列表推導(dǎo)式、生成器、裝飾器、上下文管理器等。下面介紹一些常用的高級(jí)特性。
列表推導(dǎo)式
列表推導(dǎo)式是一種快速創(chuàng)建列表的方法,它允許你使用簡(jiǎn)潔的語法創(chuàng)建一個(gè)新列表,而不需要使用for循環(huán)。
# 創(chuàng)建一個(gè)1到10的列表 numbers = [i for i in range(1, 11)] # 創(chuàng)建一個(gè)偶數(shù)列表 even_numbers = [i for i in numbers if i % 2 == 0] print(numbers) print(even_numbers)
生成器
生成器是一種可以逐個(gè)產(chǎn)生值的對(duì)象,它可以幫助你節(jié)省內(nèi)存并提高性能。
# 創(chuàng)建一個(gè)生成器 def my_generator(): ? ?yield 1 ? ?yield 2 ? ?yield 3 # 使用生成器 gen = my_generator() print(next(gen)) print(next(gen)) print(next(gen))
裝飾器
裝飾器是一種可以修改函數(shù)行為的函數(shù),它可以在不改變?cè)瘮?shù)代碼的情況下,為函數(shù)添加新的功能。
# 定義一個(gè)裝飾器 def my_decorator(func): ? ?def wrapper(): ? ? ? ?print("Before function") ? ? ? ?func() ? ? ? ?print("After function") ? ?return wrapper # 使用裝飾器 @my_decorator def my_function(): ? ?print("Hello, World!") my_function()
上下文管理器
上下文管理器是一種可以在代碼塊執(zhí)行前后執(zhí)行特定操作的對(duì)象,它可以幫助你管理資源并確保資源的正確釋放。
# 定義一個(gè)上下文管理器 class [MyContextManager](poe://www.poe.com/_api/key_phrase?phrase=MyContextManager&prompt=Tell%20me%20more%20about%20MyContextManager.): ? ?def __enter__(self): ? ? ? ?print("Enter context") ? ? ? ?return self ? ? ? ?def __exit__(self, exc_type, exc_value, traceback): ? ? ? ?print("Exit context") # 使用上下文管理器 with MyContextManager() as cm: ? ?print("Hello, World!")
總結(jié)
本文介紹了Python的基礎(chǔ)語法、常用模塊和庫、高級(jí)特性等內(nèi)容。Python是一種易學(xué)易用的編程語言,它具有廣泛的應(yīng)用場(chǎng)景,包括數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、Web開發(fā)等。如果你想深入學(xué)習(xí)Python,可以參考Python官方文檔以及相關(guān)的書籍和教程。