0Pricing
Python Academy · Ders

Enum Sınıfı

Adlandırılmış sabit grupları tanımlayın

Enum Sınıfı, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

Numaralandırmalar Neden Kullanılır?

Bir numaralandırma, birlikte gruplanan adlandırılmış sabit değerler kümesidir. Kodunuza dağınık hâlde sihirli dizeler veya sayılar serpiştirmek yerine her değere açık bir ad verirsiniz.

  • Kendi kendini açıklayan kod.
  • Yazım hatalarına karşı koruma.
  • Sabit ve bilinen bir seçenek kümesi.

Bir Numaralandırma Tanımlama

Enum sınıfından türetin ve üyeleri NAME = value biçiminde listeleyin. Geleneksel olarak üye adları büyük harfle yazılır.

from enum import Enum

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

print(Color.RED)

Ad ve Değer

Her numaralandırma üyesinin bir .name değeri (tanımlayıcı) ve bir .value değeri (atanan değer) vardır.

from enum import Enum

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

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

Üyeler Tekil Nesnelerdir

Her üye benzersiz, tekil bir nesnedir. Üyeleri is veya == ile karşılaştırın; aynı üye her zaman tamamen aynı nesnedir.

from enum import Enum

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

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

Değere Göre Arama

Eşleşen üyeyi almak için numaralandırma sınıfını bir değerle çağırın. Bilinmeyen bir değer ValueError hatasına yol açar.

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)

Ada Göre Arama

Bir üyeyi adına göre aramak için üye adını içeren dizeyle köşeli parantez erişimini kullanın. Bu yöntem, yapılandırmadan veya kullanıcı girdisinden adları okurken kullanışlıdır.

from enum import Enum

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

print(Color['GREEN'])

Üyeler Üzerinde Yineleme

Bir numaralandırma üzerinde yineleme yapılabilir. Döngü, her üyeyi tanımlama sırasıyla verir; bu da menüler oluşturmak veya seçenekleri doğrulamak için idealdir.

from enum import Enum

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

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

Dize Değerleri

Numaralandırma değerleri tamsayılarla sınırlı değildir. Özellikle serileştirilen veya depolanan değerlerde dizeler yaygın olarak kullanılır.

from enum import Enum

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

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

Değerleri Otomatik Atama

Gerçek sayıların önemi olmadığında, değerleri otomatik olarak atamak için auto() kullanın. Değerler 1'den başlar ve artarak devam eder.

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)

İşlevlerde Numaralandırmalar

İşlev parametreleri olarak numaralandırmaları kullanmak amacı açıkça belirtir ve geçersiz girdilere karşı koruma sağlar. Mantık içinde üyeleri doğrudan karşılaştırın.

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))

Sözlükteki Üyeler

Numaralandırma üyelerinin karma değeri alınabilir; bu nedenle sözlük anahtarı olarak kullanılabilirler. Bu, her adlandırılmış sabite veri eklemenin temiz bir yoludur.

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])

Hızlı Kontrol

İki numaralandırma üyesini özdeşlik açısından doğru şekilde nasıl karşılaştırırsınız?

Özet

Enum ile adlandırılmış sabit grupları tanımlamayı öğrendiniz.

  • Üyelerin .name ve .value özellikleri vardır.
  • Değere göre Color(v), ada göre Color['NAME'] ile arama yapın.
  • Numaralandırmalar üzerinde yineleme yapılabilir ve üyeler tekil nesnelerdir.
  • Kesin değerlerin önemi olmadığında auto() kullanın.

Sıkça Sorulan Sorular

“Enum Sınıfı” dersi ücretsiz mi?

Evet — “Enum Sınıfı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“Enum Sınıfı” dersinde ne öğreneceğim?

Adlandırılmış sabit grupları tanımlayın Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Enum Sınıfı” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Enum Sınıfı
  2. IntEnum ve Flag
  3. NamedTuple Temelleri
  4. typing.NamedTuple
← Python Academy Sayfasına Dön