Deyim (Statement) Kavramı
10667
Bir programlama dilinde çalıştırma birimlerinde deyim yani statement
demekteyiz. Imperative dillerde program aslında deyimlerin çalışması ile
çalıştırılır. Python implementasyonları da yukarıdan aşağıya deyimleri tek
tek çalıştırır. C, C++, Java, C# gibi bir çok dilde main ya da Main
isimli özel bir fonksiyondan çalışmaya başlanır.
Python’da ise kod main gibi bir yerden değil en tepeden çalışmaya başlar.
Deyimler, iki gruba ayrılır:
Basit Deyimler (Simple Statements)
Bileşik Deyimler (Compound Statements)
Python’da basit deyimler tek parçadan oluşur. Tek satıra yazılabilmektedir. Bileşik deyimler ise birden fazla parçadan oluşan ve tek satır üzerine yazılamayan ya da yazılmak zorunda olmayan deyimlerdir.
Basit deyimlerin en önemli özelliği birden fazla basit deyimin aynı satıra
aralarına ; atomu getirilerek yazılabilmesidir.
Ancak bileşik deyimlerle diğer deyimler hiçbir zaman aynı satıra yazılamaz.
Örneğin if, for gibi deyimler Python’da bileşik deyim grubundadır.
Her iki deyim kategorisinin de çeşitli biçimleri vardır.
Expression Statement (İfade Deyimi) (İfadesel Deyim)
Bir ifade, programın parçası haline getirildiğinde aslında artık bir deyim olur. Bunlara ifadesel deyim diyoruz.
print(z)
intput('giriniz:')
Bu iki deyim ifadesel deyimdir. Bir ifadeyi bir satıra yazdığımızda artık o ifade bir deyim haline gelmektedir. Elbette ifadeler başka deyimlerin parçası olabilir.
if val % 2 == 0:
print('çift')
else:
print('tek')
Burada if cümlesinin tamamı tek bir deyimdir. val % 2 == 0 bir ifadedir
ancak burada deyim değildir. İfade, bağımsız satıra yazılınca deyim olur.
Atama bir deyimdir
Bunu önceden de söylemiştik. Python’da atama işlemi aslında bir operatör değil bir deyimdir. Buna atama deyimi yani assignment statement denir.
x = 10 # Atama deyimi
y = 20 # Atama deyimi
z = x + y # Atama deyimi
print(z) # İfadesel deyim
Yukarıdaki deyimlerin hepsi basit deyimdir. İstersek tek satıra da yazabiliriz:
x = 10; y = 20; z = x + y; print(z)
Bileşik deyim kuralları
10725
Her dilin bileşik deyimler iin farklı kuralları vardır. Örneğin C, C++, Java
ve C# gibi dillerde bloklama tekniği, {}, kullanılır.
Python’da ise bloklama için girinti düzeyi, indent level, kullanılır.
if koşul:
ifade1
ifade2
ifade3
ifade4
Dediğimiz zaman ifade1, ifade2, ifade3 aynı girinti düzeyinde olduğundan
bileşik deyimin bir parçası olur. ifade4 ise if deyiminin dışındadır.
Fakat
if koşul:
ifade1
ifade2
ifade3
ifade4
geçersiz bir yazımdır. Bileşik deyim içersindeki deyimlerin aynı girinti düzeyinde olması gerekir.
Python’da bileşik deyimler genel olarak bir anahtar sözcük ile başlatılır,
sonra bunu bir ya da birden fazla ifade izler sonra da bir : atomu
bulundurulur.
Suit kavramı
10765
Python’da bileşik deyimin anahtar sözcüğü ile aynı satıra yazılan birden fazla basit deyime ya da farklı satırlara aynı girinti düzeyi ile yazılan birden fazla deyime suit denmektedir. Python’da pek çok deyim bir suit içerir.
Örneğin:
while ifade: ifade1; ifade2; ifade3 dediğimiz zaman ifade1, ifade2 ve
ifade3 bir suit belirtir.
while ifade:
ifade1
ifade2
ifade3
Burada da yine aynı şekilde ifade1, ifade2 ve ifade3 bir suite
belitir.
while ifade: ifade1
ifade2
ifade3
Burada ise ifade1, ifade2 ve ifade3 bir suit belirtmez. Çünkü anahtar
sözcük ile aynı satırda değil ya da farklı satırlara yazılmış aynı girinti
düzeyinde değildir.
while ifade:
ifade1
ifade2; ifade3
Burada yine bir suite vardır.
while ifade:
ifade1
ifade2
ifade3
Burada ise bir suite belirtmez çünkü aynı girinti düzeyinde değildir.
Arada boş satırlar olması sıkıntı değildir.
while ifade:
ifade1
ifade2
ifade3
ifade4
Bunlar da bir suit yazımıdır.
Not
suite olayının ne işe yaradığını ileride göreceğiz.
10819