0Pricing
Python Academy · Pelajaran

Kelas Enum

Definisikan kelompok konstanta bernama

Kelas Enum adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Mengapa Menggunakan Enumerasi?

Sebuah enumerasi adalah sekumpulan nilai konstan bernama yang saling berkaitan. Daripada menyebarkan string atau angka khusus ke seluruh kode, Anda memberikan nama yang jelas untuk setiap nilai.

  • Kode yang mendokumentasikan dirinya sendiri.
  • Perlindungan terhadap kesalahan pengetikan.
  • Sekumpulan pilihan yang tetap dan sudah diketahui.

Mendefinisikan Enumerasi

Buat subkelas dari Enum dan daftarkan anggotanya sebagai NAME = value. Secara konvensional, nama anggota ditulis dengan huruf kapital.

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

print(Color.RED)

name dan value

Setiap anggota enumerasi memiliki .name (pengenal) dan .value (nilai yang ditetapkan).

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2

c = Color.GREEN
print(c.name)
print(c.value)

Anggota Merupakan Objek Tunggal

Setiap anggota adalah objek tunggal yang unik. Bandingkan anggota dengan is atau ==; anggota yang sama selalu merupakan objek yang sama persis.

from enum import Enum

class Color(Enum):
    RED = 1
    BLUE = 2

print(Color.RED is Color.RED)
print(Color.RED == Color.BLUE)

Mencari Berdasarkan Nilai

Panggil kelas enumerasi dengan sebuah nilai untuk mendapatkan anggota yang cocok. Nilai yang tidak dikenal akan menimbulkan ValueError.

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2

print(Color(2))
try:
    Color(99)
except ValueError as e:
    print('Bad value:', e)

Mencari Berdasarkan Nama

Gunakan akses tanda kurung siku dengan string nama anggota untuk mencari anggota berdasarkan namanya. Ini berguna saat membaca nama dari konfigurasi atau masukan pengguna.

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2

print(Color['GREEN'])

Menelusuri Anggota

Enumerasi dapat diiterasi. Perulangan menghasilkan setiap anggota sesuai urutan definisinya, sehingga cocok untuk membuat menu atau memvalidasi pilihan.

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

for c in Color:
    print(c.name, c.value)

Nilai String

Nilai enumerasi tidak terbatas pada bilangan bulat. String sering digunakan, terutama untuk nilai yang akan diserialisasi atau disimpan.

from enum import Enum

class Status(Enum):
    ACTIVE = 'active'
    PAUSED = 'paused'
    CLOSED = 'closed'

print(Status.PAUSED.value)
print(Status('closed'))

auto() untuk Nilai

Jika angka sebenarnya tidak penting, gunakan auto() untuk menetapkan nilai secara otomatis, dimulai dari 1 dan terus bertambah.

from enum import Enum, auto

class Direction(Enum):
    NORTH = auto()
    SOUTH = auto()
    EAST = auto()
    WEST = auto()

for d in Direction:
    print(d.name, d.value)

Enumerasi dalam Fungsi

Menggunakan enumerasi sebagai parameter fungsi memperjelas maksud dan mencegah masukan yang tidak valid. Bandingkan anggotanya secara langsung di dalam logika program.

from enum import Enum

class Light(Enum):
    RED = 1
    YELLOW = 2
    GREEN = 3

def can_go(light):
    return light is Light.GREEN

print(can_go(Light.GREEN))
print(can_go(Light.RED))

Anggota dalam Kamus

Anggota enumerasi dapat di-hash, sehingga dapat digunakan sebagai kunci kamus. Ini adalah cara yang rapi untuk mengaitkan data dengan setiap konstanta bernama.

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

hex_codes = {Color.RED: '#ff0000', Color.GREEN: '#00ff00'}
print(hex_codes[Color.RED])

Pemeriksaan Singkat

Bagaimana cara membandingkan dua anggota enumerasi dengan benar berdasarkan identitasnya?

Rangkuman

Anda telah mempelajari cara mendefinisikan kelompok konstanta bernama dengan Enum.

  • Anggota memiliki .name dan .value.
  • Cari berdasarkan nilai dengan Color(v), dan berdasarkan nama dengan Color['NAME'].
  • Enumerasi dapat diiterasi dan anggotanya merupakan objek tunggal.
  • Gunakan auto() jika nilai persisnya tidak penting.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Kelas Enum” gratis?

Ya — teks lengkap “Kelas Enum” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Kelas Enum”?

Definisikan kelompok konstanta bernama Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Kelas Enum” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Kelas Enum
  2. IntEnum dan Flag
  3. Dasar-Dasar NamedTuple
  4. typing.NamedTuple
← Kembali ke Python Academy