Python, yüksek seviyeli bir programlama dilidir ve genellikle web geliştirme, veri analizi, yapay zeka ve bilimsel hesaplama alanlarında kullanılır. Kullanımı oldukça kolay ve anlaşılır olması, özellikle yeni başlayanlar için ideal bir seçim yapmakta. Python, herhangi bir işletim sistemi üzerinde çalışabilir ve çok sayıda kütüphane içerir, bu da kod yazım işlemlerini önemli ölçüde kolaylaştırır.
Python’da, kolay anlaşılır ve takip edilmesi basit bir syntax kullanılmaktadır. Bu syntax kuralları, kodları okumayı ve anlamayı son derece kolaylaştırmaktadır. Veri tipleri kategorisi oldukça geniş olan Python’da, her türlü sayı, string, liste, tuple, sözlük gibi veri tipleriyle karşılaşabilirsiniz. Bunlar arasında nümerik ve sıralı veri tiplerinin yanı sıra, Python’da if-else, for ve while gibi döngü yapıları ve modüllerle çalışarak, kodlama işlemlerini çok daha kolay bir şekilde halledebilirsiniz.
Syntax ve Veri Türleri
Python programlama dilinde syntax kuralları oldukça basit ve anlaşılır bir şekilde belirtilmiştir. Kodların okunaklılığı ve anlaşılabilirliği açısından, her işlemin sonuna noktalı virgül (;) koymak zorunlu değildir. Bunun yerine, girinti kullanarak kodun içeriği belirtilir. Örneğin, bir fonksiyonda yazılan kod blokları birbirini takip ederek yazılmak yerine, girinti kullanarak ayrılır. Bu sayede, daha anlaşılır ve okunaklı bir kod elde edilir.
Python’da kullanılan veri türleri, diğer programlama dillerindeki gibi sayısal, sıralı ve karakter türlerini içerir. Sayısal veri türleri arasında Integer, Float ve Complex bulunur. Sıralı veri türleri ise List, Tuple ve String olarak sınıflandırılır. Bu veri türlerinin her biri kendi içinde özellikler taşır ve farklı amaçlar için kullanılır.
Ayrıca, Python’da kullanılan if-else, for ve while döngü yapıları da syntax kuralları kapsamında yer alır. Bu yapılar, programların kontrolü ve yönetimi açısından oldukça önemlidir. Veri türleri ve syntax kuralları, Python programlama dilinin özelleşmesinde büyük bir role sahip olurken, öğrenmeye başlamak için en temel iki konudur.
Numeric Veri Türleri
Python programlama dilinde kullanılan sayısal veri türleri, matematiksel işlemler için oldukça önemlidir. Sayısal veri türleri, başka bir veri türüne dönüştürülmemiş tekil bir değeri ifade eder. Pythonda kullanılan 3 temel sayısal veri türü, integer, float ve complex’tir.
Integer veri türü, tam sayıları ifade etmek için kullanılır. Örneğin, bir kişinin yaşı veya bir şeyin boyutu gibi tam sayılarda kullanılır. Float veri türü ise ondalık sayıları ifade etmek için kullanılır. Örneğin, bir kişinin boyu veya ağırlığı gibi. Bir sayı hem integer hem de float veri türüne dönüştürülebilir.
Ayrıca, Python’da kullanılan diğer bir sayısal veri türü de complex’tir. Complex veri türü, gerçek ve sanal bölümlerden oluşur ve a + bj şeklinde ifade edilir. Burada a, gerçek kısmın ifade ederken, b ise sanal kısmın ifade edilir.
Aşağıdaki tablo, Python’da kullanılan sayısal veri türlerini ve örneklerini göstermektedir.
Veri Türü | Özellikler | Örnek |
---|---|---|
Integer | Tam sayıları ifade eder | 42 |
Float | Ondalık sayıları ifade eder | 3.14 |
Complex | Gerçek ve sanal sayıları ifade eder | 2+3j |
Python’da sayısal veri türleri oldukça yaygındır ve matematiksel işlemlerde kullanılır. Bu veri türlerinin özelliklerini iyi anlamak ve doğru bir şekilde kullanmak, programlama dilini daha iyi kullanmanıza yardımcı olacaktır.
Integer ve Float
Python programlama dilinde kullanılan sayısal veri türleri, büyük oranda sayısal işlemleri gerçekleştirmek için kullanılır. Bu veri türleri, integer ve float olarak ikiye ayrılır.
Integer: Integer, tam sayıları ifade eder ve negatif ya da pozitif olabilir. Kendi içinde değişik boyutlar alabilen integer veri türü, bazı durumlarda sayısal işlemler için yeterli kalmayabilir. Bu durumda float veri türü kullanılır.
Sembol | Anlamı | Örneği |
---|---|---|
+ | Toplama | 2 + 3 = 5 |
– | Çıkarma | 5 – 3 = 2 |
* | Çarpma | 2 * 3 = 6 |
/ | Bölme | 6 / 3 = 2 |
// | Tam Bölme | 7 // 2 = 3 |
% | Mod Alma | 5 % 2 = 1 |
** | Üs Alma | 2 ** 3 = 8 |
Float: Float veri türü, ondalık sayıları ifade etmek için kullanılır. Python programlama dilinde float veri türü, varsayılan olarak ondalık hassasiyeti ile birlikte gelir. Eğer daha yüksek bir hassasiyete ihtiyacınız varsa, decimal modülü kullanarak işlem yapılabilir.
Sembol | Anlamı | Örneği |
---|---|---|
+ | Toplama | 2.0 + 3.1 = 5.1 |
– | Çıkarma | 5.2 – 3.1 = 2.1 |
* | Çarpma | 2.2 * 3.1 = 6.82 |
/ | Bölme | 6.6 / 3.3 = 2.0 |
// | Tam Bölme | 7.7 // 2.2 = 3.0 |
% | Mod Alma | 5.5 % 2.2 = 1.1 |
** | Üs Alma | 2.2 ** 3.3 = 10.414 |
Complex
Python programlama dilinde kullanabileceğimiz bir diğer veri türü ise Complex veri türüdür. Bu veri türü, gerçel ve sanal sayılardan oluşan karmaşık sayılar için kullanılır. Karmaşık sayılar genellikle matematiksel işlemlerde kullanılır.
Python’da kompleks sayılar a+bj şeklinde gösterilir. ‘a’ gerçel sayıyı, ‘b’ ise ‘j’ kompleks sabitini temsil eder. Örnek olarak, 3+2j kompleks sayısı Python’da şu şekilde yazılır:
“`kompleks_sayi = 3+2j“`
Complex veri türünün özellikle matematiksel hesaplamalar ve mühendislik uygulamalarındaki kullanımı oldukça yaygındır.
Ayrıca, kompleks sayılarla yapılabilecek işlemleri hesaplamak için matematiksel fonksiyonlar da Python’da mevcuttur. Bu fonksiyonlar math modülünde yer alır. Örneğin, kompleks sayının mutlak değerini bulmak için abs() fonksiyonu kullanılır. Ayrıca, kompleks sayıların gerçel ve sanal kısımlarını ayrı ayrı elde etmek için .real ve .imag özellikleri kullanılır.
Kompleks Sayı İşlemi | Python Kodu |
---|---|
Toplama | complex1 + complex2 |
Çıkarma | complex1 – complex2 |
Çarpma | complex1 * complex2 |
Bölme | complex1 / complex2 |
Python programlama dilinde Complex veri türünün kullanımı oldukça basittir ve matematiksel hesaplamalarda oldukça işlevsel bir veri türüdür.
Sequence Veri Türleri
Python programlama dilinde sıralı veri türleri kullanılmaktadır. Bu veri türleri, belirlenmiş bir sıralama içinde bulunan verileri tutarlar. Listeler diğer dillere göre daha yaygın olarak kullanılırken tupplelar daha güvenli bir yapı sunarlar.
Python’da kullanılan sıralı veri türleri arasında en yaygın olanları Lists ve Tuples’tır. Her iki veri türü de indekslenmiş sıralı verilerdir. Bu veri türleri değiştirilebilir (mutable) ve değiştirilemez (immutable) olarak ikiye ayrılırlar.
Listeler (Lists) değiştirilebilir bir veri türüdür ve içinde birden fazla veri türü barındırabilir. Liste elemanlarına index numarasıyla ulaşılabilir ve bu elemanlar üzerinde değiştirme işlemi yapılabilir. Tupples veri türü de bu açıdan benzerdir. Ancak tupplelar değiştirilemez bir veri türüdür. Bunun anlamı, tuple verileri bir kez belirlendikten sonra, içeriği değiştirilemez.
Bu veri türleriyle ilgili örnek bir liste şu şekilde olabilir:
Index | Eleman |
0 | Elma |
1 | Armut |
2 | Çilek |
Özellikle büyük projelerde, sıralı verilerin programlama mantığında önemli yeri vardır. Bu nedenle, bu veri türlerinin doğru kullanımını öğrenmek ve örneklerle pekiştirmek, Python programlama diline hakim olmanızı kolaylaştıracaktır.
List ve Tuple
Python programlama dilinde sık kullanılan sıralı veri tipleri arasında liste (list) ve tuple bulunmaktadır. Bu iki veri tipi benzer özellikler paylaşsa da aralarında bazı farklılıklar vardır.
Listeler, değiştirilebilir verilerdir ve [] (köşeli parantez) içinde virgülle ayrılmış elemanlarla tanımlanır. Örneğin, [1, 2, 3, 4] gibi. Listelerde her elemanın ayrı bir indeksi vardır ve kullanıcılar bu indeksleri kullanarak listeye erişebilir. Ayrıca listeler içinde farklı veri tipleri bir arada kullanılabilir.
Tuple’lar ise değiştirilemez verilerdir ve () (parantez) içinde virgülle ayrılmış elemanlarla tanımlanır. Örneğin, (1, 2, 3, 4) gibi. Tuple’lar da listeler gibi indekslenmişlerdir, ancak elemanlarının değerleri değiştirilemez. Tuple’lar genellikle sabit verilerin saklanması için kullanılır.
Liste ve tuple’lar başka listeleri veya tuple’ları da içerebilirler. Ayrıca, len() fonksiyonu kullanılarak listenin veya tuple’ın eleman sayısı alınabilir. Bu veri tiplerinin sık kullanıldığı durumlar arasında verilerin depolanması ve yönetimi yer almaktadır.
List | Tuple |
---|---|
Değiştirilebilir | Değiştirilemez |
Indekslenmiş | Indekslenmiş |
[] (köşeli parantez) | () (parantez) |
Bu veri tiplerinin kullanımı, programlama dillerinde sıklıkla kullanılan ve öğrenilmesi gereken bir konudur. Python programlama dili, veri yönetimi konusunda farklı seçenekler sunan bu veri tiplerini kolayca kullanma imkanı vermektedir.
String
String veri türü hakkında detaylı açıklama ve kullanım örnekleri.
Python’da kullanılan String veri türü, metin tabanlı verileri ifade etmek için kullanılır. Metinler, tırnak işaretleriyle (“” veya ”) çevrilerek oluşturulur. Örneğin, “Merhaba Dünya” bir String ifadedir. String veri türü, diğer veri türleri gibi değişkenlere atanabilir.
String verileri birçok yöntemle işlenebilir ve manipüle edilebilir. Bazı yaygın String işleme yöntemleri şunlardır:
- len(): String’in uzunluğunu verir.
- .upper() ve .lower(): String’in harflerini büyük veya küçük harf yapar.
- .strip(): String’in başındaki ve sonundaki boşlukları temizler.
- .replace(): String içinde bir metin parçasını başka bir metin parçasıyla değiştirir.
- .split(): String’i belirli bir karaktere göre parçalar ve bir liste olarak döndürür.
Örnek olarak, bir String değişkeni oluşturalım ve bu yöntemleri kullanarak işlemler yapalım:
ad = "John"soyad = "Doe"ad_soyad = ad + " " + soyad # String birleştirme işlemiprint(ad_soyad)# Output: "John Doe"print(len(ad_soyad))# Output: 8print(ad_soyad.upper())# Output: "JOHN DOE"print(ad_soyad.replace("o", "a"))# Output: "Jahn Dae"
Bu örnekler, String veri türünün nasıl kullanılacağına dair bir fikir verebilir ve String işleme yöntemleri hakkında bilgi sahibi olmanıza yardımcı olabilir.
Seçim ve Döngü Yapıları
Python programlama dilinde, program içinde belirli koşullara bağlı olarak farklı işlemler yapabilmek için seçim yapıları kullanılır. If-else yapısı, Python’da en sık kullanılan seçim yapısıdır. If koşulu sağlanırsa if bloğu içindeki işlemler yapılır, koşul sağlanmazsa else bloğu içindeki işlemler yapılır.
For döngüsü, belirli bir koşul gerçekleşene kadar belirlenen bloğu tekrar etmek için kullanılır. Döngü her tekrarlandığında, döngü değişkeni belirtilen koşullara göre değişir.
While döngüsü de for döngüsü gibi belirli bir bloğu tekrar etmek için kullanılır. Fakat, while döngüsü için bir koşul belirtilir ve bu koşul sağlanana kadar kod tekrarlanır. Koşul sağlandıktan sonra döngü sonlanır.
Ayrıca, Python’da döngülerle birlikte break ve continue gibi ifadeler kullanılabilir. Break ifadesi, döngüdeki kod bloğunu sonlandırırken, continue ifadesi, o anki işlemi atlayarak başka bir işleme geçiş yapar.
Seçim ve döngü yapıları, Python programlama dilinde oldukça sık kullanılan yapılar arasındadır. Bu yapıları iyi bir şekilde öğrenerek, programlama sürecinde işleri daha kolay ve hızlı bir şekilde halletmek mümkündür.
Fonksiyonlar ve Modüller
Python programlama dilinde fonksiyonlar ve modüller oldukça önemli bir yere sahiptir. Fonksiyonlar, belirli işlemleri yürütmek için kullanılan programlama araçlarıdır ve modüller, fonksiyonları ve diğer veri yapılarını içeren dosyalardır.
Fonksiyonlar, Python programlama dilinde oldukça esnektir ve kolayca tanımlanabilir. Fonksiyonların kullanımı, programlama sürecini büyük ölçüde kolaylaştırır ve kodun daha okunaklı hale gelmesine yardımcı olur. Python’da, hem parametreli hem de parametresiz fonksiyonlar kullanılabilir. Fonksiyonlar özellikle büyük ve karmaşık programlarda kullanışlıdır.
Modüller ise, Python programlama dilinde büyük ölçekli programların geliştirilmesinde önemli rol oynar. Bir modül, fonksiyonlar, sınıflar, değişkenler ve diğer nesneleri içerir ve bu nesneleri diğer programlar içinde yeniden kullanmak için tasarlanmıştır. Python’da, standart modüller yanı sıra özel modüllerin oluşturulması da mümkündür.
Python’da, fonksiyon ve modüllerin kullanımı oldukça kolaydır ve programlama sürecini büyük ölçüde kolaylaştırır. Bu nedenle, Python programlama dili, özellikle büyük ve karmaşık programların geliştirilmesi için oldukça popüler bir seçenek haline gelmiştir.
Fonksiyonlar
Python programlama dilinde fonksiyonlar oldukça önemli bir yer tutar. Fonksiyonlar, belirli bir görevi yerine getiren kod bloklarıdır ve def anahtar kelimesi ile oluşturulurlar. Fonksiyonlar, kodun tekrar kullanılabilirliğini artırır ve kodun okunabilirliğini yükseltir.
Fonksiyonlar, parametreler alarak veya almadan çalışabilirler. Parametreli fonksiyonlar, belirtilen argümanlar ile çalışır ve sonuçlarını geri döndürürler. Parametre almayan fonksiyonlar ise, herhangi bir değişken almaz ve program içinde belirli bir işlevi yerine getirirler.
Python’da fonksiyonlar, kolaylıkla oluşturulabilir ve çağrılabilirler. Fonksiyonlar, bir kez oluşturulduktan sonra, programın herhangi bir yerinde tekrar kullanılabilirler.
Örnek | Açıklama |
---|---|
|
Bu fonksiyon, “Merhaba!” yazısını yazdırır. |
|
Bu fonksiyon, verilen iki sayıyı toplar ve sonucunu geri döndürür. |
Yukarıdaki örneklerde, ilk fonksiyon parametre almaz ve sadece bir yazı yazdırır. İkinci fonksiyon ise iki parametre alır ve bu parametreleri toplar. Burada, ikinci fonksiyon sonuç olarak bir değer döndürür, ancak ilk fonksiyon hiçbir değer döndürmez.
Fonksiyonlar, Python’da oldukça esnek bir kodlama yöntemidir. Fonksiyonları doğru kullanarak, kodunuzun okunabilirliğini ve yeniden kullanılabilirliğini artırabilirsiniz.
Parametreli ve Parametresiz Fonksiyonlar
Python’da, fonksiyonlar parametre almazken veya bir veya daha fazla parametre alabilir. Fonksiyonları parametreli hale getirmek, onları daha esnek ve genişletilebilir hale getirir.Parametresiz fonksiyonlar, sadece fonksiyon adı ve parantezden oluşur. Örneğin:
def hello_world(): print("Merhaba, Dünya!")
Bu kod,basit bir “Merhaba, Dünya!” mesajı yazdırmak için bir fonksiyon tanımlar.Parametreli fonksiyonlar, fonksiyon çağrısı sırasında bir veya daha fazla argümanla çağrılabilir. Argümanlar, fonksiyonun işlemesi için gereken verileri sağlar. Örneğin:
def greet(name): print("Merhaba, " + name + "!")
Bu kod,sırasıyla “Ali” ve “Ayşe” değişkenlerini alarak iki kez “Merhaba” mesajı yazdırır:
greet("Ali")greet("Ayşe")
Fonksiyonlar, parametrelerini varsayılan değerlerle tanımlayabilirler. Böylece, fonksiyon parametresi çağrılırken belirtilmezse, varsayılan bir değer atanır. Örneğin:
def greet(name="Dostum"): print("Merhaba, " + name + "!")
Bu kod, fonksiyon çağrısında argüman sağlanmadığında “Dostum” kelimesini varsayılan değer olarak kullanır:
greet("Ali") # Output: Merhaba, Ali!greet() # Output: Merhaba, Dostum!
Python’da, değişken sayıda argümanlarla çalışan fonksiyonlar da tanımlayabilirsiniz. Bu tür fonksiyonlar, yıldız işaretleri kullanarak geri kalan argümanların toplanmasına olanak tanır. Örneğin:
def toplam(*sayilar): sonuc = 0 for sayi in sayilar: sonuc += sayi return sonuc
Bu kod, değişken sayıda argüman alan bir “toplam” fonksiyonunu tanımlar. Fonksiyon çağrısı aşağıdaki gibi olabilir:
toplam(1, 2, 3) # Output: 6toplam(5, 10, 15, 20) # Output: 50
Bu örnek, Python’da çok yönlü bir fonksiyon tanımlamanın ne kadar kolay olduğunu gösterir.
Modüller
Python programlama dilinin en önemli özelliklerinden biri modüler bir yapıya sahip olmasıdır. Bu sayede kullanıcılar, farklı işlevleri modüller halinde ayrı ayrı tasarlayıp, bu modülleri kullanarak projelerini geliştirebilirler. Python’da modüller, daha önce tanımlanan fonksiyonların, sabitlerin veya sınıfların, programcıların farklı programlarda da kullanabilmeleri için tek bir dosyada toplanmasıdır. Bu sayede aynı kodları farklı programlarda kullanarak tekrar yazma ihtiyacı ortadan kalkar.
Python programlama dilinde içe aktarma işlemi, modüllerin kullanımını mümkün kılar. İçe aktarma işlemi, bir modülün bir programda kullanılabilmesi için çağrılması işlemidir. Bu işlem, import anahtar kelimesi ile gerçekleştirilir. Örneğin, “import math” ifadesi, programın ‘math’ modülünü import ettiğini belirtir.
Python’da 2 farklı modül çeşidi bulunmaktadır: standart modüller ve özel modüller. Standart modüller, Python geliştiricileri tarafından sağlanan modüllerdir ve Python yüklendiğinde otomatik olarak yüklenir. Özel modüller ise kullanıcılar tarafından oluşturulabilir ve import anahtar kelimesi ile kullanılabilir.
Modüllerin kullanımı konusunda örnek vermek gerekirse, bir matematik modülü oluşturabilirsiniz ve bu modülü kullanarak, farklı programlarınızda yaptığınız matematik işlemlerini daha hızlı ve kolay bir şekilde gerçekleştirebilirsiniz. Bunun için matematik modülüne, trigonometrik fonksiyonlar, logaritma fonksiyonları gibi matematiksel işlevler ekleyebilirsiniz.
Sonuç olarak, Python programlama dilinde modüller, programcıların işini kolaylaştıran ve kod tekrarını önleyen önemli bir özelliktir. Çok sayıda modül seçeneğine sahip olan Python, sorunsuz bir şekilde modüllerin import edilmesine imkan tanır.
Standart Modüller
Python, birçok standart modülle birlikte gelir. Bu modüller, dilin temel kütüphanelerini oluşturur ve çeşitli işlevler sunar. Bu modüllerden bazıları şunlardır:
- os: İşletim sistemi işlevleri (dosya işlemleri ve dizin yönetimi gibi)
- datetime: Tarih ve zaman işlemleri
- random: Rasgele sayı üretimi
- math: Matematik işlevleri (karekök, logaritma, trigonometri vb.)
- string: Dize işlemleri (dize bölme, birleştirme, biçimlendirme vb.)
- re: Düzenli ifadeler (dize eşleştirme ve değiştirme gibi)
- json: JSON veri işleme
Bu standart modüller, Python programlama dili için birçok kullanışlı işlev sunar ve çoğu zaman geliştiricilerin zaman ve emek tasarrufu yapmasına yardımcı olur.
Özel Modüller
Python’da özel modüller, kendi ihtiyacımıza göre oluşturabileceğimiz modüllerdir. Özel modül oluşturma için öncelikle bir Python dosyası oluşturulmalıdır. Bu dosya, modül ismi ile kaydedilmelidir. Ardından, içerik olarak modülde kullanılacak fonksiyonlar, değişkenler, sınıflar vs. tanımlanabilir.
Modül oluşturulduktan sonra, bu modülü kullanmak için import işlemi yapılmalıdır. Modül import edilirken, modül dosyasının bulunduğu dizin yolu belirtilmelidir.
Özel modüllerin import edilmesi ile ilgili olarak, modül içerisinde ‘__init__.py’ dosyası oluşturulabilir. Bu dosya, modül import edilirken otomatik olarak çalıştırılacaktır. ‘__init__.py’ dosyası, modül içinde tanımlı fonksiyonları, sınıfları, değişkenleri, vs. modülün başka bir Python dosyasından import edilmesini kolaylaştırır.
Modül içinde tanımlanan unsurların isim çakışmalarını önlemek için, from-import kullanımı tercih edilebilir. Bu kullanımda, modül içindeki bir tanımlayıcıya doğrudan erişim sağlanabilir.
Özel modüllerin oluşturulması ile ilgili örnekler için, Python dökümanlarına veya online kaynaklara bakılabilir.
Nesne Yönelimli Programlama
Python programlama dili, nesne yönelimli programlama yeteneklerine sahiptir. Nesne yönelimli programlama, bir programın nesne olarak tanımlanmış birimlerden oluştuğu bir programlama paradigmasıdır. Python’da sınıflar ve nesneler kullanarak nesne yönelimli programlama yapılabilir.
Sınıflar, bir programdaki nesnelerin tanımlandığı bir yapıdır. Her sınıf, özellikleri ve işlevleri olan bir nesne tasarlar. Bu özellikler ve işlevler, sınıfa özgü niteliklerdir ve bu nesne ile ilgili olan işlevlerdir. Bir sınıf belirlendikten sonra, bu sınıftan bir veya daha fazla nesne o sınıfın bir örneği olarak oluşturulabilir.
Python’da nesne yönelimli programlamanın diğer bir temel özelliği, miras almaktır. Miras alma, bir sınıfın bir diğer sınıfın özelliklerini ve işlevlerini devralması anlamına gelir. Bu, sınıfların daha önce tanımlanmış olan yapıları kullanarak yeni sınıflar oluşturmasını ve daha esnek bir programlama yaklaşımı sağlamasını mümkün kılar.
Python’daki nesne yönelimli programlamanın bir başka özellikle polimorfizmdir. Polimorfizm, bir sınıfın farklı tipteki nesneleri yönetebilme yeteneği olarak tanımlanabilir. Bu, aynı adı taşıyan ancak farklı görevleri yerine getiren işlevleri tanımlayarak gerçekleştirilir.
Sınıflar ve Nesneler
Python programlama dilinin en önemli özelliklerinden biri, nesne yönelimli programlama (OOP) desteğidir. Bu özellik sayesinde, programcılar programlarını daha düzenli ve modüler bir şekilde yazabilirler. Python’da, sınıflar ve nesneler OOP’nin temel taşıdır.
Bir sınıf, bir nesnenin özelliklerinin ve davranışlarının (yani yöntemlerinin) örneklerinin tanımlandığı bir yapıdır. Sınıflar, sınırlandırılmış ve düzenli bir şekilde kullanma imkanı sunar. Python’da, sınıf tanımlamak için “class” anahtar kelimesi kullanılır.
Syntax | Açıklama |
---|---|
class SinifAdi: | Bir sınıf tanımlar. |
- Bir sınıftan bir nesne oluşturmak için, sınıftan yeni bir kopya yaratmalı ve ardından istenen adlandırmayı vermelisiniz.
- Bir nesnenin özelliklerine, “.” operatörü ile erişilebilir.
- Her nesne, özelliklerin değerleri ve yöntemlerini kendi alanında tutar. Bir nesne, başka bir nesnenin alanına erişemez.
Sınıfların kullanımı, nesne yönelimli programlamayı anlamak için önemlidir. Nesne yönelimli programlamada, her şey bir nesnedir veya nesnelere atanabilir. Kullanıcılar, bu özelliği kullanarak kendi veri türlerini ve işlevleri tanımlayabilirler.
Miras ve Polimorfizm
Miras veya inheritance, bir sınıfın başka bir sınıfın özelliklerini devralmasına olanak tanıyan bir Python özelliğidir. Bu, bir sınıfın özelliklerinin kopyalanmasını gerektirmez, bunun yerine bir sınıf, diğer sınıfın özellikleriyle genişletilir. Bu, kodun tekrar kullanılabilirliğini artırır ve programlama işlemini daha kolay hale getirir.
Polimorfizm, aynı yöntemlerin veya işlevlerin farklı şekillerde uygulanabilmesine olanak tanıyan Python özelliğidir. Bu, bir sınıfın, başka bir sınıfın üyelerine doğrudan erişmesi yerine bir arayüz aracılığıyla etkileşim kurmasına olanak tanır. Bu, kodun daha esnek ve yönetilebilir olmasını sağlar ve farklı sınıfların aynı davranışları sergilemesini kolaylaştırır.
Miras Örneği | Polimorfizm Örneği |
---|---|
|
|
Yukarıdaki örnekler, miras ve polimorfizmin Python’da nasıl uygulandığını göstermektedir. Özellikle polimorfizm, farklı şekillerde uygulanabilen aynı yöntemleri veya işlevleri içeren bir işlevsel programlama modelidir. Bu, bir programın daha esnek, ölçeklenebilir ve yönetilebilir olmasını sağlar ve özellikle büyük projeler için faydalıdır.
Özel Metotlar ve Özellikler
Python, nesne yönelimli programlama dili olarak özel metotlara ve özelliklere destek verir. Bu metotlar ve özellikler, sınıfların veya nesnelerin bazı özel durumlarında kullanılan ve Python tarafından belirlenen özel isimlerdir. Metotlar veya özellikler özel bir amaç için tasarlanmıştır ve normal Python syntax kurallarına uymazlar.
Özel metotlar özel isimlere sahip fonksiyonlardır. Bunlar, nesne oluşturulduğunda veya erişildiğinde Python tarafından otomatik olarak çağırılır. Örneğin, __init__() özel metodu, bir nesne oluşturulduğunda otomatik olarak çağrılır ve nesnenin başlatılmasını sağlar.
Özellikler, nesnenin özelliklerine veya özniteliklerine erişimi kontrol eder. Python, özellikleri @property decoratoru kullanarak tanımlar. Bir özellik adı getattr () veya setattr() metotlarına atanırsa, özel bir şekilde çağrılır.
Bir örnek vermek gerekirse, __len__() özel metodu, bir nesnenin uzunluğunu döndürmek için kullanılır. Özellik olarak, örneğin bir class içinde isim ve soyisim özelliği tanımlayabilirsiniz ve bu özelliklere __str__() özel metoduyla erişebilirsiniz.
Özel Metot/Özellik | Açıklaması |
---|---|
__init__() | Bir nesne oluşturulduğunda çağrılır ve özelliklerin başlatılmasını sağlar. |
__str__() | Bir nesnenin string dönüşümünü tanımlar. |
__len__() | Bir nesnenin uzunluğunu döndürür. |
Python’da özel metot ve özellikler kullanarak, nesne yönelimli programlamanın temel özelliklerini kullanabilir ve daha modüler, anlaşılır bir kod yazabilirsiniz.