Python'da Sınıflar

Python'da Sınıflar

Bu makale, Python'daki sınıfları açıklar.

YouTube Video

Python'da Sınıflar

Python'da bir sınıf, nesne tabanlı programlama (OOP) içinde verileri düzenlemek ve bu veriler üzerinde çalışan yöntemleri tanımlamak için bir şablon görevi gören temel bir kavramdır. Sınıflar kullanarak veri yapıları oluşturabilir ve veriyle ilgili davranışları kapsülleyebilirsiniz.

Sınıfların Temelleri

Python'da bir sınıf tanımlamak için class anahtar sözcüğünü kullanın. Aşağıda, basit bir sınıfın yapısı ve kullanımı gösterilmiştir.

 1# Class definition
 2class MyClass:
 3    # Constructor (initialization method)
 4    def __init__(self, attribute):
 5        self.attribute = attribute
 6
 7    # Method (member function)
 8    def display_attribute(self):
 9        print(self.attribute)
10
11# Creating an object
12obj = MyClass("Hello, World!")
13obj.display_attribute()  # Outputs "Hello, World!"

Bir Sınıfın Bileşenleri

Nitelikler

Bir sınıfın nitelikleri, bir nesne tarafından tutulan veri veya durumları ifade eder. Yukarıdaki örnekte, attribute bir örnek niteliğidir.

Metotlar

Metodlar, bir sınıf içinde tanımlanan ve bir nesne üzerinde işlemler gerçekleştiren fonksiyonlardır. Örneğin, yukarıda gösterilen display_attribute metodu.

Yapıcı (Constructor)

__init__ yöntemi yapıcı (constructor) olarak adlandırılır ve bir nesne oluşturulduğunda çalıştırılır. Bu, örneği başlatır.

Nesneler Oluşturma ve Yönetme

Bir sınıftan bir nesne oluşturmak, örnekleme (instantiation) olarak bilinir. Yukarıdaki örnekte, MyClass sınıfından obj oluşturulmak için örneklenmiştir. Oluşturulan nesne ile sınıfta tanımlı metodları çağırabilir veya niteliklere erişebilirsiniz.

Kalıtım (Inheritance)

Sınıflar, başka sınıflardan (ebeveyn veya temel sınıflar) niteliklerin ve metodların miras alınmasına olanak tanıyan kalıtımı destekler. Yeni bir sınıf (alt sınıf), işlevsellik eklemek için üst sınıfını genişletebilir.

 1# Parent class
 2class Animal:
 3    def speak(self):
 4        print("Some sound")
 5
 6# Child class
 7class Dog(Animal):
 8    def speak(self):
 9        print("Bark!")
10
11# Instantiation and method call
12dog = Dog()
13dog.speak()  # Outputs "Bark!"

Bu şekilde, Python sınıfları verileri ve prosedürleri mantıksal olarak ilişkilendirmenin güçlü bir yoludur. Polimorfizm ve kapsülleme gibi nesne yönelimli programlamanın diğer unsurları da sınıflar aracılığıyla uygulanabilir.

Python'da Modüller

Python'da bir modül, Python kodunu düzenlemek ve yeniden kullanmak için bir birimdir. Bir modül, Python kodu içeren bir dosyadır ve içindeki fonksiyonlar, sınıflar, değişkenler vb. diğer Python kodları tarafından içe aktarılabilir ve kullanılabilir. Modüller kullanılarak kod yeniden kullanılabilirliği artırılır ve programlar daha düzenli ve daha kolay bakım yapılabilir hale gelir.

Bir Modül Oluşturma

Bir modül oluşturmak için Python kodu içeren bir dosyayı kaydetmeniz yeterlidir. Örneğin, aşağıdaki içeriği içeren bir dosyayı my_module.py olarak kaydetmek onu bir modül yapar.

1def greet(name):
2    return f"Hello, {name}!"
3
4pi = 3.14159

Bir Modülü İçe Aktarma

Oluşturulan bir modülü başka bir dosyada kullanmak için import ifadesini kullanırsınız.

1import my_module
2
3# Using functions and variables from my_module
4print(my_module.greet("Alice"))
5print(my_module.pi)

Belirli fonksiyonları veya değişkenleri de içeri aktarabilirsiniz.

1from my_module import greet, pi
2
3# Names can be used directly.
4print(greet("Bob"))
5print(pi)

Modül Takma Adları

Bir modülü içe aktarırken bir takma ad atayabilirsiniz. Bu, kod yazarken modüle erişimi kolaylaştırır.

1import my_module as mm
2
3print(mm.greet("Charlie"))
4print(mm.pi)

Standart Kütüphane Modülleri

Python, çok çeşitli yerleşik standart kütüphane modülleri sağlar. math modülü veya os modülü gibi modülleri içeri aktarabilir ve kullanabilirsiniz.

1import math
2
3print(math.sqrt(16))
4print(math.pi)

Paketler

Bir paket, bir dizin yapısında düzenlenmiş birden fazla modülden oluşan bir koleksiyondur. Paketler kullanılarak daha fazla kod daha iyi organize edilir ve büyük ölçekli uygulamalara destek sağlanır.

Python'da modüller ve paketlerden yararlanmak, daha verimli ve düzenli programlar yazmanıza olanak tanır.

Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.

YouTube Video