0:00
Herkese merhaba. Python dünyasında yeni
0:02
adım atanların ya da bilgilerini şöyle
0:04
bir tazelemek isteyenlerin en çok
0:05
zorlandığı konulara odaklanıyoruz.
0:07
Sınavlarda karşınıza çıkabilecek o temel
0:09
ama kritik noktaları gelin birlikte adım
0:12
adım çözelim. Aslında bu işin sırrı
0:14
sadece kodun ne yaptığını bilmek değil.
0:17
Asıl mesele neden o şekilde çalıştığını
0:20
anlamakta. İşte biz de bugün tam olarak
0:22
bu nedenlerin peşine düşeceğiz ve sizi
0:24
bir sonraki seviyeye taşıyacağız. Ve ilk
0:27
durağımız belki de en önemlisi çalışma
0:29
alanımızı hazırlamak. Biliyorsunuz
0:32
sağlam bir başlangıç yapmak ve gelecekte
0:34
başımızı ağrıtacak bir sürü sorunu en
0:36
baştan engellemek için projemize temiz,
0:39
düzenli bir ortam kurmamız şart. Sanal
0:41
ortamı şöyle düşünün. Her projeniz için
0:43
özel olarak hazırlanmış ayrı bir alet
0:45
çantası. Bir projenin aletleri diğerine
0:48
asla karışmıyor. Böylece her şey tıkır
0:50
tıkır sorunsuz çalışıyor. İşte sanal
0:52
ortamların çözdüğü o en büyük kabus tam
0:55
olarak bu. Düşünün ki bir projeniz eski
0:58
bir kütüphane sürümüne diğeri ise en
1:00
yenisine ihtiyaç duyuyor. Sanal ortamlar
1:02
olmasaydı bu tam bir kaosa yol açardı.
1:05
Ama neyse ki onlar sayesinde her proje
1:08
kendi küçük dünyasında tam bir uyum
1:10
içinde çalışabiliyor. Tamam çalışma
1:12
alanımız hazır olduğuna göre şimdi kodun
1:14
kalbine inelim. Verileri sakladığımız
1:16
değişkenler ve onlara yön veren temel
1:18
kurallar. İşte size en klasik acemi
1:21
hatalarından biri. Python'ın kendine
1:23
ayırdığı özel komutları değişken adı
1:25
olarak kullanmak. Bakın if, for ya da
1:28
buradaki örnekteki gibi elif gibi
1:30
kelimeler dilin temel yapı taşları.
1:33
Onları kendi değişkenleriniz için
1:34
kullanmaya kalkarsanız Python'ın kafası
1:36
karışır ve kodunuz çalışmaz. Bu kadar
1:38
basit. Hadi bakalım size küçük bir test.
1:41
Bu programlamaya yeni başlayanların
1:43
neredeyse her zaman karşılaştığı bir
1:46
durum. Python'ın kullanıcıdan aldığı
1:48
veriyi sizce nasıl gördüğünü bir an
1:50
düşünün. Bu işlemin sonucu ne olabilir?
1:53
Ve cevap tabii ki bir hata. Buradaki en
1:56
kritik nokta şu. Python için
1:59
kullanıcının girdiği 10 bir sayı değil.
2:02
O sadece 1 ve 0 karakterlerinden oluşan
2:05
bir metin. Yani elma kelimesinden bir
2:07
farkı yok. E bir metinle sayıyı
2:09
matematiksel olarak toplamaya çalışınca
2:11
da doğal olarak bir type error yani tip
2:14
hatası alırsınız. Tıpkı okulda
2:16
öğrendiğimiz matematikte olduğu gibi
2:18
Python'ın da bir işlem önceliği sırası
2:21
var. Mesela üs alma işlemi her zaman
2:24
çarpmadan ve bölmeden önce yapılır. Bu
2:27
basit kuralı unutmak kodunuzda fark
2:29
etmesi gerçekten zor hatalara yol
2:31
açabilir. Aman dikkat. Şimdi de kodumuza
2:34
adeta bir beyin eklemeye geldik. Yani
2:37
ona nasıl karar vereceğini ve bazı
2:39
şeyleri nasıl tekrar edeceğini
2:41
öğreteceğiz. Konumuz akış kontrolü. İşte
2:45
programlamadaki iki temel mantık karar
2:47
vermek ve tekrar etmek. If, elif ve else
2:50
komutları kodunuza bir yol ayrımında
2:53
hangi yöne gideceğini söyler. Yani bir
2:55
karar aldırır. For döngüsü ise tamamen
2:58
farklı bir iş yapar. Bir işlemi
3:00
bıkmadan, usanmadan defalarca tekrarlar.
3:03
Bu ikisinin görevlerini karıştırmamak
3:05
çok önemli. Python'ın bu compact ifels
3:08
yazım şekli hem çok havalı hem de çok
3:10
kullanışlı. Bakın, not değeri 85 olduğu
3:12
için 45'ten küçük mü koşulu yanlış
3:15
çıkıyor. Yani sağlanmıyor. Bu yüzden kod
3:17
else kısmına atlıyor ve ekrana geçer
3:19
yazdırıyor. Hem hızlı hem de okuması çok
3:21
kolay. Şimdiye kadar hep tekil verilerle
3:24
uğraştık. Peki ya verileri gruplar
3:26
halinde düzenli bir şekilde saklamak
3:29
istersek ne olacak? İşte tam da bu
3:31
noktada Python'ın o güçlü veri yapıları
3:33
devreye giriyor. Peki şimdi ekrandaki şu
3:36
koda bir göz atın. Sizce bu komutu
3:38
çalıştırdığımızda ne olacak? Bir
3:40
tahmininiz var mı? Cevap bir sonraki
3:43
slaytta. Bakalım kimler doğru bilecek.
3:45
Ve yine bir type error. Demekti işin püf
3:47
noktası şuymuş. Normal parantezlerle
3:50
oluşturulan tıp yani demetler bir kere
3:52
yaratıldıktan sonra asla ama asla
3:55
değiştirilemezler. Mühürlenmiş
3:57
gibidirler. Bu yüzden içindeki bir
3:59
elemanı değiştirmeye çalışmak kural
4:01
ihlalidir ve hatayla sonuçlanır. Gelin
4:03
bu üç temel yapıyı aklımıza kazıyalım.
4:06
değiştirebileceğiniz esnek koleksiyonlar
4:08
için köşeli parantezli listeler. Bir
4:12
kere oluşturunca asla değişmeyecek sabit
4:15
veriler için normal parantezli demetler.
4:18
Ve son olarak her bir veriyi bir
4:20
anahtarla etiketlediğimiz süslü
4:22
parantezli sözlükler. Sadece hangi
4:25
parantezin ne işe yaradığını bilmek bile
4:28
size çok şey katacak inanın bana.
4:30
Dilimleme yani slicing Python'ın en
4:33
güçlü ve eğlenceli özelliklerinden biri.
4:35
Bu örnekteki ters bir ifadesi ilk başta
4:38
biraz sihir gibi görünebilir ama aslında
4:40
mantığı çok basit. Diyor ki baştan başla
4:42
sona kadar git ama adımlarını geriye
4:44
doğru at. İşte bu kadar. Bu sayede bir
4:47
metni veya listeyi tersine çevirmek
4:49
çocuk oyuncu haline geliyor. Peki madem
4:51
listeler değiştirilebilir o zaman bunu
4:54
nasıl yaparız? Elimizdeki bu listenin
4:56
tam olarak en başına yeni bir eleman
4:58
eklemek istesek hangi komutu
5:00
kullanmalıyız? Hadi bir düşünün bakalım.
5:02
Doğru cevap A. ınsert 0,1. Bakın, append
5:06
metodu elemanı sadece sona ekler ama
5:09
ınsert metodu bize cerrah hassasiyetiyle
5:12
kontrol imkanı sunar. Diyoruz ki 0ın
5:15
indekse yani en başa bir elemanını
5:18
yerleştir. İşte bu kadar net. Gerçekten
5:21
harika bir yol katettik. Şimdi
5:23
öğrendiğimiz her şeyi bir araya
5:24
getirelim ve aklımızda kalması gereken
5:27
en kritik noktaları şöyle bir
5:29
özetleyelim. Ne dersiniz? İşte bu sizin
5:31
kişisel kontrol listeniz. Bu dört kritik
5:34
nokta sizi sayısız hatadan kurtaracak ve
5:37
çok daha temiz, çok daha güvenilir
5:39
kodlar yazmanızı sağlayacak. Unutmayın
5:41
bunlar sadece birer kural değil, aynı
5:44
zamanda iyi bir programcının en temel
5:45
alışkanlıklarıdır. Ve geldik sona.
5:48
Unutmayın bu bilgilerin asıl değeri
5:50
onları kullandığınızda ortaya çıkar.
5:52
Artık kuralların arkasındaki o sihirli
5:55
neden sorusunun cevabını biliyorsunuz.
5:57
En büyük güç bu. Şimdi sıra sizde.
6:00
Yaratıcılığınızı serbest bırakın ve
6:02
kodlamaya başlayın. Merak ediyorum inşa
6:05
edeceğiniz ilk şey ne olacak?