Merhaba Python Print() ve Kaçış Dizileri yazısını okuyan ziyaretçi! :)

Önceki yazımızda Değişkenler ve Veri Tiplerini görmüştük. Bu yazımda ise print() ile ekrana yazı yazdırmayı ve kaçış dizelerini öğreneceğiz.

IDLE aracını aç ve alt satıra geç ;)


Print() komutu, değişkenleri, işlemleri yada metinleri ekrana yazdırmanı sağlar. Önceki yazımda değişkenleri görüştük. Hatırla! Değişkeni nasıl oluşturuyorduk? Ve nasıl değişkenin değerini yazdırıyorduk? q = 5 demişsek, q çalıştırıyorduk evet :)

Şimdi beraber bir metin yazalım ekrana.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> print ('hello world!')
hello world!
>>> 
Python2.x'de tırnak işaretlerine gerek duyulmuyordu ama Python3'de kullanmadığında hata alırsın.

Bir değişken belirleyip, değişkeni metin içerisinde kullanalım.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> link = 'dersler.hackeradana.org'
>>> print ('Python dersleri', link, 'adresinde!..')
Python dersleri dersler.hackeradana.org adresinde!..
>>> 
link değişkenine, şu an bulunduğunuz adresi yazdım. print ile virgül(,) işareti ile metinleri ayırarak devam ettim ve adresi yazdırmak istediğim yere değişkenin adını yazdım.

Ama! print() ile matematiksel işlemleri yazdırmak istediğinde; virgül değil, işlemin işaretini yazmalısın.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> a = 3
>>> b = 8
>>> c = 14
>>> print (a+c)
17
>>> print ((a+b)*c)
154
>>> 
Eğer bir değişkenin ismini tırnak içine alırsanız değişken olmaktan çıkar ve metin olarak algılanır. Haliyle ekrana yansıtılır. Şimdi satırlara bir bakalım.
  • İlk satırda a değişkenine 3 değeri atadım.
  • İkinci satırda b değişkenine 8 değeri atadım.
  • Üçüncü satırda c değişkenine 14 değeri atadım.
  • Dördüncü satırda a+c işlemini yaptırdım. a, 3'ü; b, 8'i temsil ettiği için sonuç 17 döndü.
  • Beşinci satırda ise parantez içinde a+b işlemini yaptırdım. Sonucu ise c değeriyle çarptırdığım için sonuç 154 çıktı.

Şimdi şu komutun çıktısını tahmin etmeye çalış bakalım! Ama tahmin etmeden açıklamasına bakma, kendini kandırma.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> a = 10
>>> b = 35
>>> print ('Mehmet ile babası arasındaki yaş farkı', b-a, 'dir.')

Çıktısı aşağıdaki gibidir.
Mehmet ile babası arasındaki yaş farkı 25 dir.
Çıktı da dikkatini bir şey çekti mi? -dir tırnak ile ayrılarak yazılır :) Ama zaten tırnak kullandık? O tırnak metni belirten tırnak desek, bir tırnak daha atarsak sorun çözülür mü? Hadi dene!
print ('Mehmet ile babası arasındaki yaş farkı', b-a, ''dir.')

Hata aldın mı? Alırsın tabi :) Tırnak işaretiyle paranteze başladığın için cümle içinde tırnak kullanamazsın. Eğer cümle içinde tırnak kullanmak istiyorsan, çift tırnak (") ile başlaman gerekiyor; Yada (\')  :)
print ('Haziran\'da ölmek zor..')

Çıktısı hata mesajı olmayacak.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> print ('Haziran\'da ölmek zor..')
Haziran'da ölmek zor..
>>> 
Sadece tırnak işareti yerine \' ekledim ve devam ettim.


Bu 3 kelimeyi alt alta yazmaya ne dersin? Yani diğer bir değişle, satır başı yaparak kelimeleri yazdıralım. Bunun için \n kullanıyoruz. Yapman gereken satır başı istediğin yere \n ibaresini eklemek. Bu arada biz şu an kaçış dizilerini konuşuyoruz :)
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> print ('Haziran\'da\nÖlmek\nZor')
Haziran'da
Ölmek
Zor
>>> 
\n ibareleri dikkatini çekmiş olmalı. Elbette alt alta kelime yazdırmak için kullanacak değilsin \n ibaresini. Örneğin şu dizeleri ekrana yazdırmayı dene!
Dökmeye niyetim yok içimi,
zor sığdırdım zaten..
Bunu; her bir satır için bir print() kullanarak yapabilirsiniz. Ama neden yorulasınız ki? \n ile tek komutla iki satır yada daha fazlasını yazdırabilirsiniz.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> print ('Dökmeye niyetim yok içimi,\nzor sığdırdım zaten..')
Dökmeye niyetim yok içimi,
zor sığdırdım zaten..
>>> 


Dökmeye niyetim yok.. derken, oraya biraz girinti eklesek nasıl olur? Biraz sağa doğru kaysa? TAB'a basmış gibi? Neyse ki \t var :)
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> print ('\tDökmeye niyetim yok içimi,\n\tzor sığdırdım zaten..')
 Dökmeye niyetim yok içimi,
 zor sığdırdım zaten..
>>> 
\n\t eklemişim ikinci dizenin başına :) Demek ki aynı anda ikiside aynı anda kullanılabiliyor.


Yahu kardeşim, yok mu şöyle rahat rahat yazabileceğimiz bir yerler? Der misiniz?  Dediyseniz var. Hiç bir dizi kullanmadan girintileri ve satırları algılayan 3 çift tırnağımız(""") var :)
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> print ("""
Programlama hakkında her şey bu adreste!

dersler.hackeradana.org

""")

Programlama hakkında her şey bu adreste!

dersler.hackeradana.org


>>> 
Şu an bunlar gereksiz gibi görünebilir tabi :) Ama ileride çok işinize yarayacak. Siz Hapf-GTK aracının sürüm notları kısmında ne kullanılıyor sanıyorsunuz ;)

Bu 3 çift tırnağı değişkenlerde de kullanabiliriz. Örneğin bir değişkene uzun bir metin atayabiliriz.

Hatta! Bu 3 çift tırnak aynı zamanda Python'da açıklama satırı olarak da geçer. Herhangi bir satıra 3 çift tırnak ekleyip; açıklamanızı yazdıktan sonra kapatırsanız tırnağı, yorum satırı olarak algılanır ve okunmadan geçilir.


Hmm..  Oldu da; cümle içinde \ kullanmamız gerekiyor. hata mesajına razı mı geleceğiz? Haaayıır! Bu cümleden şunu çıkarma; lan ben bunu eklesem hata mı alırım? Nayır! Küçük bir örnek.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print ('C:\\trabzon\niğde\tunceli.txt')
C:\trabzon
iğde unceli.txt
>>> 
Klasörlerin dosyaların isimlerinin saçmalığına bakın! :) Dosya yolunu belirtiyordum, neler geldi başımıza! Harfleri de yuttu üstelik :)
Buradan şu sonucu çıkarmalıyız. Eğer (\) işareti kullanıyorsak, sonraki harfe dikkat etmeliyiz. Çözüm çok basit. Bir değil iki ekleyeceğiz ;)

Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print ('C:\\trabzon\\niğde\\tunceli.txt')
C:\trabzon\niğde\tunceli.txt
>>> 
İstediğimiz sonucu elde ettik. Kaçış dizilerine denk gelmediği halde iki taksim eklediğinde de yine bir (\) işareti göreceksin.


Şimdi sana bunca yıldır hiç lazım olmayan iki diziyi göstereceğim. \b dizisi ve \r dizisi.
\b dizisi, koyulduğu yerin bir önceki harfini silerek çıktı veriyor. \r dizisi ise, konulduğu yerin öncesindeki metni hiçe sayarak, konulduğu yerin sonrasını ekrana yazıyor.


Şimdi bir kaç parametre daha gösterip, yazıyı sonlandıracağım.

print() ile metin sonrası değişken kullandığımızda aralarında boşluk olduğunu fark ettin mi? O boşlukları biz eklemedik?

Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> print ('dersler', '.hackeradana', '.org', sep='')
dersler.hackeradana.org
>>> 
sep='' parametresi, argümanlar arasındaki işlemleri belirler. sep='\n' şeklinde komutu çalıştırdığımızda her bir argümanı yazdırarken satır başı yapacaktır. Virgül ile ayırdıklarım hep argüman!

Geri bildirimler, projelerin devamı için önemlidir! ;) HackerAdana@protonmail.com adresine bir mail destek olur ve bizleri daha da iştahlandırır! Sonraki yazıda bekliyor olacağım seni!