Python Nedir?
Merhaba sevgili TurkHackTeam üyeleri.
Bu yazı ile Python hakkında kapsamlı bilgi edinebilir ve Python dilini öğrenebileceğiniz ücretsiz kursları bulabilirsiniz. Öncelikle Python dilinin tarihçesi ile başlayalım:
~ Python'un Tarihçesi ~
Python dili, 1990'lı yıllarda Hollanda'nın Amsterdam şehrinde Guido van Rossum tarafından geliştirilmiştir. Python dilinin adı bir yılandan değil, Guido van Rossum'un çok sevdiği "Monty Python's Flying Circus" adlı komedi grubundan gelmektedir. Guido van Rossum, Python dilini yazarken aynı zamanda Microsoft'ta çalışıyordu. Python dilinin en çok kullanılan dillerden biri olmasının nedenlerinden biri yorumlanabilir, nesne yönelimli, modüler ve etkileşimli bir dil olmasıdır. Öğrenme süresi ise tamamen sizin okuma ve anlama hızınıza bağlıdır.
~ Ücretsiz Kurslar ~
Merhaba sevgili TurkHackTeam üyeleri.
Bu yazı ile Python hakkında kapsamlı bilgi edinebilir ve Python dilini öğrenebileceğiniz ücretsiz kursları bulabilirsiniz. Öncelikle Python dilinin tarihçesi ile başlayalım:
~ Python'un Tarihçesi ~
Python dili, 1990'lı yıllarda Hollanda'nın Amsterdam şehrinde Guido van Rossum tarafından geliştirilmiştir. Python dilinin adı bir yılandan değil, Guido van Rossum'un çok sevdiği "Monty Python's Flying Circus" adlı komedi grubundan gelmektedir. Guido van Rossum, Python dilini yazarken aynı zamanda Microsoft'ta çalışıyordu. Python dilinin en çok kullanılan dillerden biri olmasının nedenlerinden biri yorumlanabilir, nesne yönelimli, modüler ve etkileşimli bir dil olmasıdır. Öğrenme süresi ise tamamen sizin okuma ve anlama hızınıza bağlıdır.
~ Ücretsiz Kurslar ~
~ Neden Python'u Seçmeliyim? ~
Python dili oldukça hızlı gelişmekte olan bir dildir. 2017'de en çok kullanılan diller arasında 4. sırada iken, 2020'de diğer dillere kıyasla açık ara fark ile 1. sıradadır. Sırayı Kontrol Etmek için tıklayınız. Python dili çoğu büyük şirket tarafından kullanılıyor. Örnek olarak; Wikipedia, NASA, Google, YouTube, Reddit.
İsterseniz "Neden Python Öğrenmeliyim?" sorusunun yanıtlarına geçelim:
- Geniş bir kütüphaneye sahiptir ve kolay okunmaktadır ki bu da hızlı öğrenmeye yararlıdır.
- Çoğu internet protokolünü destekler.
- Yeterince uzun bir süredir kullanıldığından dolayı kullanıcısı çoktur yani destek almanız çok daha kolaylaşır.
- Platform bağımsızdır, yani Windows, MacOS, Linux gibi birçok işletim sisteminde çalışır.
- Büyük ve aktif bir topluluğa sahiptir, bu nedenle her zaman yardım alabileceğiniz birileri vardır.
- Veri bilimi, makine öğrenimi, yapay zeka ve web geliştirme gibi modern teknolojilerde geniş kullanım alanı vardır.
Bunun gibi birçok sebep daha var fakat buraya yazsam sayfa taşar.
~ Python Kullanım Alanları ~
Python dili şu ana kadar birçok platformda kullanılabiliyor. Bu platformlar; Windows, Mac, Linux, Android ve Symbian'dır.
| ![]() | 1. HACKING 2. MOBİL UYGULAMALAR 3. WEB UYGULAMALARI 4. YAPAY ZEKA |
~ En Popüler Python Modülleri, Kullanım Alanları ve Basit Örnekleri ~
Python'un popülerliğinin bir diğer sebebi de geniş modül ve kütüphane desteğidir. İşte en popüler Python modülleri ve ne işe yaradıkları:
BeautifulSoup: HTML ve XML dosyalarının içerisinden veri çekmek için kullanılan bir kütüphane. | ![]() |
![]() | Requests: HTTP istekleri yapmak için kullanılan basit ve kullanıcı dostu bir kütüphane. |
Flask: Web uygulamaları geliştirmek için kullanılan hafif ve kullanıcı dostu bir kütüphane. | ![]() |
![]() | Pandas: Veri analizi ve manipülasyonu için kullanılan güçlü bir kütüphane. Veri yapıları ve veri analiz araçları sunar. |
NumPy: Bilimsel hesaplamalar için kullanılan temel kütüphane. Çok boyutlu dizi nesneleri ve matematiksel fonksiyonlar sağlar. | ![]() |
~ Python mu Java mı? ~
Evet, artık ortalık karıştı... dillerin birbirine meydan okuma vakti! Çalsın savaş davulları. Bir tarafta Python, diğer tarafta ise Java. Bakalım kim kazanacak. Bu soruyu eklememin sebebi, bazı kişilerin ikilemde kalması. "Java mı öğrenmeliyim, Python mu?" diye ve sadece dezavantajları ekledim, sebebi ise herkesin 2 dil arasındaki dezavantajlarını görmesi.
Python | dezavantajları | |
Python bazı kısımlarda maalesef Java'dan daha yavaştır. Sebebi ise Python'un yorumlanmış bir dil olmasıdır. | Java'ya kıyasla daha az platformda kullanılır. | Python öğrendiğinizde Java öğrenmek biraz zor olabilir. |
Java dezavantajları | |
Geliştiriciler çoğunlukla Java kullanırken farklı dillere de yöneldikleri için Java'nın kullanımı gittikçe azalıyor. | Java bazı kısımlarda sistemi yavaşlatabiliyor. |
Buradan sonra hangi dili seçmek istediğiniz size kalmış, ne de olsa bilgi istenerek öğrenilir. Şimdiden hangi dili seçerseniz seçin geleceğinizin çok parlak olduğunu unutmayınız!
~ Python Dilinin Yapısı ~
Python tamamen açık kaynak kodludur. Diğer dillere göre parantez yerine girintileme (indentation) kullanır ve bu sayede okuması da bir hayli kolaydır. Bu özelliği sayesinde diğer dillere göre çok daha üst bir dildir ve çoklu platform desteği sağlamaktadır.
Örnek olarak;
Python'da bir ekrana yazdırma işlemi: | C++'da bir ekrana yazdırma işlemi: |
![]() | ![]() |
~ Python Kurulumu ~
Python'u kurmak oldukça basittir. İşletim sisteminize göre aşağıdaki adımları izleyebilirsiniz:
Windows:
1. Python'un resmi web sitesinden indirin.
2. İndirilen dosyayı çalıştırın ve kurulum sihirbazını takip edin. "Add Python to PATH" seçeneğini işaretlemeyi unutmayın.
3. Komut satırını açın ve "python --version" yazarak kurulumun başarılı olup olmadığını kontrol edin.
MacOS:
1. Terminal'i açın.
2. "brew install python" komutunu kullanarak Homebrew üzerinden Python'u kurun.
3. Kurulumu kontrol etmek için "python3 --version" komutunu çalıştırın.
Linux:
1. Terminal'i açın.
2. "sudo apt-get update" ve ardından "sudo apt-get install" python3 komutlarını çalıştırarak Python'u kurun.
3. Kurulumu kontrol etmek için "python3 --version" komutunu çalıştırın.
~ Platform Bağımsızlığı ~
Python'un en önemli özelliklerinden biri platform bağımsız olmasıdır. Bu, Python kodunun herhangi bir değişiklik yapmadan Windows, MacOS ve Linux gibi farklı işletim sistemlerinde çalışabileceği anlamına gelir. Python'un bu özelliği her yerde kullanılabilir olmasını sağlar.
Python'un platform bağımsız olmasını sağlayan temel faktör, Python yorumlayıcısının her işletim sistemi için mevcut olmasıdır. Python kodu, yazıldığı gibi doğrudan yorumlayıcı tarafından çalıştırılır ve bu nedenle derleme gerektirmez.
~ Değişkenler ~
Python'da değişkenler, veri saklamak için kullanılan isimlendirilmiş depolama alanlarıdır. Değişkenler, program içerisinde farklı veri tiplerini tutabilir ve bu verilerle işlem yapmamıza olanak sağlar. Python'da değişken tanımlamak oldukça basittir ve herhangi bir tür belirtmeye gerek yoktur. Örnek olarak sağdaki görsele bakabilirsiniz. | ![]() |
Yukarıdaki örnekte, `x` bir tam sayı (integer), `y` bir metin (string) ve `z` ise bir ondalıklı sayı (float) tutmaktadır. Python, değişkenin türünü otomatik olarak belirler.
- Değişken İsimlendirme Kuralları -
Değişken isimlendirirken dikkat edilmesi gereken bazı kurallar vardır:
- Değişken isimleri harf, rakam ve alt çizgi (_) karakterlerinden oluşabilir, ancak rakam ile başlayamaz.
- Büyük ve küçük harf duyarlılığı vardır. Örneğin, `deger` ve `Deger` farklı değişkenlerdir.
- Python anahtar kelimeleri değişken ismi olarak kullanılamaz. (örneğin, `for`, `while`, `if` gibi)
- Örnek Değişken Tanımlamaları -
Aşağıda, farklı türlerde değişken tanımlamalarına dair birkaç örnek bulunmaktadır:
Bu örneklerde, `isim` bir string, `yas` bir integer, `maas` bir float ve `evli_mi` ise bir boolean türündedir. | ![]() |
Python'da değişkenlerin türleri dinamik olarak belirlenir ve gerektiğinde değiştirilebilir. | ![]() |
Sonuç olarak, Python'da değişkenler esneklik sağlar ve farklı veri türlerini kolayca saklayabilir. Bu özellik, Python'un kullanımını daha basit ve anlaşılır hale getirir.
~ Veri Yapıları ~
Python'da veri yapıları, verileri düzenlemek, depolamak ve üzerinde işlem yapmak için kullanılan yapılar ve koleksiyonlardır. Python'da en yaygın kullanılan veri yapıları "list", "tuple", "dict" ve "set" dir. Örnek olarak sağdaki görsele bakabilirsiniz. | ![]() |
Yukarıdaki örnekte, listeler sıralı ve değiştirilebilir, tupleler sıralı ve değiştirilemez, dictler anahtar-değer çiftleriyle çalışır ve setler eşsiz ve sırasız elemanlardan oluşur.
- Veri Yapılarının Özellikleri -
Python'daki temel veri yapıları şunlardır:
- List: Sıralı ve değiştirilebilir veri yapılarıdır. Farklı veri tiplerini içerebilirler ve köşeli parantez [] ile oluşturulurlar.
- Tuple: Sıralı ancak değiştirilemez veri yapılarıdır. Farklı veri tiplerini içerebilirler ve parantez () ile oluşturulurlar.
- Dict: Anahtar-değer çiftlerinden oluşan veri yapılarıdır. Anahtarlar benzersiz olmalıdır ve süslü parantez {} ile oluşturulurlar.
- Set: Eşsiz ve sırasız elemanlardan oluşan veri yapılarıdır. Süslü parantez {} ile oluşturulurlar.
Python Sıkça Sorulan Sorular bölümüne hoş geldiniz! Burada birçok sorunuza yanıt bulabilirsiniz.
1-) Python kodumu .exe'ye nasıl çeviririm?
1.a-) Python kodunuzu .exe'ye çevirebilmek için bu GitHub sayfasına gidin. Ardından kurulumu yapınız ve pyinstaller /script/klasoru/scriptadi.py komutu ile kolayca .py'yi .exe'ye çevirebilirsiniz!
2-) Python'a başlamak istiyorum fakat kurs bulamıyorum, bir kaynağınız var mı?
2.a-) Konumuzda yukarıda bulunan ücretsiz videolu/yazılı kaynaklar ile kolayca öğrenebilirsiniz.
3-) Python dilini birazcık öğrendim ama kendimi test etmek için ne kodlayacağımı bilmiyorum!?
3.a-) Forumumuzda Python kategorisinde birçok örnek kod öbeği görebilirsiniz. Bu örnek kod öbeklerinden fikir edinip benzer birkaç program kodlayabilirsiniz.
4-) Python'un geleceği hakkında ne düşünüyorsunuz?
4.a-) Python'un geleceği oldukça parlak görünüyor. Özellikle yapay zeka, veri bilimi ve web geliştirme alanlarında popülaritesi artmaya devam ediyor. Ayrıca, Python'un geniş topluluğu ve sürekli gelişen kütüphaneleri sayesinde yeni teknolojilere hızla uyum sağlayabiliyor.
5-) Python'da hangi editör veya IDE'yi kullanmalıyım?
5.a-) Python geliştirme için birçok editör ve IDE mevcut. En popüler olanlar arasında PyCharm, VSCode, Jupyter Notebook ve Spyder bulunmaktadır. Kişisel tercihinize göre bu araçlardan birini seçebilirsiniz.
6-) Python ile veri bilimi projeleri yapabilir miyim?
6.a-) Evet, Python veri bilimi için en popüler dillerden biridir. Pandas, NumPy, Matplotlib gibi kütüphaneler ile veri analizi ve görselleştirme yapabilir, scikit-learn, TensorFlow ve Keras gibi kütüphaneler ile makine öğrenimi modelleri geliştirebilirsiniz.
7-) Python öğrenmek ne kadar zaman alır?
7.a-) Bu tamamen sizin çalışma temponuza ve ayırdığınız zamana bağlıdır. Temel düzeyde Python öğrenmek birkaç hafta sürebilirken, ileri seviye konular ve kütüphaneler için aylarca pratik yapmanız gerekebilir.
"Basitlik tüm karmaşıklığı ve detayı içinde barındırır." - Steve Jobs
Bu makalemiz bu kadardı, herhangi bir olayda konumuz güncellenecektir. İyi forumlar THT Ailesi!
Moderatör tarafında düzenlendi: