ชีตสรุป Python
ข้อมูลอ้างอิง Python 3 ที่ค้นหาและพิมพ์ได้ — ไวยากรณ์ โครงสร้างข้อมูล comprehensions ฟังก์ชัน คลาส ไฟล์ และไลบรารีมาตรฐาน ฟรี
ตัวแปรและชนิดข้อมูล
10x = 1
กำหนดตัวแปร (ชนิดแบบไดนามิก)
x: int = 1
การระบุชนิดแบบเลือกได้
a, b = 1, 2
การกำหนดค่าหลายตัว
type(x)
หาชนิดของค่า
int('42')
แปลงสตริงเป็น integer
str(42)
แปลงค่าเป็นสตริง
isinstance(x, int)
ตรวจสอบชนิด
None
ค่า null/ไม่มีค่า
x = y = 0
การกำหนดค่าแบบต่อเนื่อง
PI: Final = 3.14
การระบุค่าคงที่ (typing.Final)
สตริง
11f'Hello {name}'
การแทรกค่าด้วย f-string
len(s)
ความยาวสตริง
s.upper()
แปลงเป็นตัวพิมพ์ใหญ่
s.strip()
ตัดช่องว่างรอบข้าง
s.split(',')
แยกเป็น list
','.join(items)
เชื่อม list ด้วยตัวคั่น
s.replace('a', 'b')
แทนที่สตริงย่อย
'a' in s
ทดสอบการเป็นสมาชิก
s[1:4]
ตัดตัวอักษรตำแหน่ง 1 ถึง 3
s[::-1]
กลับด้านสตริง
s.startswith('a')
ตรวจคำนำหน้า
Lists และ tuples
10a = [1, 2, 3]
สร้าง list
a.append(4)
เพิ่มรายการที่ท้าย
a.insert(0, x)
แทรกที่ตำแหน่ง index
a.pop()
ลบและคืนรายการสุดท้าย
a[1:3]
ตัด sublist
sorted(a, reverse=True)
คืนสำเนาที่เรียงแล้ว
a.sort(key=len)
เรียงในที่เดิมตาม key
len(a)
จำนวนรายการ
t = (1, 2)
tuple ที่เปลี่ยนค่าไม่ได้
first, *rest = a
แตกค่าด้วย star
Dicts และ sets
10d = {'k': 'v'}
สร้าง dictionary
d['k']
เข้าถึงค่าด้วย key
d.get('k', default)
ดึงค่าพร้อมค่าสำรอง
d.keys() / d.values()
ดู key หรือ value
d.items()
วนซ้ำคู่ key/value
{**a, **b}
รวม dictionary
a | b
operator union ของ dict/set
del d['k']
ลบ key
s = {1, 2, 3}
สร้าง set (ค่าไม่ซ้ำ)
set(a) & set(b)
intersection ของ set
Comprehensions
8[x * 2 for x in a]
list comprehension
[x for x in a if x > 0]
comprehension แบบกรอง
{x: x**2 for x in a}
dict comprehension
{x for x in a}
set comprehension
(x for x in a)
generator expression (แบบ lazy)
[y for row in m for y in row]
ทำให้แบนด้วยลูปซ้อน
[a if c else b for x in items]
ค่าแบบมีเงื่อนไขใน comprehension
sum(x for x in a)
รวมค่าจาก generator
การควบคุมการทำงาน
9if x > 0:\n ...
เงื่อนไข (การเยื้องสำคัญ)
elif / else:
เงื่อนไขเพิ่มเติม
a if cond else b
นิพจน์ ternary
for x in range(10):
วนซ้ำตามช่วงค่า
for i, x in enumerate(a):
วนซ้ำพร้อมดัชนี
for a, b in zip(x, y):
วนซ้ำสอง iterable พร้อมกัน
while cond:
วนซ้ำขณะที่เป็นจริง
break / continue
ออกหรือข้ามรอบวนซ้ำ
match x:\n case 1: ...
การจับคู่รูปแบบเชิงโครงสร้าง (3.10+)
ฟังก์ชัน
8def f(a, b=1): return a + b
function ที่มีค่าอาร์กิวเมนต์เริ่มต้น
def f(*args, **kwargs):
อาร์กิวเมนต์ positional + keyword แบบไม่จำกัด
f(name='Sam')
เรียกด้วย keyword argument
lambda x: x + 1
function แบบ inline ไม่มีชื่อ
def f(a: int) -> int:
type hints สำหรับพารามิเตอร์และค่าที่คืน
@decorator
ห่อ function ด้วย decorator
yield value
สร้างค่าจาก generator
global x / nonlocal x
ผูกตัวแปรในขอบเขตนอกใหม่
คลาส
9class A(Base):
คลาสที่มีการสืบทอด
def __init__(self, x):
Constructor / ตัวกำหนดค่าเริ่มต้น
self.x = x
แอตทริบิวต์ของอินสแตนซ์
def __str__(self):
การแสดงผลแบบสตริง
@property
แอตทริบิวต์อ่านอย่างเดียวที่คำนวณได้
@staticmethod / @classmethod
static และ class methods
super().__init__()
เรียก initializer ของคลาสแม่
@dataclass
สร้าง init/repr/eq อัตโนมัติ
isinstance(obj, A)
ตรวจสอบชนิดของอินสแตนซ์
ไฟล์ ข้อผิดพลาด และโมดูล
9with open('f.txt') as fh:
เปิดไฟล์ (ปิดอัตโนมัติ)
fh.read() / fh.readlines()
อ่านเนื้อหาไฟล์
open('f.txt', 'w').write(s)
เขียนลงไฟล์
try:\n ...\nexcept ValueError as e:
ดักจับ exception เฉพาะ
raise ValueError('bad')
โยน exception
finally:
บล็อกล้างข้อมูลที่ทำงานเสมอ
import os
import โมดูล
from math import sqrt
import ชื่อเฉพาะ
import numpy as np
import พร้อม alias
ไม่มีรายการที่ตรงกับ “:q”
ต้องการความช่วยเหลือ?
พบปัญหากับเครื่องมือนี้หรือไม่? แจ้งทีมงานของเรา