Skip to content

30 günde Python programlama challenge, Python programlama dilini 30 gün içinde adım adım öğrenmenizi sağlayan bir kılavuzdur. Bu challenge’ı tamamlamak 100 günden fazla da sürebilir, önemli olan kendi hızınızda ilerlemenizdir. Şu videolara da göz atabilirsiniz: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw

Notifications You must be signed in to change notification settings

zeynepsturan/30-Days-Of-Python-TR

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐍 30 Günde Python

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 🧡🧡🧡

Daha fazla eğitim içeriği için yazara destek ol.
Paypal Logo

30 Günde Python: 1. Gün - Giriş

Twitter Follow

Yazar: Asabeneh Yetayeh
İkinci Versiyon: Temmuz, 2021

🇧🇷 Portuguese 🇨🇳 中文

2. Gün >>

30DaysOfPython

📘 1. Gün

Hoşgeldin

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.

Giriş

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.

Neden Python?

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.

Geliştirme Ortamının Kurulumu

Python'u Yükleme

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.

installing on Windows

macOS kullanıcısı isen kırmızı içine alınan butona tıkla.

installing on Windows

Python’un cihazında yüklü olup olmadığını kontrol etmek için, terminaline aşağıdaki komutu yaz.

python --version

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 Shell

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 Scripting Shell

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.

Python script on Python shell

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.

Exit from python shell

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.

Invalid Syntax Error

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.

Fixing Syntax Error

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 Scripting Shell

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

Maths on python shell

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.

Writing String on python shell

Visual Studio Code'u yükleme

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

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 Code nasıl kullanılır?

Visual Studio ikonuna çift tıklayarak programı açtığında bu tarz bir arayüz göreceksin. Simgelere tıklayarak arayüzü öğrenmeyi dene.

Visual studio Code

Masaüstünde 30GundePython adlı bir klasör oluştur ve Visual Studio Code kullanarak klasörü aç.

Opening Project on Visual studio

Opening a project

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.

Creating a python file

Kodlamayla dolu uzun bir günden sonra editörü kapatmak isteyeceksin, değil mi? Açık proje böyle kapatılır:

Closing project

Tebrikler, geliştirme ortamını kurmayı tamamladın. Şimdi kodlamaya başlayalım.

Python Temelleri

Python Sözdizimi

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.

Python Girintileri

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.

Indentation Error

Yorumlar

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
"""

Veri Tipleri

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.

Sayılar

  • 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

String

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'

Booleanlar

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

List

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

Dictionary

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

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

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

Veri Tiplerini Kontrol Etme

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:

Checking Data types

Python Dosyası Oluşturma

Ö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. Running python script

🌕 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.

💻 Alıştırmalar - 1. Gün

Alıştırma: 1. Seviye

  1. Kullandığın python versiyonunu kontrol et

  2. 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(//)
  3. Aşağıdaki stringleri python interactive shell'de yaz.

    • Adın
    • Soyadın
    • Ülken
    • I am enjoying 30 days of python
  4. Aşağıdaki verilerin veri tiplerini kontrol et.

    • 10
    • 9.8
    • 3.14
    • 4 - 4j
    • ['Asabeneh', 'Python', 'Finland']
    • Adın
    • Soyadın
    • Ülken

Alıştırma: 2. Seviye

  1. 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

Alıştırma: 3. Seviye

  1. Farklı Python veri tipleri için örnekler yaz (Integer, Float, Complex, String, Boolean, List, Tuple, Set ve Dictionary)
  2. (2, 3) ve (10, 8) arasındaki Öklid uzaklığını bul

🎉 TEBRİKLER ! 🎉

2. Gün >>

About

30 günde Python programlama challenge, Python programlama dilini 30 gün içinde adım adım öğrenmenizi sağlayan bir kılavuzdur. Bu challenge’ı tamamlamak 100 günden fazla da sürebilir, önemli olan kendi hızınızda ilerlemenizdir. Şu videolara da göz atabilirsiniz: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.7%
  • CSS 2.7%
  • HTML 2.6%