Yaklaşan CODING BOOTCAMP 'e katılarak Asebeneh ile öğren
# Gün | Konular |
---|---|
01 | Giriş |
02 | Değişkenler, Built-in Fonksiyonlar |
03 | Operatörler |
04 | Stringler |
05 | Listler |
06 | Tuplelar |
07 | Setler |
08 | Dictionaryler |
09 | Koşullu İfadeler |
10 | Döngüler |
11 | Fonksiyonlar |
12 | Modüller |
13 | List Oluşturma Kısayolu |
14 | Yüksek Mertebe Fonksiyonlar |
15 | Python'da Hatalar |
16 | Python datetime |
17 | Exception Handling (İstisna Yönetimi) |
18 | Düzenli İfadeler |
19 | Dosya İşlemleri |
20 | Python Paket Yöneticisi |
21 | Classlar ve Objeler |
22 | Web Scraping |
23 | Sanal Ortam |
24 | İstatistik |
25 | Pandas |
26 | Python web |
27 | MongoDB ile Python |
28 | API |
29 | API Oluşturma |
30 | Kapanış |
Yaklaşan CODING BOOTCAMP 'e katılarak Asebeneh ile öğren
🧡🧡🧡 İYİ KODLAMALAR 🧡🧡🧡
🇧🇷 Portuguese 🇨🇳 中文
- 🐍 30 Günde Python
- 📘 1. Gün
30 günde Python programlama challenge'a katılmaya karar verdiğin için tebrikler! Bu challenge'da Python programcısı olmak için gerekli olan her şeyi ve programlamanın temel konseptlerini öğreneceksin. Challenge sonunda, 30GündePython programlama challenge sertifikasını edineceksin.
Eğer challenge’a aktif şekilde dahil olmak ve etkileşimde bulunmak istersen 30DaysOfPython challenge telegram grubuna katılabilirsin.
Bu GitHub repository'sinin orijinal dili İngilizce'dir ve zeynepsturan tarafından Türkçeye çevirilmiştir. Bu yüzden challenge'daki kaynakların ve örnek kodların tamamı İngilizce içeriklidir.
Python, genel amaçlı programlama için kullanılan yüksek seviyeli (high-level) bir programlama dilidir. Python Hollandalı programcı Guido van Rossum tarafından yaratılan açık kaynak, yorumlanan (interpreted), nesne yönelimli bir yazılım dilidir. Dilin adı, Britanya yapımı bir skeç komedi dizisi olan Monty Python's Flying Circus'tan türetilmiştir ve ilk versiyonu 20 Şubat 1991'de yayımlanmıştır. 30 günde Python challenge Python'un en yeni versiyonu Python 3'ü adım adım öğrenmene yardımcı olacak. Konu başlıkları 30 güne bölünmüştür ve her bir gün; kolay anlaşılır açıklamalar, gerçek dünya örnekleri, uygulamalı alıştırmalar ve projeler içeren birden fazla bölümden oluşur.
Bu challenge python programlama dilini öğrenmek isteyen yeni başlayanlar ve profesyoneller için tasarlandı. Challenge’ı tamamlamak 30 ila 100 gün sürebilir. Telegram grubuna aktif olarak katılan kişilerin challenge’ı tamamlama olasılığı oldukça yüksektir.
Bu challenge, okuması kolay, sohbet tarzı bir dille yazılmış, ilgi çekici, motive edici ve aynı zamanda oldukça zorlayıcıdır. Bu challenge'ı tamamlamak için oldukça bolca zaman ayırmalısın. Eğer görsel bir öğreniciysen, video dersine şu adresten ulaşabilirsin: Washera YouTube kanalı. Bu videodan başlayabilirsin: Sıfırdan Başlayanlar için Python video. Kanalı abone ol, YouTube videolarına yorumlar yap ve sorular sorup aktif ol; yazar sonunda seni fark edecektir.
Yazar, bu challenge hakkındaki görüşlerini duymaktan memnuniyet duyar. 30GündePython challenge'ı hakkında düşüncelerini paylaşarak yazara destek ol. Görüşlerini/deneyimlerini bu bağlantı ile iletebilirsin.
Konuşma diline çok yakın bir dil olduğu için öğrenmesi ve uygulaması kolay bir dildir. Python çeşitli endüstriler ve şirketlerde (Google dahil olmak üzere) sıkça kullanılır. Web uygulamaları, masaüstü uygulamaları, sistem yönetimi ve makine öğrenimi kütüphanelerini geliştirmek için kullanılmıştır. Python veri bilimi ve makine öğrenmesi topluluklarında iyice benimsenmiş bir dildir. Umarım bu bilgiler seni Python öğrenmeye ikna etmiştir. Python dünyayı ele geçiriyor ve sen, Python seni ele geçirmeden onu etkili bir şekilde kullanıyorsun.
Bir Python kodunu çalıştırabilmek için önce Python'u yüklemelisin. Hadi Python'u yükleyelim. Windows kullanıcısı isen kırmızı içine alınan butona tıkla.
macOS kullanıcısı isen kırmızı içine alınan butona tıkla.
Python’un cihazında yüklü olup olmadığını kontrol etmek için, terminaline aşağıdaki komutu yaz.
python --version
Terminalde de göründüğü üzere şu an Python 3.7.5 sürümünü kullanıyorum. Senin versiyonun benimkinden farklı olabilir ama 3.6 veya daha üstü olmalı. Python versiyonunu görebildiysen tebrikler, Python makinene yüklendi. Sonraki bölüme geçebilirsin.
Python yorumlanan (interpreted) bir dildir ve derlenmeye ihtiyaç duymaz. Yani kodu satır satır yorumlayıp çalıştırır. Python, Python Shell (Python Interactive Shell) ile gelir. Python Shell, tek satırlık bir Python kodunu çalıştırıp sonucu elde etmek için kullanılır.
Python Shell kullanıcıdan Python kodu girmesini bekler. Kodu girdiğinde, kodu yorumlar ve sonucu sonraki satırda gösterir. Terminalini ya da komut satırını (cmd) açıp bunu yaz:
python
Python interactive shell açıldı ve Python kodunu (Python script) yazmanı bekliyor. >>> sembolünün yanına Python script'ini yazıp Enter'a basarak kodunu çalıştırmalısın. Şimdi Python Shell'deki ilk kodumuzu yazalım.
Tebrikler, Python Interactive Shell'deki ilk kodunu yazdın. Peki Python interactive shell nasıl kapatılır? Shell'i kapamak için >> sembolünün yanına exit() komutunu yazıp Enter'a bas.
Artık Python Shell'i açmayı ve kapamayı biliyorsun.
Python, kodu doğru biçimde yazdığında sonucunu döner. Aksi takdirde ise hatalar döner. Şimdi kasıtlı bir hata yapalım ve Python'un ne döneceğini görelim.
Dönen hatada gördüğün üzere Python bir hata yaptığımızı ve bunun Syntax Error: invalid syntax olduğunu anlayacak kadar zekidir. Çarpma için x kullanmak Python'da bir söz dizimi hatasıdır çünkü (x) Python'da geçerli bir fonksiyon değildir. Çarpma için (x) yerine yıldız işareti (*) kullanırız. Dönen hata, neyin düzeltilmesi gerektiğini açıkça gösterir.
Bir programdaki hataları tespit edip ortadan kaldırmaya debugging (hata ayıklama) denir. Şimdi x yerine * koyarak hatamızı debug edelim.
Hatamız düzeldi, kod çalıştı ve beklediğimiz sonucu aldık. Bir programcı olarak bu tür hataları günlük hayatta göreceksin. Hataları debug etmeyi bilmek önemlidir. Debugging'de iyi olmak için ne tarz hatalarla yüzleştiğini anlayabilmelisin. Karşılaşabileceğin bazı hatalar Sözdizimi Hatası(SyntaxError), İndeks Hatası(IndexError), İsim Hatası(NameError), Modül Bulunamadı Hatası(ModuleNotFoundError), Key Hatası(KeyError), İçe Aktarma Hatası(ImportError), Özellik Hatası(AttributeError), Veri Tipi Hatası(TypeError), Değer Hatası(ValueError), Sıfıra Bölme Hatası(ZeroDivisionError) vb. İleriki bölümlerde farklı Python hatalarını detaylı göreceğiz.
Şimdi Python interactive shell'i kullanmak için biraz daha pratik yapalım. Terminalini veya komut istemcini (cmd) aç ve python kelimesini yaz.
Python interactive shell açıldı. Şimdi herhangi bir Python kodu yazmadan önce basit matematik işlemleri (toplama, çıkarma, çarpma, bölme, mod alma, üs alma) yapalım:
- 2 + 3 5'tir
- 3 - 2 1'dir
- 3 * 2 6'dır
- 3 / 2 1.5'tir
- 3 ** 2 ile 3 * 3 aynı şeydir
Python'da bu ekstra operasyonlar mevcut:
- 3 % 2 = 1 => kalanı bulmak için kullanılır
- 3 // 2 = 1 => kalanı atarak bölme için kullanılır (tam bölme)
Şimdi yukarıdaki işlemleri Python koduna çevirelim. Önce shell'in başına bir yorum yazalım.
Yorumlar kodun bir parçasıdır ve python tarafından çalıştırılmaz. Yani kodumuzun daha okunaklı olması için açıklayıcı yorumlar bırakabiliriz. Python yorumları görmezden gelir. Python'da yorumlar # sembolüyle başlar. Python'da yorumlar işte bu şekilde yazılır
# yorumlar # işareti ile başlar
# bu bir python yorumu çünkü (#) işareti ile başlıyor
Sonraki bölüme geçmeden önce, Python interactive shell'de biraz alıştırma yapalım. Shell'i kapamak için exit() komutunu yaz ve sonrasında tekrar aç. Şimdi Python shell'de metin yazma pratiği yapalım.
Python interactive shell ufak kodları denemek için uygundur ama büyük projeler için kullanılmaz. Gerkçek iş ortamlarında, geliştiriciler kod yazmak için farklı kod editörleri kullanır. 30 günde Python programlama challenge'ında Visual Studio Code kullanıyor olacağız. Visual Studio Code çok popüler, açık kaynak bir text editor'dür. Ben de bir VS Code hayranıyım ve Visual Studio Code'u indirmeni öneririm ama farklı editörler kullanmak istiyorsan kendi editörünle de devam edebilirsin.
Visual Studio Code'u indirdiysen nasıl kullanıldığına bakalım. Videolu anlatımı tercih ediyorsan bu Python için Visual Studio Code Video öğreticiyi takip edebilirsin.
Visual Studio ikonuna çift tıklayarak programı açtığında bu tarz bir arayüz göreceksin. Simgelere tıklayarak arayüzü öğrenmeyi dene.
Masaüstünde 30GundePython adlı bir klasör oluştur ve Visual Studio Code kullanarak klasörü aç.
Klasörü açtıktan sonra dosya ve klasör oluşturmak için kısayollar göreceksin. Aşağıda da gördüğün gibi ilk dosyamı,helloworld.py, oluşturdum. Sen de aynısını yapabilirsin.
Kodlamayla dolu uzun bir günden sonra editörü kapatmak isteyeceksin, değil mi? Açık proje böyle kapatılır:
Tebrikler, geliştirme ortamını kurmayı tamamladın. Şimdi kodlamaya başlayalım.
Bir Python script'i, Python interactive shell'de veya bir kod editöründe yazılabilir. Python dosyalarının .py uzantısı vardır.
Girinti (Indentation), bir metindeki boşluktur. Birçok programlama dilinde girinti, kod okunabilirliğini artırmak için kullanılır; ancak Python’da kod blokları oluşturmak için girinti kullanılır. Diğer programlama dillerinde kod blokları oluşturmak için girinti yerine genellikle küme parantezler {} kullanılır. Python kodu yazarken en yaygın hatalardan biri yanlış girinti kullanımıdır.
Yorumlar (Comments), kodun okunabilirliğini artırmada ve geliştiricilerin kod içinde notlar bırakabilmesinde önemli bir rol oynar. Python’da # (hash) işareti ile başlayan herhangi bir metin, yorum olarak kabul edilir ve kod çalıştırıldığında görmezden gelinir.
Örnek: Tek Satırlık Yorumlar
# Bu birinci yorum
# Bu ikinci yorum
# Python is eating the world
Örnek: Çok Satırlı Yorumlar
Üçlü tırnak (''' veya """), bir değişkene atanmadığı sürece çok satırlı yorum olarak kullanılabilir.
"""Bu bir çok satırlı
yorum. Birden çok satırı kapsıyor.
python is eating the world
"""
Python’da birden fazla veri tipi (data type) vardır. Farklı veri türleri diğer bölümlerde detaylı olarak ele alınacaktır. Şu anda hepsini tam olarak anlamak zorunda değilsiniz. Şimdilik sadece farklı veri türlerine göz atalım ve onlarla tanışalım. Hadi en yaygın olanlarla başlayalım.
- Integer: Tam sayılar(negatif, sıfır ve pozitif tam sayılar) Örnek: ... -3, -2, -1, 0, 1, 2, 3 ...
- Float: Ondalıklı sayılar Örnek: ... -3.5, -2.25, -1.0, 0.0, 1.1, 2.2, 3.5 ...
- Complex Örnek 1 + j, 2 + 4j
Tek veya çift tırnak içinde bir veya daha fazla karakterin bir araya gelmiş hâlidir. Eğer bir string birden fazla satır içeriyorsa, üçlü tırnak kullanılır.
Örnek:
'Asabeneh'
'Finland'
'Python'
'Öğretmeyi seviyorum'
'Umarım 30DaysOfPython Challenge ilk günden keyif alıyorsunuzdur'
Boolean veri tipi, yalnızca True (Doğru) veya False (Yanlış) değerini alabilir. T ve F her zaman büyük harf ile yazılmalıdır. Örnek:
True # Işık açık mı? Açıksa değer True
False # Işık açık mı? Kapalıysa değer False
Python'da list, sıralı bir veri koleksiyondur ve farklı veri tiplerinden öğeleri saklamaya olanak tanır. Bir list, JavaScript’teki dizi (array) ile benzerdir.
Örnek:
[0, 1, 2, 3, 4, 5] # hepsi aynı veri tipi - sayılar listesi
['Banana', 'Orange', 'Mango', 'Avocado'] # hepsi aynı veri tipi - string listesi (meyveler)
['Finland','Estonia', 'Sweden','Norway'] # hepsi aynı veri tipi - string listesi (ülkeler)
['Banana', 10, False, 9.81] # farklı veri tipleri içeren list - string, integer, boolean ve float
Python dictionary, anahtar-değer (key-value) formatında sırasız bir veri koleksiyonudur.
Örnek:
{
'first_name':'Asabeneh',
'last_name':'Yetayeh',
'country':'Finland',
'age':250,
'is_married':True,
'skills':['JS', 'React', 'Node', 'Python']
}
Tuple, listler gibi farklı veri tiplerinden oluşan sıralı bir koleksiyondur ancak oluşturulduktan sonra değiştirilemezler. Yani immutable'dır (değiştirilemez).
Örnek:
('Asabeneh', 'Pawel', 'Brook', 'Abraham', 'Lidiya') # isimler
('Earth', 'Jupiter', 'Neptune', 'Mars', 'Venus', 'Saturn', 'Uranus', 'Mercury') # gezegenler
Set, list ve tuple’a benzer bir veri koleksiyonudur. Liste ve tuple’dan farklı olarak, set sıralı bir koleksiyon değildir. Matematikteki kümeler gibi, Python’daki set yalnızca benzersiz (unique) öğeleri saklar.
İlerleyen kısımlarda bütün Python veri tiplerini detaylıca göreceğiz.
Örnek:
{2, 4, 3, 5}
{3.14, 9.81, 2.7} # set'te sıra önemli değil
Bir verinin/değişkenin veri tipini kontrol etmek için type fonksiyonunu kullanırız. Aşağıdaki terminalde farklı python veri tipleri göreceksin:
Öncelikle 30GundePython klasörünü aç. Klasör henüz yoksa 30GundePython adında bir klasör oluştur. Klasörün içinde helloworld.py adlı bir dosya oluştur. Şimdi şu ana kadar Shell'de yaptıklarımızı Visual Studio Code kullanarak yapalım.
Python interactive shell, print kullanmadan çıktı verebiliyordu; ancak Visual Studio Code’da sonucu görmek için built-in print() fonksiyonunu kullanmamız gerekir. print() fonksiyonu, bir veya daha fazla argümanı şu şekilde alır: print('argument1', 'argument2', 'argument3')
Örnek:
Dosya adı: helloworld.py
# 1. Gün - 30GündePython Challenge
print(2 + 3) # toplama(+)
print(3 - 1) # çıkarma(-)
print(2 * 3) # çarpma(*)
print(3 / 2) # bölme(/)
print(3 ** 2) # üs alma(**)
print(3 % 2) # mod alma(%)
print(3 // 2) # Floor division operator(//)
# Veri tiplerini kontrol etme
print(type(10)) # Int
print(type(3.14)) # Float
print(type(1 + 3j)) # Complex (karmaşık sayı)
print(type('Asabeneh')) # String
print(type([1, 2, 3])) # List
print(type({'name':'Asabeneh'})) # Dictionary
print(type({9.8, 3.14, 2.7})) # Set
print(type((9.8, 3.14, 2.7))) # Tuple
Python dosyasını çalıştırmak için aşağıdaki görsele bak. Dosyayo Visual Studio Code’daki yeşil butona tıklayarak veya terminalde python helloworld.py yazarak çalıştırabilirsin.
🌕 Harikasın. Challenge'ın ilk gününü tamamladın ve başarıya doğru ilerliyorsun. Şimdi beynin ve kasların için biraz alıştırma yapalım.
-
Kullandığın python versiyonunu kontrol et
-
Python interactive shell'i aç ve aşağıdaki operasyonları 3 ve 4 sayıları için uygula.
- toplama(+)
- çıkarma(-)
- çarpma(*)
- mod alma(%)
- bölme(/)
- üs alma(**)
- tam(kalansız) bölme(//)
-
Aşağıdaki stringleri python interactive shell'de yaz.
- Adın
- Soyadın
- Ülken
- I am enjoying 30 days of python
-
Aşağıdaki verilerin veri tiplerini kontrol et.
- 10
- 9.8
- 3.14
- 4 - 4j
- ['Asabeneh', 'Python', 'Finland']
- Adın
- Soyadın
- Ülken
- 30GundePython klasörünün içinde gun_1 adlı bir klasör oluştur. gun_1 klasöründe helloworld.py adında bir python dosyası oluştur ve 1, 2, 3 and 4. soruları tekrarla. Python dosyasında çalışırken print() fonksiyonunu kullanmayı unutma. Dosyanı kaydettiğin klasörü aç ve çalıştır
- Farklı Python veri tipleri için örnekler yaz (Integer, Float, Complex, String, Boolean, List, Tuple, Set ve Dictionary)
- (2, 3) ve (10, 8) arasındaki Öklid uzaklığını bul
🎉 TEBRİKLER ! 🎉