İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

Python ile Nesne Tabanlı Programlamaya Giriş/THT Ar-Ge Kulübü

Hacknology - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2015
Nereden:
rm -rf /
Mesajlar:
2.710
Konular:
151
Teşekkür (Etti):
947
Teşekkür (Aldı):
1233
Ticaret:
(0) %
14-09-2017 10:57
#1
Python ile Nesne Tabanlı Programlamaya Giriş/THT Ar-Ge Kulübü
Python'da sınıf işlemleri

Önceki bir c++ sınıf yapılarını anlattığım yazımda sınıfların amacından bahsetmiştim. O yüzden amacından ve mantığından derinlemesine bahsetmeden kodlama işlemine geçmek istiyorum, zaten yazarken mantığı da oturacaktır.

Sınıf Oluşturmak:
Burada yapacağımız işlem aslınca çok basit, sadece tek bir satırla bir sınıf tanımlayacağız.
Kod:
Class SinifAdi:
veya
Kod:
Class SinifAdi():
Yalnız burada dikkat etmemiz gereken bir nokta var. Yanlış hatırlamıyorsam Python 2.2 den sonra gelen bir güncelleme ile sınıflar 2 ye ayrıldı. "new-style class" ve "old-style class". Farklarını google dan daha iyi araştırabilirsiniz lakin biz "new-style class" lara göz atacağız.
İkisini nasıl ayırt edeceğinize değinecek olursak;
Kod:
class SinifAdi(): #old-style
Kod:
class SinifAdi(object): #new-style
Ve bu sınıfın altına o sınıfla alakalı yapacağımız işlemleri gireceğiz. Basit bir sınıf fonksiyonu
Kod:
class Sinifim(object):
        def __init__(self):
                #TODO
        def fonk1(self):
                #TODO
        def fonk2(self):
                #TODO
biçiminde olabilir. Eğer self in ne olduğunu merak ediyorsanız stackof sizin için açıklama getirmiş.
https://stackoverflow.com/questions/...-to-a-beginner
Şimdi örnek bir nesne tabanlı uygulama yazalım.
Kod:
#THT ARGE KULUP
class Sinifim(object):
        def __init__(self, o1, o2):
                #Tanımlamalarımızı yapıyoruz.
                self.ogrenci1 = o1
                self.ogrenci2 = o2
                self.liste = []
        def fonk1(self):
                #ögrencileri ekliyoruz
                self.liste.append(self.ogrenci1)
                self.liste.append(self.ogrenci2)
                return self.liste
        def fonk2(self):
                #İsimleri yazdiriyoruz
                for isim in self.fonk1():
                        print isim
sinifim = Sinifim("Hackno", "Utku")#Argümanlarla sınıfımızı çağırıyoruz
sinifim.fonk2()
Peki bunun bize avantajları ne? Zira aynı kodu aynen bu şekilde de yazabilirdik.
Kod:
def print_me(x, y):
        print x + "\n" + y
print_me("Hackno", "Utku")
İkisinin de bize verdiği çıktı şu şekilde olacaktır;
Kod:
Hackno
Utku
>>>
Lakin çok büyük kapsamlı projelerde, özellikle toplu çalışılan projelerde herkes sizin kendi tarzınızda yazdığınız kodu okuyamayabilir. Nesne yönelimli(OOP) yazmak okunulabilirliği arttırır, daha sonradan kolayca geliştirmenize olanak verir(hey, sadece bir fonksyion daha yazın!), yazarken algoritma mantığınızı geliştirir. Bir sonraki yazımızda görüşmek üzere
---------------------
I surrender my soul
Odin hear my call

flag{Bur4si_b1r_0yun_park1}

hacknology@hacknologyroot:~/
Noises, k3~ Teşekkür etti.
Noises - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2017
Nereden:
Balıkesir
Yaş:
21
Mesajlar:
164
Konular:
18
Teşekkür (Etti):
26
Teşekkür (Aldı):
23
Ticaret:
(0) %
14-09-2017 11:10
#2
elinize sağlık hocam.

python ile gui dersi de verir misiniz?

visual studio daki gibi butonları, textboxları sürükle-bırak işlemi yapan bir ide ile
Hacknology - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2015
Nereden:
rm -rf /
Mesajlar:
2.710
Konular:
151
Teşekkür (Etti):
947
Teşekkür (Aldı):
1233
Ticaret:
(0) %
14-09-2017 14:22
#3
Alıntı:
Noises´isimli üyeden Alıntı Mesajı göster
elinize sağlık hocam.

python ile gui dersi de verir misiniz?

visual studio daki gibi butonları, textboxları sürükle-bırak işlemi yapan bir ide ile

Olabilir, bakarız
---------------------
I surrender my soul
Odin hear my call

flag{Bur4si_b1r_0yun_park1}

hacknology@hacknologyroot:~/
BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
446
Ticaret:
(0) %
15-09-2017 21:28
#4
Bu __init__ fonksyonuna Java daki yapicilar diyebilir miyiz? Yani yaptiklari is ayni mi?
---------------------
~Cahile gelmez benden hayır
CRYUS - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
09/2017
Mesajlar:
21
Konular:
3
Teşekkür (Etti):
9
Teşekkür (Aldı):
1
Ticaret:
(0) %
30-09-2017 13:52
#5
Sağol ben kitap okuyarak öğreniyorum tavsiye ederim
--------------------- Şu bir toplum gerçeğidir ki, en üstün kabiliyet ahlaktır.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı