Bu derste Python dili ile geçen derslerde atladığımız bazı bilgileri ele alacağız.
print
Seçenekleri
Şu ana kadar yazdırma fonksiyonu olarak print()
ile bir satırda birkaç farklı item yazabileceğimizi, aralarına boşluk koyabileceğimizi gördük. Ama print fonksiyonunda bir kaç anahtar kelimeyi argüman olarak kullanarak yazdrıma işlemini ihtiyaçlarınıza göre şekillendirebilirsiniz.
-
- Boşluk karakteri yerine ayırıcı olarak, örneğin
S
, stringi koymak için argüman olaraksep = «S»
kullanırız. - Satır sonu karakteri yerine başka bir, örneğin
S
, stringi koymak için argüman olarakend = «S»
kullanırız.
- Boşluk karakteri yerine ayırıcı olarak, örneğin
Bu yeni özelliği anahtar kelime argümanları, birkaç örnekte görelim.
Anahtar kelime argümanları argüman listesnin en sonunda yer almalıdır, yoksa hata oluşur. Eğer ikisini birlikte kullanıyorsanız, sıra farketmez istediğinizi önce yazabilirsiniz.
Geçerli Değişken/Fonksiyon İsimleri
- İsimler harfler, sayılar ve altçizgiden (
_
) oluşabilir. - İsimlerin ilk karakterleri harf olmalıdır.
- Python büyük harf küçük harf ayrımı yapar.
Yani benim_3üncü_sayım
geçerli bir değişken adı iken 3üncü_sayı
değildir.
Azalanfor
Döngüleri & Diğer Artışlar
Artan sıralı sayılar boyunca for
döngüsünün nasıl yinelemeye devam ettiğini anlatmıştık:
Çoğu zaman for
döngüsünü azalan sıralı sayılarla yazmak gerekir (büyükten küçüğe). Bunu yapabilmek için range
ile bir argüman daha kullanırız; step:
Bir an dikkat ederseniz, aslında range(0, 5)
ile range(0, 5, 1)
formülünün aynı şey olduğunu görürsünüz: artış birer birer gerçekleşir, her seferinde 1 artarak ilerler. Herhâlukârda dikkat etmemiz gereken şey range(start, stop, step)
en son noktadan yani stop
noktasından bir önce yineleme durur. Daha fazla bilgiyi For more information you can see the Python elkitabında. bulabilirsiniz.
Benzer şekilde string[x:y:2]
kullanarak substringi x, x+2, x+4, ...
karakterleri ile veya string[y:x:-1]
ile substringi tersten yazılmış olarak alabiliriz (y
> x
ise).
Bir for
döngüsü ile azalan sırada range almak için reversed(range(x, y))
, kullanırız, böylece işlem y-1
'den başlayarak x
'e doğru azalan sırada gider.
Daha Küçük Kod Yazmak
Python bize daha kısa kod yazma imkânları da verir, burada birkaç tanesini göreceğiz.
Bu web sayfasında biz bu özellikleri her zaman kullanmıyoruz, çünkü bunlar bazen kodu okumayı zorlaştırıyor. |
Atama Operatörleri
Python "x += 1
" yazmamıza izin verir ve anlamı "x
sayısına 1 ekle" olur. Aşağıda göreceğimiz gibi bu yazım ile "x = x + 1
" aynı anlama gelir:
Benzer olarak, sayılarla işlem yaparen (//=
) bölme, modulus (%=
), ve kuvvet (**=
) işlemcilerini kullanabiliriz.
Satır İçi Bloklar
Daha önce bazı ifadelerin ilk satırlarını takiben kodu girintilenmiş blokla yazmamız gerektiğini görmüştük: for
, if
, else
, elif
, while
, vedef
, örneğin:
if x==y: «blok» #girinti yaptık, birkaç satır olabilirÖzel bir durum olarak
«blok»
sadece 1 satır uzunluğunda ise, Python şu sentaksa izin verir:
if x==y: «blok» #tek satırBir örnek yapalım:
Bunun da sınırları var ama: iki nokta üstüste ile birleştirilmiş blok (if
, for
, vb) satır içi blok olarak kullanılamaz. Mesela, if 2>1: if 4>3: print()
sentaks hatası verir.
Çoklu Atamalar
Python tek ifadeyle iki atama yapmaya izin verir:
Bu kullanım sayesinde yer değiştirme alıştırmasında tek satırla soruyu çözebiliriz!
Karşılaştırma Zinciri
Python birden fazla karşılaştırmayı birleştirmeye de izin verir:
v
'lerin değer c
'lerin karşılaştırma olduğu herhangi bir v1 c1 v2 c2 v3 ...
zinciri, (v1 c1 v2) ve (v2 c2 v3) ve...
ile aynı şekilde işleme konur.
[:]
ve range()
için Varsayılan Değerler
Substring operatörünü [:]
kullanırken başlangıç veya bitiş değerlerinden birini yazmayabiliriz. (Gelecek derste göreceğiniz gibi, bu listeler için de geçerlidir.) Stringin varsayılan ilk indeksi 0
(stringin başlangıcı) ve varsayılan son indeks de stringin uzunluğudur (karakter sayısıdır). Aynı şekilde, range(n)
de range(0, n)
yapısının kısaltılmışıdır.
None
Bazı fonksiyonların asıl etkisi bir değer döndürmektir, abs(x) gibi
. Ama etkileri itibariyle daha değerli diğer fonksiyonlar, print()
gibi, yine de varsayılan None
değerini döndürebilirler:
Burada None
Python tarafından genel amaçlı bir yer tutucu (placeholder) olarak kullanılan özel bir değerdir. Eğer type(None) komutunu verirseniz, göreceksiniz ki None
için bile bir tip tanımlı, NoneType
. Buraya kadar gelmişken bir type değişkeninin tipine bakalım:
Şimdiki alıştırmada type
ve print
kullanılarak yazılmış uzun bir komutun sonuçlarını dikkatle izlemenizi isteyeceğiz.
print(type(print(type(type(print(print()))))))
komutunun çıktısı 4 satırdan oluşur. Bunları doğru şekilde sıralayalım.- <class 'NoneType'>
- None
- «blank line»
- <class 'type'>
Şimdilik ipuçlarımız bu kadar. Bir sonraki derse geçmeye hazırız!