Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!

Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount

Sınıflar ve Nesneler


Nesneler, değişkenlerin ve fonksiyonların tek bir varlıkta kapsüllenmesidir. Nesneler, değişkenleri ve fonksiyonlarını sınıflardan alır. Sınıflar, nesnelerinizi oluşturmak için bir şablon gibidir.

Çok basit bir sınıf şöyle görünebilir:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

"self" parametresini neden eklemeniz gerektiğini birazdan açıklayacağız. Öncelikle, yukarıdaki sınıfı (şablonu) bir nesneye atamak için şu adımları izlersiniz:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

Artık "myobjectx" değişkeni, "MyClass" adlı sınıfın bir nesnesini tutar ve bu nesne, sınıfta tanımlanan değişkenleri ve fonksiyonları içerir.

Nesne Değişkenlerine Erişim

Yeni oluşturduğunuz "myobjectx" nesnesinin içindeki değişkene erişmek için şu adımları izlersiniz:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

myobjectx.variable

Örneğin, aşağıdaki kod "blah" yazısını çıktılar:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

print(myobjectx.variable)

Aynı sınıfa (aynı değişkenler ve fonksiyonlar tanımlanmış olan) sahip birden fazla farklı nesne oluşturabilirsiniz. Ancak, her nesne sınıfta tanımlanan değişkenlerin bağımsız kopyalarını içerir. Örneğin, başka bir nesne tanımlayıp yukarıdaki değişkendeki dizeyi değiştirirsek:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()
myobjecty = MyClass()

myobjecty.variable = "yackity"

# Her iki değeri de yazdır
print(myobjectx.variable)
print(myobjecty.variable)

Nesne Fonksiyonlarına Erişim

Bir nesnenin içindeki bir fonksiyona erişmek için bir değişkene erişim yaparken kullanılan notasyona benzer şekilde yaparsınız:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

myobjectx.function()

Yukarıdaki kod, "This is a message inside the class." mesajını yazdırır.

init()

__init__() fonksiyonu, sınıf başlatıldığında çağrılan özel bir fonksiyondur. Sınıf içinde değer atamak için kullanılır.

class NumberHolder:

   def __init__(self, number):
       self.number = number

   def returnNumber(self):
       return self.number

var = NumberHolder(7)
print(var.returnNumber()) # '7' yazdırır

Alıştırma

Araçlar için tanımlanmış bir sınıfımız var. car1 ve car2 adında iki yeni araç oluşturun. car1'i, ismi Fer olan, kırmızı bir üstü açılır araba olarak $60,000.00 değerinde ayarlayın, ve car2'yi, ismi Jump olan, mavi bir van olarak $10,000.00 değerinde ayarlayın.

# define the Vehicle class class Vehicle: name = "" kind = "car" color = "" value = 100.00 def description(self): desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value) return desc_str # your code goes here # test code print(car1.description()) print(car2.description()) # define the Vehicle class class Vehicle: name = "" kind = "car" color = "" value = 100.00 def description(self): desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value) return desc_str # your code goes here car1 = Vehicle() car1.name = "Fer" car1.color = "red" car1.kind = "convertible" car1.value = 60000.00 car2 = Vehicle() car2.name = "Jump" car2.color = "blue" car2.kind = "van" car2.value = 10000.00 # test code print(car1.description()) print(car2.description()) #test_output_contains('Fer is a red convertible worth $60000.00.') #test_output_contains('Jump is a blue van worth $10000.00.') success_msg("Great job!")

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial Take the Test
Copyright © learnpython.org. Read our Terms of Use and Privacy Policy