'print' dediğimiz şeyin anlamı 'yazdırmak' şeklindedir ve kendisi aslında bir fonksiyondur. Fonksiyon kavramına daha sonra değineceğiz ancak bunu kısaca açıklamak istersek "belli bir işi yerine getiren araç parçacıklarıdır" cümlesini kurabiliriz. Python'da birçok işi yerine getiren hazır fonksiyonlar bulunur ve 'print' fonksiyonu da bunlardan biridir. print fonksiyonu, ekrana istediğimiz bir yazıyı; yazı ne kadar kompleks olursa olsun yazdırmamıza yarar fakat tek kullanım amacı bu değildir. Zaman geçtikçe kullanım alanlarını daha net göreceksiniz ancak hata ayıklama konusunda bu fonksiyonun bize ayrıca yardımcı olduğunu bilmeliyiz.
İşe, 'Hello World!' yazdırarak başlayabiliriz.

Kodu yazdıktan hemen sonra bunu çalıştırmak için VS Code üzerinden 'Terminal > New Terminal' adımlarını takip ederek bir terminal ekranı açabilirsiniz. Bu noktada bu kodu çalıştırmak için girmeniz gereken komut şu şekilde olmalıdır:
python <projeismi> yani python test.py
Yukarıdaki kod, print fonksiyonunun en basit halidir. print fonksiyonunun syntax (söz dizimi) yapısı da çok basittir. Yapmanız gereken tek şey 'print' yazdıktan sonra bir parantez açıp kapatmak ve iki adet tırnak işareti eklemektir. Daha sonra kalan tek iş; ekrana verilmesini istediğiniz yazıyı iki tırnak arasına yazmak ve programı çalıştırmaktır.
'İki tırnak arasına yazmak' demişken tırnak işaretlerinin çeşitlerine ve aralarındaki farka bakalım. Python'da bir yazıyı ekrana yazdırmak istiyorsanız kullanabileceğiniz üç çeşit tırnak işareti vardır. Bunları sırasıyla;
""" üç tırnak arasına metin girmek """
" çift tırnak arasına metin girmek "
' tek tırnak arasına metin girmek '
Örneğimize bakalım.

Yukarıdaki ekran görüntüsünde gördüğünüz gibi üçü de aynı işi yapacaktır. O zaman bunların arasındaki fark nedir? Bu yapılar arasındaki temel fark, metin büyüklüğü ile alakalıdır. Hemen bir örnek ile inceleme yapalım.

Yukarıda gördüğünüz hata, bir "Syntax Error" hatasıdır. Yani yazım yanlışı yapmışız. Bu yazım yanlışının sebebi, tırnak işaretlerinin birbirlerini net olarak görememesinden kaynaklanıyor. Normalde en dıştan yani ilk önce açtığımız çift tırnak, oradaki bütün metni bize verir. Fakat çift tırnak içerisine başka bir çift tırnak eklediğimiz için Python'un kafası karışıyor ve hangi tırnağın hangi tırnağa ait olduğunu bilemiyor. Dolayısıyla bize bir hata mesajı veriyor. Bu sorunun çözümüne beraber bakalım.

Şimdi önce koda, daha sonra da çıktıya bakalım. En dıştan açtığımız çift tırnaktan sonra metin içerisinde göstermek istediğimiz bir yazıyı tek tırnak içerisine aldık. Bu sayede tırnak işaretleri birbiriyle eşleşti ve birbirlerini tanıdılar; çift tırnak işaretleri bütün metni yazdırırken tek tırnak işareti çift tırnak işaretine karışmadan sadece kapsama alanı içerisindeki yazıyı gösterdi. Bunu başka örneklerle pekiştirelim. Bunun yanında siz de kendi örneklerinizi oluşturarak pratiklerinizi yapabilirsiniz.

En dışta üç tırnak işareti kullandık. Dolayısıyla "Cyber Worm" yazısı, üç tırnak ifadesine karışmadan görevini yaptı. Bu durum bize, tırnak işaretlerinin bir hiyerarşiye sahip olduğunu gösterir. Çok geniş bir metin yazdırmak isterseniz üç tırnak, normal bir metin yazdırmak isterseniz de çift tırnak kullanabilirsiniz. Tek tırnak kullanımı, bir metin için önerilmez. Tek tırnak, genelde metin içerisinde vurgulanmak istenen yazı için kullanılır.
Bu noktada bilmeniz gereken şey, print fonksiyonunun tek bir metin almıyor olduğu; yani birden fazla değer de verebilirsiniz. Ne demek istiyorum?

Yukarıda gördüğünüz gibi, print fonksiyonuna tek bir değer vermek yerine tırnak işaretiyle veya tırnak işareti olmadan değer verebiliyoruz ve verdiğimiz bu değerleri birbirinden virgül ile ayırıyoruz. Bu noktada her kısım, bir değer olacaktır. Programı çalıştırdığımızda da herhangi bir sorunun olmadığını ve çıktının, beklediğimiz gibi geldiğini görüyoruz.
Şimdi, bir hesap makinesi uygulaması yaptığımızı düşünelim ve kullanıcılara "Hoş Geldin" menüsü göstermeyi deneyelim. Lütfen renk uyumuna dikkat edin.

Aşağıdaki, gerçek bir koddan bir kesit. Lütfen bu kesiti kendiniz yazıp çalıştırmayı deneyin. Kesit içerisinde değişiklikler yaparak konuyu pekiştirmeniz önemlidir. Bu noktada sol üst köşede yer alan 'welcome =' kısmını silip yerine print ekleyebilirsiniz ya da en aşağıda olacak şekilde print(welcome) yazabilirsiniz.

Tüm programlama dillerinde 'Kaçış Karakterleri' dediğimiz yapılar vardır. Bu yapılar, kodun okunabilirliğini arttırdığı gibi çıktının, kullanıcıya da güzel gözükmesini sağlayabiliriz. Bunların yanında eğer ciddi bir araç yazıyorsanız (örneğin bilgi toplama aracı) bu karakterler işinize oldukça yarayacaktır.
Bu noktada size en sık kullanılan iki karakterden söz edeceğim.
\n
Bu arkadaşımız, İngilizce'deki 'new line' sözünden gelir ve anlamı 'yeni satır' şeklindedir. Dikkatinizi çekerim; normal slash değil, ters slash (backslash) kullanıyoruz. Bunu, 'AltGr + *' kombinasyonu ile sağlayabilirsiniz. İsterseniz hemen deneyelim ve ne yaptığına bakalım.
Normal şartlarda iki kelimeyi alt alta yazdırmanız gerektiğinde şu ana kadarki bilgilerinizle aşağıdaki gibi bir kod yazacaksınızdır.

Çıktı gayet başarılı ve doğru, evet. Ancak bunu tek bir satıra indirebiliriz:

Kaçış karakterlerinden '\n' arkadaşımız bu işi bizim için yapıyor. Bu noktada dikkat etmeniz gereken şey, bu kaçış karakterinin sağında ve solunda boşluk olmamasıdır. Elbette, olabilir. Yani boşluk koyarak da yazabilirsiniz ama çıktınız da ona göre bir boşluk verilerek getirilir; deneyebilirsiniz. Ayrıca bir satır içerisinde bundan istediğiniz kadar kullanabilirsiniz.
\t
Bu kaçış karakterimiz ise, kullanıldığı takdirde kelimeler arasına bir TAB boşluğu bırakacaktır. Hemen bakalım.

Gördüğünüz üzere CYBER ve WORM kelimelerini, aralarında bir TAB boşluk olacak şekilde ayırdı.
print fonksiyonu, parametre de alabilir. Bu parametreler, ekrana vereceğimiz yazıları daha da güzelleştirmemize veya bir metin içerisinde otomatik olarak işlem yapmamıza olanak tanıyan yapılardır.
sep
İngilizce'deki 'separate' kelimesinden gelir ve anlamı 'ayırmak' şeklindedir. Bu arkadaşımızın yaptığı şey, print fonksiyonundaki değerler arasına, kendisine verilen işareti yerleştirmektir. Hemen nasıl olduğuna bakalım.

Dikkat edelim; değerlerimizi verip onları virgül ile ayırdıktan sonra 'sep' ifadesini veriyoruz. Bu noktada sep anahtar kelimesinden sonra '=' ifadesini veriyoruz ve aralara serpiştirilmesini istediğimiz işareti/kelimeyi/sembolü tek tırnak arasına koyuyoruz. Bu sayede aslında "sep eşittir tire" veya "Separate the values with the dash (Değerleri tire ile ayır)" demiş oluyoruz. Başka bir örnek daha yapalım.

Çıktımız çok tatlı geldi bence.
end
Bu parametre, yine İngilizce'den gelir ve anlamı 'son' şeklindedir. Tahmin edebileceğiniz üzere bu, cümlenin veya kelimenin sonuna istediğimiz ifadeyi bırakıyor.

Gördüğünüz üzere değerin kendisinde ünlem işareti yok. Bunu, end parametresi sayesinde yerleştirebildik.
* (all)
Bu aslında bir parametre olarak sayılamaz ancak bunu burada ele almak istedim. Programlama dünyasında yıldız işareti 'all' yani 'hepsi' anlamını taşır. İsterseniz direkt olarak örneklere geçelim, daha iyi anlayacaksınızdır.
cyberworm kelimesini, her kelimenin arasında boşluk olacak şekilde yazdırmanızı istesem ne yapardınız? Muhtemelen sep kullanırdınız. Ancak burada ufak bir hile göstereceğim.

Gördüğünüz gibi -dışında olmak üzere- değerin başına bir yıldız koyuyoruz ve Python, bu değerin her karakterini gözeterek aralara bir boşluk bırakıyor. Buradaki 'all' mantığı budur. Bunun elbette bambaşka kullanım alanları da var ancak şimdilik bu kadarını bilmeniz yeterli olacak; print konseptinden çıkmak istemiyorum.
Yıldız olmadan sep kullanmayı deneyelim mi?

Neden böyle oldu? Yani neden her harf arasına boşluk bırakmadı? Çünkü orada tek bir değer var. sep, 'değerler arasına' işlem yapabilir. Burada tek bir değer olduğu için sep parametresinin bir işlevi kalmıyor. Bu noktada yıldızla beraber sep kullanırsak verimli bir sonuç elde edebilir miyiz? Sonuç olarak yıldız, tek bir değerdeki bütün harfleri ayırıyor, sep de değerler arasına işlem yapıyor. Deneyelim.

"Burada hem yıldız hem de sep aynı işi yapıyor. Bu işi yıldız mı yaptı yoksa sep mi?" diye bir soru soracak olursanız sizi ikna edeyim.

Biraz önce yıldız olmadan sep kullandık ama orada tek bir değer olduğu için sep, işini düzgün yapamamıştı. Burada yıldız, tek bir değeri parçalıyor ve sep, parçalanan bu değerler arasına nokta koyuyor. İşte, yıldız ile sep arasındaki ilişki bu şekilde.
Yayınlanma Tarihi: 2022-10-20 17:55:28
Son Düzenleme Tarihi: 2022-10-23 13:52:45