Cheat sheet

Cheat sheet Python: sintaks, perintah dan fungsi bawaan dalam tabel

Diperbarui: · Skillaria.Top

Sintaks Python bertumpu pada indentasi, bukan kurung kurawal: blok setelah titik dua menjorok empat spasi. Intinya adalah variabel tanpa deklarasi tipe, kondisi if/elif/else, perulangan for dan while, fungsi def, serta fungsi bawaan print, len, range, input, type dan metode string, list, dan dictionary.

Cheat sheet Python ini merangkum dalam satu halaman hal-hal yang perlu ada di tangan selama beberapa bulan pertama: sintaks Python, perulangan, fungsi bawaan, metode string, list dan dictionary, serta perintah terminal. Setiap tabel adalah referensi singkat dengan contoh kerja yang bisa langsung dicoba di REPL.

Dasar sintaks Python

Ciri utama bahasa ini: blok ditandai indentasi, bukan kurung. Setelah baris yang diakhiri titik dua (if, for, def, class), baris berikutnya menjorok empat spasi. Tab dan spasi tidak boleh dicampur — hasilnya IndentationError.

KonstruksiContohPenjelasan
Komentar# tekssemua setelah # sampai akhir baris diabaikan
Variabelage = 25tipe tidak dideklarasikan, ditentukan oleh nilainya
Penugasan jamaka, b = 1, 2unpacking; tukar nilai: a, b = b, a
Outputprint("Halo", name)argumen dipisahkan spasi
Inputs = input("Nama: ")selalu mengembalikan string
f-stringf"{name}: {price:.2f}"penyisipan ekspresi dan format
Anotasi tipecount: int = 0petunjuk untuk IDE dan pemeriksa, tidak dicek saat dijalankan
Blok kosongpassplaceholder saat sintaks mewajibkan isi
Imporfrom math import sqrtmemuat modul atau nama dari dalamnya

Tipe data

TipeLiteralDapat diubah
int42, 1_000_000tidak
float3.14, 1e-3tidak
boolTrue, Falsetidak
str"teks", 'teks', """banyak baris"""tidak
list[1, 2, 3]ya
tuple(1, 2), (1,)tidak
dict{"a": 1}ya
set{1, 2}, kosong — set()ya
NoneTypeNone—

Operator

KelompokOperatorContoh → hasil
Aritmetika+ - * / // % **7 // 2 → 3, 7 % 2 → 1, 2 ** 10 → 1024
Perbandingan== != < > <= >=1 < x < 10 — rantai perbandingan
Logikaand or notx or "default"
Keanggotaanin, not in"a" in "abc" → True
Identitasis, is notx is None
Penugasan+= -= *= /=, :=if (n := len(s)) > 10: ...

Kondisi dan pencocokan pola

if score >= 90:
    grade = "A"
elif score >= 70:
    grade = "B"
else:
    grade = "C"

status = "dewasa" if age >= 18 else "anak"   # operator ternary

match command:
    case "start":
        print("Mulai")
    case "stop" | "exit":
        print("Berhenti")
    case _:
        print("Perintah tidak dikenal")

Nilai yang dianggap salah adalah False, None, 0, string kosong, dan koleksi kosong, sehingga daripada menulis if len(items) > 0 cukup tulis if items.

Perulangan di Python: sintaks for dan while

Perulangan for

Sintaks for di Python: for variabel in urutan: lalu badan yang menjorok. Perulangan bisa melewati objek iterable apa pun — string, list, dictionary, file, range.

for i in range(5):              # 0 1 2 3 4
    print(i)

for i in range(10, 0, -2):      # 10 8 6 4 2
    print(i)

for i, fruit in enumerate(["apel", "pir"], start=1):
    print(i, fruit)

for name, score in zip(names, scores):
    print(name, score)

for key, value in prices.items():
    print(key, value)

Perulangan while

attempts = 3
while attempts > 0:
    password = input("Kata sandi: ")
    if password == "secret":
        print("Login berhasil")
        break
    attempts -= 1
else:
    print("Percobaan habis")   # dijalankan jika tidak ada break
PerintahFungsi
breakkeluar dari perulangan lebih awal
continuelanjut ke iterasi berikutnya
else pada perulangandijalankan jika perulangan selesai tanpa break
range(stop), range(start, stop, step)urutan bilangan, stop tidak ikut

Comprehension

squares = [x ** 2 for x in range(10)]
evens = [x for x in numbers if x % 2 == 0]
lengths = {word: len(word) for word in words}
unique = {c.lower() for c in text}
total = sum(x * x for x in range(100))   # generator expression

Fungsi

def greet(name: str, greeting: str = "Halo") -> str:
    """Mengembalikan sapaan."""
    return f"{greeting}, {name}!"

def total(*args, **kwargs):
    return sum(args), kwargs

square = lambda x: x * x
print(greet("Ani"))                  # Halo, Ani!
print(greet("Ani", greeting="Hai"))  # Hai, Ani!
ElemenArti
def f(a, b=1)parameter dengan nilai default
*argssejumlah argumen posisi (tuple)
**kwargssejumlah argumen bernama (dictionary)
returnmengembalikan nilai; tanpa ini fungsi mengembalikan None
lambda x: ...fungsi anonim pendek dalam satu ekspresi
global, nonlocalmengubah variabel dari cakupan luar

Jangan gunakan nilai default yang bisa diubah seperti def f(items=[]): list dibuat sekali dan terus menumpuk antar pemanggilan. Yang benar adalah items=None lalu di dalam if items is None: items = [].

Fungsi bawaan Python

Fungsi bawaan Python tersedia tanpa impor. Ini fungsi utama yang hampir selalu muncul di setiap skrip.

FungsiFungsinyaContoh → hasil
print()menampilkan nilaiprint(1, 2, sep="-") → 1-2
input()membaca string dari keyboardint(input())
len()panjang koleksi atau stringlen("abc") → 3
type()tipe objektype(3.0) → <class 'float'>
isinstance()memeriksa tipeisinstance(5, int) → True
int() float() str() bool()konversi tipeint("42") → 42
list() tuple() set() dict()membuat koleksilist("ab") → ['a', 'b']
range()rentang bilanganlist(range(3)) → [0, 1, 2]
enumerate()pasangan (indeks, elemen)list(enumerate("ab")) → [(0, 'a'), (1, 'b')]
zip()menggabungkan urutan berpasanganlist(zip([1, 2], "ab")) → [(1, 'a'), (2, 'b')]
sum() min() max()jumlah, minimum, maksimummax([3, 7, 1]) → 7
abs() round()nilai mutlak dan pembulatanround(3.14159, 2) → 3.14
sorted()list baru yang sudah diurutkansorted(words, key=len, reverse=True)
reversed()iterator dalam urutan terbaliklist(reversed([1, 2])) → [2, 1]
map() filter()menerapkan fungsi / menyaringlist(map(str, [1, 2])) → ['1', '2']
any() all()minimal satu / semua benarall(x > 0 for x in nums)
open()membuka fileopen("a.txt", encoding="utf-8")
help() dir()bantuan dan daftar atributhelp(str.split), dir(list)
id() hash()identitas dan hash objekhash("a")

Referensi Python paling praktis selalu ada di tangan: fungsi help() di REPL. help(dict) menampilkan semua metode dictionary beserta deskripsinya, dan dir(obj) menampilkan daftar nama yang tersedia.

Metode string

Sintaks string di Python: string tidak dapat diubah, dan setiap metode mengembalikan string baru. Slicing bekerja seperti pada list: s[1:4], dan s[::-1] untuk membalik.

MetodeContoh → hasil
upper() lower()"Py".upper() → 'PY'
capitalize() title()"hello world".title() → 'Hello World'
strip() lstrip() rstrip()" hi \n".strip() → 'hi'
split(sep)"a,b,c".split(",") → ['a', 'b', 'c']
join(iterable)"-".join(["a", "b"]) → 'a-b'
replace(old, new)"kucing".replace("k", "t") → 'tucing'
find() index()"hello".find("l") → 2; jika tidak ada — -1 (pada index — error)
count()"banana".count("a") → 3
startswith() endswith()"file.py".endswith(".py") → True
isdigit() isalpha() isspace()"123".isdigit() → True
removeprefix() removesuffix()"test_a".removeprefix("test_") → 'a'
zfill() center() ljust()"7".zfill(3) → '007'
format()"{} + {}".format(1, 2) → '1 + 2'

Perintah list Python

List adalah koleksi terurut yang dapat diubah. Sebagian besar metodenya mengubah list di tempat dan mengembalikan None, sehingga a = a.sort() adalah kesalahan yang sering terjadi.

OperasiFungsinyaContoh
append(x)menambah di akhira.append(4)
extend(iter)menambah semua elemena.extend([5, 6])
insert(i, x)menyisipkan pada indeksa.insert(0, "first")
remove(x)menghapus kemunculan pertama nilaia.remove(3)
pop(i)menghapus dan mengembalikan elemen (default: terakhir)last = a.pop()
clear()mengosongkan lista.clear()
index(x)indeks kemunculan pertamaa.index("b")
count(x)jumlah kemunculana.count(1)
sort()mengurutkan di tempata.sort(key=str.lower)
reverse()membalik di tempata.reverse()
copy()salinan dangkalb = a.copy()
del a[i]menghapus berdasarkan indeks atau slicedel a[1:3]
Slicinga[start:stop:step]a[-1] — terakhir, a[:3] — tiga pertama

Perintah dictionary Python

OperasiFungsinyaContoh
d[key]nilai berdasarkan kunci, jika tidak ada — KeyErrord["name"]
get(key, default)nilai atau cadangand.get("age", 0)
d[key] = valuemenambah atau mengubahd["city"] = "Bandung"
keys() values() items()kunci, nilai, pasanganfor k, v in d.items():
update()menggabung dengan dictionary laind.update({"a": 1})
d1 | d2dictionary gabungan barumerged = defaults | user
pop(key, default)menghapus dan mengembalikan nilaid.pop("tmp", None)
popitem()menghapus pasangan yang terakhir ditambahkand.popitem()
setdefault(key, value)mengembalikan nilai, jika kunci belum ada — membuatnyad.setdefault("tags", []).append("py")
key in dmemeriksa keberadaan kunciif "name" in d:
dict.fromkeys()dictionary dari kunci dengan satu nilaidict.fromkeys("abc", 0)
len(d), del d[key]ukuran dan penghapusandel d["old"]

Tuple dan set

OperasiContoh → hasil
Unpacking tuplex, y = (3, 4)
Menambah ke sets.add(5), menghapus — s.discard(5)
Gabungan / irisan{1, 2} | {2, 3} → {1, 2, 3}; {1, 2} & {2, 3} → {2}
Selisih{1, 2} - {2} → {1}
Menghapus duplikat dari listlist(dict.fromkeys(items)) — dengan urutan tetap terjaga

Exception dan file

try:
    number = int(input("Angka: "))
except ValueError as err:
    print("Ini bukan angka:", err)
else:
    print("Berhasil")
finally:
    print("Selalu dijalankan")

with open("data.txt", "w", encoding="utf-8") as f:
    f.write("baris\n")

with open("data.txt", encoding="utf-8") as f:
    for line in f:
        print(line.rstrip())
ExceptionKapan muncul
SyntaxError, IndentationErrorkesalahan pada sintaks atau indentasi
NameErrornama tidak didefinisikan (salah ketik)
TypeErroroperasi dengan tipe yang tidak cocok: "1" + 1
ValueErrortipe benar, tetapi nilainya salah: int("abc")
IndexError, KeyErrorindeks atau kunci tidak ada
FileNotFoundErrorfile tidak ditemukan
ZeroDivisionErrorpembagian dengan nol

Class

from dataclasses import dataclass

class Dog:
    def __init__(self, name: str):
        self.name = name

    def bark(self) -> str:
        return f"{self.name}: Guk!"

@dataclass
class Point:
    x: float
    y: float

print(Dog("Milo").bark())    # Milo: Guk!
print(Point(1, 2))           # Point(x=1, y=2)

Modul bawaan Python

Pustaka standar ikut terpasang bersama interpreter — cukup gunakan import.

ModulUntuk apaContoh
mathmatematikamath.sqrt(16) → 4.0
randombilangan acakrandom.randint(1, 6), random.choice(items)
datetimetanggal dan waktudatetime.date.today()
pathlibpath dan filePath("data").glob("*.csv")
os, syssistem, variabel lingkungan, argumenos.environ.get("HOME"), sys.argv
jsonmembaca dan menulis JSONjson.loads(text), json.dumps(obj, ensure_ascii=False)
csvtabel CSVcsv.DictReader(f)
collectionsCounter, defaultdict, dequeCounter("banana").most_common(1) → [('a', 3)]
itertoolskombinasi dan rantai iteratoritertools.chain(a, b)
reekspresi regulerre.findall(r"\d+", s)
timejeda dan pengukuran waktutime.sleep(1), time.perf_counter()
asynciokode asinkronusasyncio.run(main())

Di Python 3.15 tersedia lazy import (PEP 810): lazy import pandas as pd menunda pemuatan modul sampai pertama kali diakses, sehingga skrip dengan dependensi berat start jauh lebih cepat.

Perintah Python di terminal

Kelompok pencarian «perintah python» berisi perintah untuk menjalankan interpreter dan memasang pustaka. Di Windows, sebagai pengganti python3 biasanya dipakai python atau py.

PerintahFungsinya
python3 --versionmenampilkan versi
python3membuka konsol interaktif REPL (keluar dengan exit())
python3 script.pymenjalankan file
python3 -c "print(2 + 2)"menjalankan satu baris
python3 -m venv .venvmembuat virtual environment
source .venv/bin/activate / .venv\Scripts\activatemengaktifkan environment (Linux, macOS / Windows)
python3 -m pip install requestsmemasang paket
pip list, pip freeze > requirements.txtdaftar paket dan penyimpanannya
pip install -r requirements.txtmemasang dependensi dari file
python3 -m http.server 8000server web sederhana di folder saat ini
uv init, uv add requests, uv run main.pyproyek, dependensi, dan menjalankan dengan pengelola uv

Kesalahan umum pemula

  • Membandingkan dengan = — dalam kondisi dibutuhkan ==; satu = adalah penugasan.
  • Lupa titik dua setelah if, for, def menghasilkan SyntaxError.
  • Menjumlahkan string dan angka: "Usia: " + 25 adalah error, tulis f"Usia: {25}".
  • Mengubah list saat diulang — ulangi salinannya for x in a[:] atau bangun list baru.
  • input() mengembalikan string — untuk hitungan bungkus dengan int() atau float().

Kesimpulan

Sintaks Python bertumpu pada indentasi, titik dua, dan sekumpulan kecil konstruksi: kondisi, perulangan for dan while, fungsi, dan class. Tambahkan dua puluhan fungsi bawaan serta metode string, list, dan dictionary, dan Anda sudah menguasai sebagian besar tugas harian. Simpan cheat sheet ini, dan ketika tabel-tabelnya sudah familiar, lanjutkan ke modul dan asinkronus; semuanya dibahas langkah demi langkah dengan praktik dalam kursus «Python 3.15: dari pemula hingga profesional».

Pertanyaan umum

Berapa spasi untuk indentasi di Python?

Menurut PEP 8, empat spasi per level. Yang terpenting adalah konsisten di seluruh blok dan tidak mencampur dengan tab.

Apa beda list dan tuple?

List dapat diubah, bisa ditambah dan diurutkan di tempat; tuple tidak dapat diubah, sehingga cocok sebagai kunci dictionary dan untuk kumpulan nilai tetap.

Bagaimana melihat semua metode objek langsung di Python?

Panggil dir(obj) untuk daftar nama dan help(obj) untuk deskripsinya — misalnya help(str) menampilkan semua metode string.

Apa beda sort() dan sorted()?

Metode list.sort() mengurutkan list itu sendiri dan mengembalikan None, sedangkan fungsi sorted() mengembalikan list baru dan bekerja dengan koleksi iterable apa pun.

Perlukah titik koma di akhir baris Python?

Tidak. Titik koma boleh dipakai untuk beberapa perintah dalam satu baris, tetapi kode yang rapi menulis setiap instruksi di baris baru.