Menu
Coddy logo textTech

Öznitelikler

Coddy'nin Python Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 6 / 64.

Öznitelikler, bir sınıfa veya onun nesnelerine ait olan veriler veya değişkenlerdir. Nesnenin durumu hakkında bilgi depolarlar.

İki tür öznitelik vardır: 

Sınıf öznitelikleri - sınıfın tüm nesneleri tarafından paylaşılır:

class Student:
    school_name = "Python Academy"  # sınıf özniteliği

Örnek öznitelikleri - her nesneye özgü:

class Student:
    school_name = "Python Academy"
    
    def set_info(self, name, age):
        self.name = name    # örnek özniteliği
        self.age = age      # örnek özniteliği

Öğrenci nesneleri oluşturun ve bireysel verilerini ayarlayın:

student1 = Student()
student2 = Student()

student1.set_info("Alice", 20)
student2.set_info("Bob", 22)

Örnek özniteliklerine erişin (her nesneye özgü):

print(student1.name)    # Alice
print(student2.name)    # Bob
print(student1.age)     # 20

Sınıf özniteliklerine erişim (tüm nesneler için aynı):

print(student1.school_name)    # Python Academy
print(student2.school_name)    # Python Academy
print(Student.school_name)     # Python Academy

Çıktı:

Alice
Bob
20
Python Academy
Python Academy
Python Academy

Temel Fark: Sınıf öznitelikleri tüm nesneler tarafından paylaşılır, örnek öznitelikleri ise her nesneye özgüdür. Örnek öznitelikleri için self.attribute_name ve sınıf öznitelikleri için sadece attribute_name kullanın.

Kopya kağıdı

Öznitelikler (Attributes), bir sınıfa veya onun nesnelerine ait olan veriler veya değişkenlerdir.

Sınıf öznitelikleri (Class attributes) - sınıfın tüm nesneleri tarafından paylaşılır:

class Student:
    school_name = "Python Academy"  # sınıf özniteliği

Örnek öznitelikleri (Instance attributes) - her nesneye özgüdür, self kullanılarak tanımlanır:

class Student:
    school_name = "Python Academy"
    
    def set_info(self, name, age):
        self.name = name    # örnek özniteliği
        self.age = age      # örnek özniteliği

Örnek özniteliklerine erişim:

student1 = Student()
student1.set_info("Alice", 20)
print(student1.name)    # Alice

Sınıf özniteliklerine erişim:

print(student1.school_name)    # Python Academy
print(Student.school_name)     # Python Academy

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Object Oriented Programming bölümündeki tüm dersler