所有工具
免費

一份可搜尋、可列印的 Python 3 參考——語法、資料結構、生成式、函式、類別、檔案和標準函式庫。免費。

變數與型別

10
x = 1
賦值給變數(動態型別)
x: int = 1
可選的型別註解
a, b = 1, 2
多重賦值
type(x)
取得值的型別
int('42')
將字串轉為整數
str(42)
將值轉為字串
isinstance(x, int)
型別檢查
None
null/缺值
x = y = 0
串連賦值
PI: Final = 3.14
常數提示(typing.Final)

字串

11
f'Hello {name}'
f-string 插補
len(s)
字串長度
s.upper()
轉為大寫
s.strip()
移除前後空白
s.split(',')
分割為清單
','.join(items)
以分隔符連接清單
s.replace('a', 'b')
取代子字串
'a' in s
成員測試
s[1:4]
切片字元 1 至 3
s[::-1]
反轉字串
s.startswith('a')
檢查前綴

清單與元組

10
a = [1, 2, 3]
建立清單
a.append(4)
在尾端新增項目
a.insert(0, x)
在指定索引插入
a.pop()
移除並回傳最後一項
a[1:3]
切片子清單
sorted(a, reverse=True)
回傳排序後的副本
a.sort(key=len)
依鍵就地排序
len(a)
項目數量
t = (1, 2)
不可變的元組
first, *rest = a
以星號解包

字典與集合

10
d = {'k': 'v'}
建立字典
d['k']
依鍵存取值
d.get('k', default)
取值並設後備值
d.keys() / d.values()
檢視鍵或值
d.items()
走訪 key/value 配對
{**a, **b}
合併字典
a | b
字典/集合聯集運算子
del d['k']
移除鍵
s = {1, 2, 3}
建立集合(唯一值)
set(a) & set(b)
集合交集

綜合表達式

8
[x * 2 for x in a]
清單綜合表達式
[x for x in a if x > 0]
含篩選的綜合表達式
{x: x**2 for x in a}
字典綜合表達式
{x for x in a}
集合綜合表達式
(x for x in a)
產生器運算式(惰性)
[y for row in m for y in row]
以巢狀迴圈攤平
[a if c else b for x in items]
綜合表達式中的條件值
sum(x for x in a)
彙總產生器

流程控制

9
if x > 0:\n ...
條件(縮排有意義)
elif / else:
額外分支
a if cond else b
三元運算式
for x in range(10):
走訪範圍
for i, x in enumerate(a):
含索引的迴圈
for a, b in zip(x, y):
同時走訪兩個可迭代物件
while cond:
為真時持續迴圈
break / continue
跳出或略過迭代
match x:\n case 1: ...
結構化樣式比對(3.10+)

函式

8
def f(a, b=1): return a + b
具預設引數的函式
def f(*args, **kwargs):
可變位置加關鍵字引數
f(name='Sam')
以關鍵字引數呼叫
lambda x: x + 1
匿名內嵌函式
def f(a: int) -> int:
參數與回傳的型別提示
@decorator
以裝飾器包裝函式
yield value
從產生器產出值
global x / nonlocal x
重新綁定外層作用域變數

類別

9
class A(Base):
具繼承的類別
def __init__(self, x):
建構子/初始化器
self.x = x
實例屬性
def __str__(self):
字串表示法
@property
計算式唯讀屬性
@staticmethod / @classmethod
靜態與類別方法
super().__init__()
呼叫父類別初始化器
@dataclass
自動產生 init/repr/eq
isinstance(obj, A)
檢查實例型別

檔案、錯誤與模組

9
with open('f.txt') as fh:
開啟檔案(自動關閉)
fh.read() / fh.readlines()
讀取檔案內容
open('f.txt', 'w').write(s)
寫入檔案
try:\n ...\nexcept ValueError as e:
捕捉特定例外
raise ValueError('bad')
拋出例外
finally:
一律執行的清理區塊
import os
匯入模組
from math import sqrt
匯入特定名稱
import numpy as np
以別名匯入

沒有條目符合「:q」。


需要協助?
使用此工具時遇到問題?請告訴我們的團隊。
回報問題

將此免費工具新增到你自己的網站 — 複製並貼上下面的程式碼。