PROGRAMLAMA DERSLERİ PYTHON 2

PROGRAMLAMA DERSLERİ PYTHON 2

Bu bölümde print komutunun farklı kullanım tekniklerini öğreniyoruz. Aynı zamanda değişkenler ve değişkene değer atama konusuna da değiniyoruz. Gelin Python derslerimizin ikincisine göz atalım.

Python'da print komutunu değişkenlerle kullanmak

Bu bölümde print komutunu bir değişken ile birlikte kullanacağız.  Python’da değişkenler ve değişkenlere değer ataması konusunu bölüm sonunda bulacaksınız. Dolaysıyla gerek programın içinde kodlara gömülü bir şekilde ya da klavye ile aktarılan veriyi bir değişkene atamış (assign) olmamız gerekir. Ardından print komutu ile çıkış alınmasını sağlarız. Bir stringi (karakter katarını) bir değişkene en basit nasıl atayabiliriz ve nasıl basabiliriz.

mesaj= “Bütün Giritliler yalan söyler”

print (mesaj)

Gördüğünüz gibi print komutu içine sade değişken adını koyduk. Ne bir çift tırnak ne de tek tırnak içine aldık. Değişkene atanmış değerleri ekrana çıkarmak (print) için değişken adını parantez içinde kullanmak yeterlidir.

Tek print komutu ile birden fazla değişkeni yan yana bastırabiliriz. Ancak değişkenlerin arasına çıkışta boşluk koymayı unutmamak gerekir. Bunun için de tırnak içinde boşluk karakteri yeterli olacaktır.

B1- O5

Aşağıda çıkışta gördüğünüz gibi birinci cümlenin ardındaki noktadan sonra bir boşluk bırakılmış yeni cümle basılmıştır. Yani iki değişken arasına tek karakterlik bir string (aslında bir boşluk) koyup iki değişkeni bastırdık.

B1 - O5C

Python'da bir karakter katarı içinde seçilen  karakterlerin basılması 

Bir stringin içinden bir ya da bir grup karakteri döndürmek için print komutu ile birlikte [] köşeli parantezleri kullanırız. Köşeli parantez içinde her bir karakterin sıra numarası olarak kullandığımız indis (endeks) numarasını kullanırız.

Bir değişkene karakter atayalım;

a= “Marmara Denizi”

print(a[3])

m

Karakter sırası hemen her programlama dilinde 0’dan başlar.  Python için de bu böyledir. Bu durumda indis (endeks) numarası 3 olarak verildiğine göre yukarıdaki print komutu bize m karakterini döndürecektir. 

print(a[-1] ifadesi en sondan birinci karakteri işaret eder. Aynı şekilde -2 ise en sondan ikinci karakter. Gördüğünüz gibi baştan (soldan) saymaya başladığımız zaman karakter katarının ilk karakteri 0 indis değerini alır. İkincisi ise 1 indis değerini alır. Eğer sağdan başlayacaksınız karakter kontrolüne sonuncu karakterin indis değeri -1 olur. Bir önceki karakter ise -2 indis değerini alır.

Bir de karakter katarından bir grup alarak basalım ekrana ve biraz önce açıklamasını yaptığımız konuları örnek kodlar ve çıkışlarıyla gösterelim.

print(mesaj1[0:5])

Bu komutta mesaj1 değişkeninde yüklü verinin ilk karakterini alıp tam beş karakter sayarak onları bir bütün olarak döndürürüz. İlk indis her zaman başlangıç olarak hesaba dahil edilir sonuncusu ise dahil edilmez. Örneği inceleyin.

B1 - O6

B1- O6C

B1 - O6 daki kodlamanın çıkışını B1-66C şeklinde inceleyebilirsiniz. Özellikle 8, 9 ve 10 satırları...

Tabi ki başlangıç karakterinden değil de ikinci ya da üçüncü karakterden itibaren de bir grup karakter seçip alabilirsiniz. O zaman indisin ilk rakamı almak istediğiniz yere göre değişecektir.

Örneğin print(mesaj1[2:5]) mesaj1 değişkeninde dpolu verinin üçüncü karakterinden itibaren beş karakter al ve hepsini ekrana yazdır. Neden iki değil de üçüncü karakter? Çünkü soldan başlangıç noktası her zaman 0 (sıfır) ile başlar demiştik. Yani sonuç “tün G” şeklinde dönecektir.

İndislerle ilgili print komutunda başka bir uygulamamız daha var elbette. Python, komutları oldukça faydalı şekillerde kullanabilen bir programlama dili olduğunu daha ilk derslerden görüyoruz.

print(mesaj1([::])

Belirlediğimiz bir aralıkla atlayarak stringi başından sonuna kadar tarar ve her kademede gördüğü karakteri basar.  print(mesaj1([::2]). : işaretinin soluna başlangıç değeri girilmediği için en baştan başlar, ikinci : işaretinin önüne herhangi bir değer girilmediği için en son değere kadar gidileceğini belirtir ve 2 bize her 2 karakterde bir gördüğünü yaz der. Eğer 2 ya da daha büyük bir indisi oraya yazmazsak varsayılan olarak teker teker alacak ve ekrana geri döndürecek. Elbette başlangıç karakteri olarak 0 indisi yazacak. Dediğimiz gibi başlangıç karakteri gözetilirken son karakter tamamen verilen indise göre belirleniyor ve katarın son karakteri indis değeri ile çakışıyorsa o da ekrana döndürülüyor yoksa son karakteri görmüyoruz.

Örneği inceleyin;

B1 - O7

B1 - O7C

Eğer yukarıdaki örnekte indiste bize her 2.karakteri bas demek yerine -1 koyarsak komut karakteri en sondan okumaya birer birer okumaya başlayacak ve o şekilde döndürecek. Bir diğer deyişle karakter tersten basılmış olacak. Komut yukarıdaki gibi başlar ve print(mesaj1[::-1] şeklinde olursa alacağımız çıkış da 9876543210 olacaktır.

Biraz daha sofistike işler yapalım ve print komutunun alt fonksiyonlarını kullanmayı öğrenelim. Unutmayın bu fonksiyon ya da metot kullanımı değişkenin değerini değiştirmez sadece o fonksiyon tarafından işlenir ve ona göre bir çıkış yazdırılır. Sistemin içinde kodladığımız gerçek değişken değişmeyecektir. Bir örnek verelim şimdi.

 

B1 - O8

Bir komutun fonksiyonlarını da kullanacağınız zaman eğer parametrik bir düzenleme yapmıyorsanız, aç kapa () şeklinde parantezlerle bitirmeyi unutmayın. Bunu yukarıda upper ve capitalize örneklerinde görüyorsunuz. Capitalize cümle kurallarına uygun bir yazım şekline geçirebilir. Cümleye yukarıda büyük harfle başlamış oluyoruz. Burada bir değişkenin içinde saklanan değer fonksiyonla değişime uğruyor ve sonra yine aynı değişken adıyla değişmiş haliyle saklanıyor. Seçim size ait eğer isterseniz orijinal veriyi saklayıp fonksiyondan geçirilmiş değeri bir başka değişkene de atayabilirsiniz.

B1 - O8C

Sırada print komutunu bir başka fonksiyonla kullanabileceğimiz çalışmamız var.  Bu herhangi bir verinin herhangi bir karakter(ler)le başlayıp başlamadığını (startswith) ya da bitip bitmediğini (endwith) öğrenebiliriz. Hangi karakter(ler)i kontrol edeceksek onu da fonksiyon sonrasında parantez ve tırnak içinde belirtmemiz gerekiyor. Burada programımızın büyük küçük harf ayırımı yaptığını unutmayın.

Örneğin :

B1 - O9

B1 - O9C

Burada aldığımız geri dönüş True ya da False bilgisi. Yani aradığımız şey var mı yok mu? Eğer varsa True yanıtını alıyoruz yoksa False. Program kodlarımızın akış içinde böylesi yanıtlara göre şekillendiği durumlar olacak. Bunlar elbette ileriki derslerimizin konusu olacak.

Bir stringin kaç karakterden oluştuğunu bilmek de programcıların çalışma sırasında bilmek istedikleri verilerden biri olabilir. Bunu da Yukarıdaki çalışmamıza yeni bir satır ekleyip mesaj değişkeninin kaç karakterden oluştuğunu öğrenebilirsiniz;

print(len(mesaj)) yazdığınızda size 38 yanıtını döndürecektir.

İki ayrı değişikenin uzunluğunu toplayarak öğrenmek için;

print(len(mesaj1+mesaj2)) şeklinde bir komut satırı uygulayabilirsiniz.  

Öte yandan farklı metin katarlarını yan yana yazdırmak isterseniz bu durumda;

print(mesaj1+mesaj2) yazdığınızda her iki değişkene atanan veriler yan yana yazılır. Araya boşluk koymak gerekiyorsa biraz önce de gösterdiğim üzere komutu

print(mesaj1 + “ “+ mesaj2) şekline dönüştürebilirsiniz.

Eğer ki bir metni birden fazla defe bastırmak istiyorsanız bu defa * işaretini kullanmanız gerekiyor. Çarp (*) işareti o değişkeni ne kadar istiyorsanız o kadar yan yana aralıksız bir şekilde basar.

print(“Merhaba” * 10)

Şimdi bu bölümü son ve faydalı bir örnekle kapatalım. Bu örnekte format fonksiyonunu kullanıyoruz. Format fonksiyonu için print komutu içinde süslü {} parantezleri kullanıyoruz. Bu parantezler tek başlarına kullanıldığı zaman ancak kendilerini ifade edebilmelerine karşın format komutu ile değişkenlerin basılacağı alanı belirlerler.

B1 - O10

Evet, print komutuyla bu güzel parantezlerin nasıl kullanıldığını öğrenmiş oldunuz. Unutmayın, format fonksiyonu için belirttiğiniz değişken sırası verilerin ekrana döndürülürken sırasını belirler.  Anlamlı çıkış için anlamlı dizilim gerekiyor format fonksiyonu içinde.

B1 - O11

Çift tırnak içinde metnin yazılımı için istediğimiz gibi oynayabiliyoruz. Yani hem değişken hem de doğrudan metin ekleyebiliyoruz. Bunu son bir örnekle pekiştirelim.

.

B1 - O11C

Gördüğünüz gibi özel isimden oluşan değişkene kesme işaretiyle ekleme yaptık ve değişkenlere bağlı (küme parantezleriyle birlikte) kendi cümlemizi oluşturmuş olduk. Unutmayın format fonksiyonunu print komutu parantezi içinde ancak tırnak dışında kalan bölümde . (nokta) ile devam ederek oluşturuyoruz

Benzer işlemi format fonksiyonunu kullanmadan da yapabiliriz. Bunu print komutunda parantez içine önce bir f koyarak yapabiliriz. Yukarıdaki son komutun yaptığı işi farklı bir yolda yapabilecek yeni bir notasyon.

print(f “{isim1} {isim2}’a merhaba dedi…”)

Yukarıdaki print(f...    notasyonuyla “” işaretleri sonuna koyduğumuz format fonksiyonu ortadan kalktı.

Parantez içinde f fonksiyonu bunun bir format fonksiyonu olduğunu anlar ardından “ tırnak açıp içine biraz önce yazdığımız küme parantezleriyle içine değişken adını koyarız. Böylece küme parantezleri değişkenlerin değerlerini basan kolay, işlevsel bir komuta dönüşmüş oldu.

Benim süslü parantez dediğim küme parantezlerinin konumları çıkış formatını belirler. Yani aralarını ne kadar açarsanız o kadar aralıklı çıkış alırsınız. Şimdi yazımızın en başında değindiğimiz konuyu da aydınlatalaım. 

Python'da değişkenler ve değer atama;

İçinde veri sakladığımız tipini, ismini programcının belirlediği bellek alanlarına değişken (variable) denir. Bu bilgiler bilgisayarın geçici belleğinde tutulur. Bir değişken kullanılmasından önce programın herhangi bir yerinde tanımlanabilir. Değeri atama için =  operatörünü kullanırız. Örneğin; toplam = 0 , toplam değişkenine 0 değerini atamıştır. Ya da isim = "Kahraman Asker" 

Python aynı zamanda = komutu ile birden fazla değişkene aynı satırda değer atayabilir. a=b=c=d=99 gibi.

Unutmayın eşitliğin sol tarafında değişken sağında değeri vardır. 

Python da veri tipinin belirtilmesine gerek yoktur. Python veri tipini belirleme işlemini kendisi otomatik olarak yapar. Yani her veri aslında bri veri tipine sahiptir ve Python'dan bunu type() fonksiyonunu kullanrak öğrenebilirsiniz. 

Mantıksal sorgulamalar bool veri tipinide sonuç üretir. String (metinsel ifadeler) str veri tipinde sonuç üretir. Sayısal verilere gelince üç farklı veri tipinde depolanırlar. Tamsayır int  kesirli sayılar float  ve karmaşık sayılar için complex. 

 

Levent Aslan

27.02.2026 22:52:26
Levent ASLAN

Levent ASLAN

Yazar

İlginizi çekebilecek diğer içerikler

PROGRAMLAMA DERSLERİ PYTHON 1 TEKNOLOJİ

PROGRAMLAMA DERSLERİ PYTHON 1

DRONE ÖZELLİKLERİ TEKNOLOJİ

DRONE ÖZELLİKLERİ

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ TEKNOLOJİ

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

DRONE DÜNYASINA GİRİŞ TEKNOLOJİ

DRONE DÜNYASINA GİRİŞ

Yorum Yap