以下是Python中常用的函數分類整理,涵蓋基礎操作、數據處理、文件操作、面向對象等場景,并附上示例說明:
---
### **一、基礎內置函數**
| 函數 ? ? ? ? ? ? ? ? | 作用 ? ? ? ? ? ? ? ? ? ? ? ? ?| 示例 ? ? ? ? ? ? ? ? ? ? ? ? ?|
|----------------------|-----------------------------|-------------------------------|
| `print()` ? ? ? ? ? | 輸出內容 ? ? ? ? ? ? ? ? ? ? | `print("Hello")` ? ? ? ? ? ? |
| `len()` ? ? ? ? ? ? | 返回對象長度 ? ? ? ? ? ? ? ? | `len([1,2,3])` → 3 ? ? ? ? ? |
| `type()` ? ? ? ? ? ?| 返回對象類型 ? ? ? ? ? ? ? ? | `type(10)` → `<class 'int'>` |
| `range()` ? ? ? ? ? | 生成整數序列 ? ? ? ? ? ? ? ? | `list(range(5))` → `[0,1,2,3,4]` |
| `input()` ? ? ? ? ? | 獲取用戶輸入 ? ? ? ? ? ? ? ? | `name = input("Name: ")` ? ? |
| `sum()` ? ? ? ? ? ? | 求和 ? ? ? ? ? ? ? ? ? ? ? ?| `sum([1,2,3])` → 6 ? ? ? ? ? |
| `max()/min()` ? ? ? | 返回最大/最小值 ? ? ? ? ? ? ?| `max([5,2,8])` → 8 ? ? ? ? ? |
| `abs()` ? ? ? ? ? ? | 絕對值 ? ? ? ? ? ? ? ? ? ? ?| `abs(-3.14)` → 3.14 ? ? ? ? ?|
| `round()` ? ? ? ? ? | 四舍五入 ? ? ? ? ? ? ? ? ? ?| `round(3.14159, 2)` → 3.14 ? |
---
### **二、數據類型轉換**
| 函數 ? ? ? ? ? ? ? ? | 說明 ? ? ? ? ? ? ? ? ? ? ? ? ?| 示例 ? ? ? ? ? ? ? ? ? ? ? ? ?|
|----------------------|-----------------------------|-------------------------------|
| `int()` ? ? ? ? ? ? | 轉整數 ? ? ? ? ? ? ? ? ? ? ? | `int("10")` → 10 ? ? ? ? ? ? |
| `float()` ? ? ? ? ? | 轉浮點數 ? ? ? ? ? ? ? ? ? ? | `float("3.14")` → 3.14 ? ? ? |
| `str()` ? ? ? ? ? ? | 轉字符串 ? ? ? ? ? ? ? ? ? ? | `str(100)` → `"100"` ? ? ? ? |
| `list()` ? ? ? ? ? ?| 轉列表 ? ? ? ? ? ? ? ? ? ? ? | `list("abc")` → `['a','b','c']` |
| `tuple()` ? ? ? ? ? | 轉元組 ? ? ? ? ? ? ? ? ? ? ? | `tuple([1,2])` → `(1,2)` ? ? |
| `dict()` ? ? ? ? ? ?| 創建字典 ? ? ? ? ? ? ? ? ? ? | `dict(a=1, b=2)` → `{'a':1, 'b':2}` |
| `set()` ? ? ? ? ? ? | 轉集合(去重) ? ? ? ? ? ? ? | `set([1,1,2])` → `{1,2}` ? ? |
---
### **三、字符串處理**
| 函數/方法 ? ? ? ? ? ?| 說明 ? ? ? ? ? ? ? ? ? ? ? ? ?| 示例 ? ? ? ? ? ? ? ? ? ? ? ? ?|
|----------------------|-----------------------------|-------------------------------|
| `split()` ? ? ? ? ? | 按分隔符拆分字符串 ? ? ? ? ? | `"a,b,c".split(",")` → `['a','b','c']` |
| `join()` ? ? ? ? ? ?| 連接字符串 ? ? ? ? ? ? ? ? ? | `"-".join(['a','b'])` → `"a-b"` |
| `strip()` ? ? ? ? ? | 去除首尾空格/指定字符 ? ? ? ? | `" hello ".strip()` → `"hello"` |
| `replace()` ? ? ? ? | 替換子串 ? ? ? ? ? ? ? ? ? ? | `"abc".replace("b","x")` → `"axc"` |
| `find()` ? ? ? ? ? ?| 查找子串位置(未找到返回-1) ?| `"python".find("th")` → 2 ? ?|
| `format()` ? ? ? ? ?| 格式化字符串 ? ? ? ? ? ? ? ? | `"{} {}".format("Hi",5)` → `"Hi 5"` |
| `f-string` (Python 3.6+) | 更簡潔的格式化 ? ? ? ? ?| `f"{name} is {age} years old"` |
---
### **四、列表/字典操作**
| 函數/方法 ? ? ? ? ? ?| 說明 ? ? ? ? ? ? ? ? ? ? ? ? ?| 示例 ? ? ? ? ? ? ? ? ? ? ? ? ?|
|----------------------|-----------------------------|-------------------------------|
| `append()` ? ? ? ? ?| 向列表追加元素 ? ? ? ? ? ? ? | `lst = [1]; lst.append(2)` → `[1,2]` |
| `extend()` ? ? ? ? ?| 合并列表 ? ? ? ? ? ? ? ? ? ? | `[1].extend([2,3])` → `[1,2,3]` |
| `sort()` ? ? ? ? ? ?| 列表排序 ? ? ? ? ? ? ? ? ? ? | `[3,1,2].sort()` → `[1,2,3]` |
| `sorted()` ? ? ? ? ?| 返回新排序列表(不改變原列表)| `sorted([3,1,2])` → `[1,2,3]` |
| `keys()/values()` ? | 獲取字典鍵/值 ? ? ? ? ? ? ? ?| `dict(a=1).keys()` → `['a']` ?|
| `items()` ? ? ? ? ? | 獲取鍵值對(迭代用) ? ? ? ? ?| `dict(a=1).items()` → `[('a',1)]` |
| `get()` ? ? ? ? ? ? | 安全獲取字典值 ? ? ? ? ? ? ? | `d.get('x', default=0)` ? ? ? |
---
### **五、文件與系統操作**
| 函數 ? ? ? ? ? ? ? ? | 說明 ? ? ? ? ? ? ? ? ? ? ? ? ?| 示例 ? ? ? ? ? ? ? ? ? ? ? ? ?|
|----------------------|-----------------------------|-------------------------------|
| `open()` ? ? ? ? ? ?| 打開文件 ? ? ? ? ? ? ? ? ? ? | `with open('file.txt') as f: ...` |
| `os.listdir()` ? ? ?| 列出目錄文件 ? ? ? ? ? ? ? ? | `os.listdir('.')` ? ? ? ? ? ? |
| `os.path.join()` ? ?| 跨平臺路徑拼接 ? ? ? ? ? ? ? | `os.path.join('dir','file.txt')` |
| `shutil.copy()` ? ? | 復制文件 ? ? ? ? ? ? ? ? ? ? | `shutil.copy('src.txt','dst.txt')` |
---
### **六、高階函數**
| 函數 ? ? ? ? ? ? ? ? | 說明 ? ? ? ? ? ? ? ? ? ? ? ? ?| 示例 ? ? ? ? ? ? ? ? ? ? ? ? ?|
|----------------------|-----------------------------|-------------------------------|
| `map()` ? ? ? ? ? ? | 對可迭代對象應用函數 ? ? ? ? ?| `list(map(str, [1,2,3]))` → `['1','2','3']` |
| `filter()` ? ? ? ? ?| 過濾元素 ? ? ? ? ? ? ? ? ? ? | `list(filter(lambda x: x>0, [-1,0,1]))` → `[1]` |
| `reduce()` ? ? ? ? ?| 累積計算(需`from functools import reduce`) | `reduce(lambda x,y: x+y, [1,2,3])` → 6 |
| `lambda` ? ? ? ? ? ?| 匿名函數 ? ? ? ? ? ? ? ? ? ? | `(lambda x: x*2)(3)` → 6 ? ? |
---
### **七、常用模塊函數**
- **`math`模塊**:`sqrt()`, `ceil()`, `floor()`, `pi` ?
- **`random`模塊**:`random()`, `randint()`, `choice()` ?
- **`datetime`模塊**:`datetime.now()`, `timedelta` ?
- **`json`模塊**:`json.dumps()`, `json.loads()` ?
---
### **最佳實踐提示**
1. 使用`help()`查看函數文檔:`help(print)` ?
2. 避免重復造輪子,優先使用內置函數(性能更優) ?
3. 組合函數提高效率(如`map`+`filter`) ?
掌握這些函數能覆蓋80%的日常編碼需求! 🚀