Python ile programlama, basit betiklerin ötesinde birçok olanağı sizin için açar. Nesne yönelimli programlamanın merkezi bir bileşeni, Sınıflar ile çalışmaktır. Sınıflar, nesnelerin temelini oluşturur ve karmaşık veri yapıları oluşturmanıza ve yönetmenize olanak tanır. Bu kılavuzda, Python'da kendi sınıflarınızı tanımlamayı öğrenecek ve özelliklerini ile yöntemlerini etkili bir şekilde kullanacaksınız.
En önemli bulgular
- Sınıflar, Python'da nesne yönelimli programlamanın anahtarıdır.
- Bir initializer (yapıcı) sınıf oluştururken belirli özelliklerin tanımlanmasına olanak tanır.
- Sınıflardaki yöntemler, bir nesnenin özellikleri üzerinde çalışan işlevleri kapsamanıza olanak tanır.
- Özelliklere erişim, nokta operatörü aracılığıyla yapılır.
Aşama Aşama Kılavuz
Python'da sınıf yapısının temelleriyle başlayalım. Öncelikle, class anahtar sözcüğü ile yeni bir sınıf tanımlamanız gerekir. Bunu Python kodunuzda şu şekilde yapabilirsiniz:

Burada, Çalışan adında boş bir sınıfımız var. Öncelikle, parametre olmadan tanımlayabilirsiniz, bu, sınıfın belirli bir başlatma olmadan oluşturulacağı anlamına gelir. Bu, nesne oluşturma esnasında hata almadığınızdan emin olmak için önemli bir temeldir.
Şimdi bu sınıfın bir nesnesini oluşturun. Bunun için, sınıf adını kullanıp boş bir parantez yerleştirmek yeterlidir:
Bu durumda, şu anda oluşturduğumuz Çalışan nesnesi var. Bir sonraki adım, sınıfı özelliklerle genişletmektir. Örneğin, Çalışan sınıfına bir isim ekleyebilirsiniz.
Öncelikle, sınıfınızın yapıcısı olarak hizmet edecek bir initializer tanımlamanız gerekir. Bu __init__ yöntemi aracılığıyla yapılır.

Burada __init__ yapıcısının nasıl tanımlandığını görüyorsunuz. İsmi bir parametre olarak geçiriyoruz ve self kullanarak ismi mevcut nesne için saklıyoruz.
Artık bir özelliğe sahip olduğunuz için, bir nesne oluşturduğunuzda doğrudan bir isim geçirebilirsiniz:

Şimdi, "Jan" ismi ile katılımcı nesnesini oluşturduğunuzda, isim örnekte saklanır. Otomatik tamamlama ile adın doğru bir şekilde ayarlandığını kontrol edebilirsiniz.
Özellikleri kullanmak için, nokta operatörünü kullanarak onları çağırabilirsiniz:

Bu, nesnenizin özelliklerine erişebileceğiniz noktadır. Bu durumda, katılımcının adını yazdırıyorsunuz.
Özelliklere ek olarak, yöntemler de uygulayabilirsiniz. Bir yöntemi oluşturmak, bir işlev tanımlamakla benzer şekilde çalışır:

Burada kaydol yöntemini tanımlıyorsunuz. Yine, self'in otomatik olarak parametre olarak metoda geçirildiğini unutmayın, böylece örneğe erişebilirsiniz. Kayıt sırasında, örneğin bir başarı mesajı yazdırabiliriz:

Kayıt yöntemini çağırdığınızda, bu şekilde görünür:

Burada, katılımcı örneği üzerinden yöntemi çağırıyorsunuz, bu da kaydın geri bildirimini veriyor.
Son olarak, yöntemlere parametreler de geçirebiliriz, işlevlerde olduğu gibi. Örneğin, erken kaydı bekleyen bir parametreye sahip bir iptal etme yöntemi:

Burada, katılımcının erken iptal edilmek isteyip istemediğini analiz ediyor ve uygun bir mesaj yazdırıyorsunuz.
ScreenShot_320
Bu, sınıfınızın ve yöntemlerinizin ne kadar etkileşimli olabileceğini ve girişlere nasıl yanıt verebileceğini gösterir.
Son olarak, öğrendiğimiz temel ilkeleri tekrar gözden geçirelim. Sınıfların tanımı, ilişkili nesneler için önemli olan nitelik ve yöntemleri tanımlamaktan ibarettir. __init__ yapıcı, nesne oluşturulduğunda nitelikleri ayarlamak için merkezi bir öneme sahiptir.
Özet – Python'da Kendi Sınıflarınızı Oluşturma ve Kullanma
Bu temel ilkeleri anlamak ve uygulamak, Python'da güçlü ve esnek programlar geliştirmenize olanak tanır. Belirli işlevleri ve nitelikleri kapsayan sınıflar oluşturabilir, böylece programlamayı daha kullanıcı dostu ve etkili hale getirebilirsiniz.
Sıkça Sorulan Sorular
Python'da bir sınıf nasıl tanımlanır?class anahtar kelimesini, ardından sınıf ismini ve iki nokta koyarak kullanın.
__init__ yapıcısının amacı nedir?Nesne oluştururken başlatmalar yapmak için kullanılır.
Nesnelerin özelliklerine nasıl erişirim?Nokta operatörünü kullanarak, ardından özellik adını kullanın, örn. nesne.özellik.
Bir yönteme birden fazla parametre geçirebilir miyim?Evet, birden fazla parametre kabul eden yöntemler tanımlayabilirsiniz.
Sınıflarım içinde işlevler kullanabilir miyim?Evet, yöntemler, sınıfa bağlı işlevlerden başka bir şey değildir.