Python 基礎語法是編程的基石,以下從核心要素到實用技巧進行系統梳理:
一、代碼結構規范
-
縮進規則
- 使用4個空格縮進(PEP 8標準)
- 縮進定義代碼塊(如函數、循環、條件語句)
def greet(name):if name: # 正確縮進print(f"Hello, {name}!")else: # 正確對齊print("Hello, Guest!")
-
行長度限制
- 每行代碼建議不超過79個字符(超長時用反斜杠
\
或括號換行)
result = (value1 + value2 - value3 * value4)
- 每行代碼建議不超過79個字符(超長時用反斜杠
二、變量與數據類型
1. 變量命名
- 規則:字母/數字/下劃線組合,區分大小寫,不以數字開頭
- 慣例:小寫字母+下劃線(如
user_age
),常量全大寫(如MAX_SIZE
)
2. 動態類型
count = 10 # int
count = "Ten" # 類型自動變為str
3. 核心數據類型速查表
類型 | 示例 | 特性 |
---|---|---|
int | 42 , 0b1010 | 任意精度整數 |
float | 3.14 , 2.5e3 | 浮點數精度約15位 |
str | 'Python' , """多行字符串""" | 不可變,支持f-string格式化 |
list | [1, "a", True] | 可變,支持任意類型混合 |
dict | {"name": "Alice", 3: [4,5]} | 鍵唯一且不可變 |
tuple | (1, 2, 3) | 不可變,可作字典鍵 |
set | {1, 2, 3} | 唯一元素,無序 |
bool | True , False | 繼承自int類型 |
None | None | 表示空值 |
三、運算符全家福
1. 運算優先級速記口訣
算術 > 位運算 > 比較 > 邏輯 > 賦值
(括號可強制提升優先級)
2. 特殊運算符
- 鏈式比較:
1 < age < 100
(等價于age > 1 and age < 100
) - 海象運算符(Python 3.8+):
if (n := len(data)) > 10:
(賦值表達式) - 矩陣乘法:
@
(需numpy支持)
四、流程控制
1. 條件語句進階
# 三元表達式
status = "Even" if num % 2 == 0 else "Odd"# 模式匹配(Python 3.10+)
match value:case 0:print("Zero")case _ if value < 0:print("Negative")case _:print("Positive")
2. 循環控制技巧
# 遍歷字典
for key, val in my_dict.items():print(f"{key}: {val}")# 無限循環
while True:if condition:break # 退出循環elif error:continue # 跳過本次迭代
五、函數設計
1. 基礎定義
def calculate(a, b, operation="+"):"""通用計算函數Args:a (int/float): 第一個操作數b (int/float): 第二個操作數operation (str): 運算符,默認為加法"""return {"+": a + b,"-": a - b,"*": a * b,"/": a / b if b !=0 else "Error"}.get(operation, "Invalid Op")
2. 高級特性
- 默認參數陷阱:避免使用可變對象(如
def func(a=[])
) - 關鍵字參數:
func(a=1, b=2)
- 位置參數:
*args
接收元組,**kwargs
接收字典
六、輸入輸出
1. 格式化輸出
name = "Alice"
age = 25
print(f"{name} is {age} years old.") # f-string(推薦)
print("{} is {} years old.".format(name, age))
2. 文件操作
# 寫入文件
with open("data.txt", "w", encoding="utf-8") as f:f.write("Hello, World!\n")# 讀取文件
with open("data.txt", "r") as f:content = f.read()
七、異常處理
try:result = 10 / 0
except ZeroDivisionError:print("不能除以零!")
except (TypeError, ValueError) as e:print(f"類型錯誤: {str(e)}")
else: # 無異常時執行print("計算成功")
finally: # 始終執行print("操作結束")
八、模塊化編程
# 導入模塊
import math
from collections import defaultdict# 自定義模塊
# 在my_module.py中定義:
def greet(name):return f"Hello, {name}!"# 使用模塊
import my_module
print(my_module.greet("Python"))
九、編碼規范(PEP 8要點)
- 導入模塊順序:標準庫 > 第三方庫 > 本地庫
- 運算符周圍加空格:
x = y + 3
- 函數/類之間空兩行,方法之間空一行
- 注釋使用英文,行注釋以
#
開頭
掌握這些基礎語法后,可逐步進階學習:面向對象編程、裝飾器、生成器、異步編程等高級特性。建議通過實際項目(如開發簡單計算器、待辦事項管理器)鞏固知識。