Turkhackteam.net/org - Turkish Hacking & Security Platform...  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform... >
Programlama
> Python


Python Sınıf Kullanımı

Python

Yeni Konu aç Cevapla
 
Seçenekler
Alt bir Hafta önce   #1
  • Offline
  • Stajyer Asistan Sorumlusu
  • Genel Bilgiler
Üyelik tarihi
Apr 2016
Nereden
root@Ceys:~
Yaş
21
Mesajlar
Konular


  
Python Sınıf Kullanımı



Sınıf Nedir?

Nesne olarak da ifade edilebilen sınıflar, aslında günlük hayatta bildiğimiz sınıflardır. Bu duruma şöyle bir örnek verebiliriz, Okuldaki sınıfları düşünün diyelimki 12-A sınıfında ahmet , 12-B sınıfında mehmet olsun bunlar kendi sınıflarında birer bireydir. Kendi sınıflarında mevcut olan tüm olanaraklardan yararlanabilirken birbirlerindeki sınıflardan yaranalamazlar. Programlamada da bu mantık düşünülür.
  • Sınıflarların genel olarak kullanımı, sürekli tekrarlanan kodları önüne geçmeye olanarak sağlar. Aynı zamanda ekip çalışmalarındada güzel bir alternatif olabiliyor.

Sınıf Oluşturma ve Kullanma :


Öncelikle bir Sınıf oluşturalım :

Kod:
class topla():
"""Toplama Sınıfı"""
“”” Açıklama Satırı “” olarak ifade edilir. Daha önceden bir sınıf yazdık ne için yazdığımızı unuttuk bu açıklama satırı çağırıp ne işe yaradığını öğrenebiliriz :

Kod:
print(topla.__doc__)
>>> Toplama Sınıfı
Yavaş yavaş Sınıfımızı oluşturalım :

Kod:
class topla():
    """Toplama Sınıfı"""
    def __init__(self):
Sınıflara veri aktarımı yapmak münkündür. Bir sınıf çağırıldığında ilk olarak nesnedeki __init__() fonksiyonu işletilir :

__init__() fonksiyonu self parametresini aldığı görülüyor. Bir nesnede tanımlanan işlevlerin nesne dışından çağırabilmesi için o nesneye ait bir işlev olduğunu belirtmek üzere self parametresi verilir.

Bir nesneye veri aktarımı __init__() işlevi ile yapılır örneğin :

Kod:
class topla():
"""Toplama Sınıfı"""
def __init__(self,x,y):
print('Toplam = ',x+y)
Sinifi_cagir = topla(2,3)
Çıktı: >>> Toplam = 5

Şimdi yolladığımız x,y değişkenlerine ulaşmaya çalışalım :

Kod:
class topla():
"""Toplama Sınıfı"""
def __init__(self,x,y):
print('Toplam = ',x+y)
Sinifi_cagir=topla(2,3)
# x elemanı çağırdık
print(Sinifi_cagir.x)
Bir hatayla karşılaştık :

Kod:
print(Sinifi_cagir.x)
AttributeError: 'topla' object has no attribute 'x'
Gördüğünüz gibi bir sorunumuz var , nesne içerisinde tanımlı bir değişkenin değerine dışarıdan ulaşamiyoruz. Eğer bir nesne tanımlamışsak bu nesne içerisinden de başka işlevleri tanımlayacağımız muhakkaktır. Nesneye verdiğimiz parametreler __init__ () işlevine aktrılıyor, o halde __init__() işlevine nasıl ulaşacağız ? Self özelliğini yukarda bahsetmiştik. Bir nesnenin kendisini self ile göstermiştik. Eğer bir değişkeni self’in bir özelliği olarak tanımlarsak, o zaman nesne içerisindeki tüm işlevlerden erişebildiği gibi sınıf dışarısından da erişebilir. Üstelik değerleride değişlebilir.

Bu bilgiler doğrultusunda hatayı düzeltelim.

Kod:
class topla():
"""Toplama Sınıfı"""
def __init__(self,x,y):
self.x = x
self.y = y
print('Toplam = ',self.x+self.y)
Sinifi_cagir = topla(2, 3)
# x elemanı çağırdık
print('X = ',Sinifi_cagir.x)
# y elemanı çağırdık.
print('Y = ',Sinifi_cagir.y)
Burada self.x , self.y tanımlaması ile sınıfın elemanları olduğunu belirttik bir nevi global tanımlamak yaparak heryerden ulaşılabilmesini sağladık.

Alıntı:
Dolasıyla çıktı :
Toplam = 5
X = 2
Y = 3
Nesne Fonksiyonları

Bu sefer yapacağımız olay ise, __init__() üzerine yollayacağımız veriler işlendikten sonra self üzerine aktarım sağlayacağız. Daha sonra bir fonksiyon yazarak, oluşan sonucu geri döndereceğiz.

Öncelikle bir sınıf tanımlıyalım, oluşan elemanlarını kendisine ait olduğunu belirtelim :

Kod:
class Hesapla():
"""Toplama Sınıfı"""
def __init__(self,x,y):
self.x = x
self.y = y
Şimdi ise Topla ve Çıkarma fonksiyonlarını tanımlıyalım :

Kod:
class Hesapla():
"""Toplama Sınıfı"""
def __init__(self,x,y):
self.x = x
self.y = y
def Topla(self):
toplam = self.x+self.y
return toplam
def cikarma(self):
cikar = self.x-self.y
return cikar
Şimdi ise çağıralım :

Kod:
class Hesapla():
"""Toplama Sınıfı"""
def __init__(self,x,y):
self.x = x
self.y = y
def Topla(self):
toplam = self.x+self.y
return toplam
def cikarma(self):
cikar = self.x-self.y
return cikar
Sinifi_cagir = Hesapla(2,3) # değerleri yolladık.
# sinifin içindeki topla fonk. çağır.
print(Sinifi_cagir.Topla())
# sinifin içindeki çıkarma fonk. çağır.
print(Sinifi_cagir.cikarma())
Alıntı:
ÇIKTI:
>>> 5
>>> -1
Sınıfların genel olarak kullanımı bu şekildedir. Elbette python dili size sınıf kullanarak program yazma koşulu sunmuyor fakat, sınıf alışkanlığı olması gerekiyor. Derli toplu, olması herzaman avantajdır.
    


__________________


Rahat Uyu Yattığın Yerde Güzel İnsan.
Kutlu tinin şad, otağın uçmağ ola...

Solo-Türk
Offline
 
Alıntı ile Cevapla
Cevapla

Bookmarks

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 Kapalı
Pingbacks Kapalı
Refbacks Kapalı


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından açılmaktadır.
Bu konular yönetimimiz tarafından takip edilsede gözden kaçabilen telif hakkı olan veya mahkeme kararı çıkmış konular sitemizde bulunabilir. Bu tür konuları bize turkhackteamiletisim [at] gmail.com adresine mail atarak bildirdiğiniz takdirde en kısa sürede konular hakkında gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com


Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz.
Turkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Turkhackteam sorumlu değildir. Sitelerinize Turkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.



         

Powered by vBulletin® Copyright ©2000 - 2017

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı



Google Links
instagram Takipçi Hilesi

wau

Search Engine Friendly URLs by vBSEO 3.6.0 ©2011, Crawlability, Inc.