sonsuzus / BilsemPython

Bilsem Python Dersleri
GNU General Public License v3.0
10 stars 1 forks source link

print( ) fonksiyonu #31

Open sonsuzus opened 1 year ago

sonsuzus commented 1 year ago

Bu başlık altına print( ) fonksiyonunu araştırıp güzel detaylı bir yazı ekleyiniz. (En az 130 kelime) ( Kopyala yapıştır yapabilir, düzenleyebilir, birleştirebilir ve kaynakları yazabilirsiniz.)

eyupbjk commented 1 year ago

Şimdiye kadar etkileşimli kabukta gerek karakter dizilerini gerekse sayıları doğrudan ekrana yazdık. Yani şöyle bir şey yaptık:

"Python programlama dili"

'Python programlama dili'

6567

6567 Etkileşimli kabuk da, ekrana yazdığımız bu karakter dizisi ve sayıyı doğrudan bize çıktı olarak verdi. Ancak ilerde Python kodlarımızı bir dosyaya kaydedip çalıştırdığımızda da göreceğiniz gibi, Python’ın ekrana çıktı verebilmesi için yukarıdaki kullanım yeterli değildir. Yani yukarıdaki kullanım yalnızca etkileşimli kabukta çalışır. Bu kodları bir dosyaya kaydedip çalıştırmak istediğimizde hiçbir çıktı alamayız. Python’da yazdığımız şeylerin ekrana çıktı olarak verilebilmesi için print() adlı özel bir fonksiyondan yararlanmamız gerekir. Elbette, eğer istersek burada doğrudan “Python programlama dili” adlı karakter dizisini kullanmak yerine, önce bu karakter dizisini bir değişkene atayıp, sonra da print() fonksiyonunun parantezleri içinde bu değişkeni kullanabiliriz. Yani:

dil = "Python programlama dili" print(dil)

Python programlama dili Bu arada, hem şimdi verdiğimiz, hem de daha önce yazdığımız örneklerde bir şey dikkatinizi çekmiş olmalı. Şimdiye kadar verdiğimiz örneklerde karakter dizilerini hep çift tırnakla gösterdik. Ama aslında tek seçeneğimiz çift tırnak değildir. Python bize üç farklı tırnak seçeneği sunar:

Tek tırnak (’ ‘)

Çift tırnak (” “)

Üç tırnak (“”” “””)

Dolayısıyla yukarıdaki örneği üç farklı şekilde yazabiliriz:

print('Python programlama dili')

Python programlama dili

print("Python programlama dili")

Python programlama dili

print("""Python programlama dili""")

Python programlama dili Gördüğünüz gibi çıktılar arasında hiçbir fark yok.

Peki çıktılarda hiçbir fark yoksa neden üç farklı tırnak çeşidi var?

İsterseniz bu soruyu bir örnek üzerinden açıklamaya çalışalım. Diyelim ki ekrana şöyle bir çıktı vermek istiyoruz:

Python programlama dilinin adı "piton" yılanından gelmez Eğer bu cümleyi çift tırnaklar içinde gösterirsek programımız hata verecektir:

print("Python programlama dilinin adı "piton" yılanından gelmez")

File "", line 1 print("Python programlama dilinin adı "piton" yılanından gelmez") ^ SyntaxError: invalid syntax Bunun sebebi, cümle içinde geçen ‘piton’ kelimesinin de çift tırnaklar içinde gösterilmiş olmasıdır. Cümlenin, yani karakter dizisinin kendisi de çift tırnak içinde gösterildiği için Python, karakter dizisini başlatan ve bitiren tırnakların hangisi olduğunu ayırt edemiyor. Yukarıdaki cümleyi en kolay şu şekilde ekrana yazdırabiliriz:

print('Python programlama dilinin adı "piton" yılanından gelmez')

Python programlama dilinin adı "piton" yılanından gelmez Burada karakter dizisini tek tırnak içine aldık. Karakter dizisi içinde geçen ‘piton’ kelimesi çift tırnak içinde olduğu için, karakter dizisini başlatıp bitiren tırnaklarla ‘piton’ kelimesindeki tırnakların birbirine karışması gibi bir durum söz konusu değildir.

Bir de şöyle bir örnek verelim: Diyelim ki aşağıdaki gibi bir çıktı elde etmek istiyoruz:

İstanbul'un 5 günlük hava durumu tahmini Eğer bu karakter dizisini tek tırnak işaretleri içinde belirtirseniz Python size bir hata mesajı gösterecektir:

print('İstanbul'un 5 günlük hava durumu tahmini')

File "", line 1 print('İstanbul'un 5 günlük hava durumu tahmini') ^ SyntaxError: invalid syntax Bu hatanın sebebi ‘İstanbul’un’ kelimesi içinde geçen kesme işaretidir. Tıpkı bir önceki örnekte olduğu gibi, Python karakter dizisini başlatan ve bitiren tırnakların hangisi olduğunu kestiremiyor. Python, karakter dizisinin en başındaki tek tırnak işaretinin ardından ‘İstanbul’un’ kelimesi içindeki kesme işaretini görünce karakter dizisinin burada sona erdiğini zannediyor. Ancak karakter dizisini soldan sağa doğru okumaya devam edince bir yerlerde bir terslik olduğunu düşünüyor ve bize bir hata mesajı göstermekten başka çaresi kalmıyor. Yukarıdaki karakter dizisini en kolay şöyle tanımlayabiliriz:

print("İstanbul'un 5 günlük hava durumu tahmini")

İstanbul'un 5 günlük hava durumu tahmini

kaynak:https://python-istihza.yazbel.com/print.html

TheDemr0 commented 1 year ago

Bu başlık altına print( ) fonksiyonunu araştırıp güzel detaylı bir yazı ekleyiniz. (En az 130 kelime) ( Kopyala yapıştır yapabilir, düzenleyebilir, birleştirebilir ve kaynakları yazabilirsiniz.)Şimdiye kadar etkileşimli kabukta gerek karakter dizilerini gerekse sayıları doğrudan ekrana yazdık. Yani şöyle bir şey yaptık:

"Python programlama dili"

'Python programlama dili'

6567

6567 Etkileşimli kabuk da, ekrana yazdığımız bu karakter dizisi ve sayıyı doğrudan bize çıktı olarak verdi. Ancak ilerde Python kodlarımızı bir dosyaya kaydedip çalıştırdığımızda da göreceğiniz gibi, Python’ın ekrana çıktı verebilmesi için yukarıdaki kullanım yeterli değildir. Yani yukarıdaki kullanım yalnızca etkileşimli kabukta çalışır. Bu kodları bir dosyaya kaydedip çalıştırmak istediğimizde hiçbir çıktı alamayız. Python’da yazdığımız şeylerin ekrana çıktı olarak verilebilmesi için print() adlı özel bir fonksiyondan yararlanmamız gerekir. Elbette, eğer istersek burada doğrudan “Python programlama dili” adlı karakter dizisini kullanmak yerine, önce bu karakter dizisini bir değişkene atayıp, sonra da print() fonksiyonunun parantezleri içinde bu değişkeni kullanabiliriz. Yani:

dil = "Python programlama dili" print(dil)

Python programlama dili Bu arada, hem şimdi verdiğimiz, hem de daha önce yazdığımız örneklerde bir şey dikkatinizi çekmiş olmalı. Şimdiye kadar verdiğimiz örneklerde karakter dizilerini hep çift tırnakla gösterdik. Ama aslında tek seçeneğimiz çift tırnak değildir. Python bize üç farklı tırnak seçeneği sunar:

Tek tırnak (’ ‘)

Çift tırnak (” “)

Üç tırnak (“”” “””)

Dolayısıyla yukarıdaki örneği üç farklı şekilde yazabiliriz:

print('Python programlama dili')

Python programlama dili

print("Python programlama dili")

Python programlama dili

print("""Python programlama dili""")

Python programlama dili Gördüğünüz gibi çıktılar arasında hiçbir fark yok.

Peki çıktılarda hiçbir fark yoksa neden üç farklı tırnak çeşidi var?

İsterseniz bu soruyu bir örnek üzerinden açıklamaya çalışalım. Diyelim ki ekrana şöyle bir çıktı vermek istiyoruz:

Python programlama dilinin adı "piton" yılanından gelmez Eğer bu cümleyi çift tırnaklar içinde gösterirsek programımız hata verecektir:

print("Python programlama dilinin adı "piton" yılanından gelmez")

File "", line 1 print("Python programlama dilinin adı "piton" yılanından gelmez") ^ SyntaxError: invalid syntax Bunun sebebi, cümle içinde geçen ‘piton’ kelimesinin de çift tırnaklar içinde gösterilmiş olmasıdır. Cümlenin, yani karakter dizisinin kendisi de çift tırnak içinde gösterildiği için Python, karakter dizisini başlatan ve bitiren tırnakların hangisi olduğunu ayırt edemiyor. Yukarıdaki cümleyi en kolay şu şekilde ekrana yazdırabiliriz:

print('Python programlama dilinin adı "piton" yılanından gelmez')

Python programlama dilinin adı "piton" yılanından gelmez Burada karakter dizisini tek tırnak içine aldık. Karakter dizisi içinde geçen ‘piton’ kelimesi çift tırnak içinde olduğu için, karakter dizisini başlatıp bitiren tırnaklarla ‘piton’ kelimesindeki tırnakların birbirine karışması gibi bir durum söz konusu değildir.

Sadik1Dev commented 1 year ago

Print() Fonksiyonu Nedir : Kafanızı çok karıştırmadan kısaca anlatmak gerekirse print() fonksiyonu ekrana çıktı almamızı sağlayan bir fonksiyondur.

Print() Fonksiyonu Nasıl Kullanılır : Print() fonksiyon’nun üç farklı kullanımı var;

Tek tırnak (‘ ‘) Çift tırnak (” “) Üç tırnak (“”” “””)

hemen birer örnek ile gösterelim;

print('Mobilhanem.com Python Dersleri') print("Mobilhanem.com Python Dersleri") print("""Mobilhanem.com Python Dersleri""")

Print() Fonksiyonun Paremetreleri:

  1. end Parametresi : Bu parametre print() fonksiyonu ile ekrana verdiğimiz değerlerin sonunda hangi işlemi yapacağımızı belirtiyoruz hemen bir örnek ile kullanımını gösterelim ;

Hemen arka arkaya iki tane print() fonksiyonu yazalım;

print("Mobilhanem.com Python Dersleri")
print("Mobilhanem.com Python Dersleri")

ve şöyle bir çıktı alacağız ;

Mobilhanem.com Python Dersleri Mobilhanem.com Python Dersleri

Peki biz bu iki print() fonksiyonunu yan yana nasıl yazdırabiliriz;

print("Mobilhanem.com Python Dersleri",end="") print("Mobilhanem.com Python Dersleri")

Şu şekilde bir çıktı alırız ;

Mobilhanem.com Python DersleriMobilhanem.com Python Dersleri

gördüğünüz gibi iki çıktıyı birleştirdi çünkü biz end parametresinde belirtmedik şimdi aralarında virgül işareti olacak şekilde yazdıralım;

print("Mobilhanem.com Python Dersleri",end=",")

çıktımız ;

Mobilhanem.com Python Dersleri,Mobilhanem.com

yada alt alta yazdıralım

print("Mobilhanem.com Python Dersleri",end="\n")

Mobilhanem.com Python Dersleri Mobilhanem.com Python Dersleri

  1. sep Parametresi :

Bir önceki parametre ile değerlerin sonuna hangi işlemi yapacağımızı gösterdik peki bu değerlerin arasında farklı işlemleri nasıl yapacağız onu da sep parametesi ile yapacağız hemen bir iki örnek ile gösterelim; Örneğin elimizde bir web sayfasının adresi var;

print("www", "mobilhanem", "com")

Şu şekide bir çıktı alırız

www mobilhanem com

gördüğünüz gibi Python değerleri birer boşluk ile birleştirdi ama biz bunu belirtmemiştik çünkü eğer biz bir şey belirtmezsek eğer Python default olarak birer boşluk olacak şekilde alır. Biz aralarında nokta işareti olacak şekilde nasıl birleştiririz kullanımı sep parametresi ile aynı;

print("www", "mobilhanem", "com",sep=".")

ve şu şekilde çıktı alırız ;

www.mobilhanem.com

3.Yıldız(*) Parametresi:

Bu parametrede sep parametresi gibi verilerin arasında işlem yapmayı veya karakter kullanmamızı sağlıyor ama sep parametresinde farklı değişken ve elemanlar arsında sağlıyor bu ise aynı değişken üzerinde işlem yapmamızı sağlıyor eğer

print(*"Mobilhanem")

şeklinde kullanılırsa çıktımız ;

M o b i l h a n e m

şeklinde bir çıtı alırız.

kaynakça: https://www.mobilhanem.com/python-da-print-fonksiyonu/

tolga0102 commented 1 year ago

Print() Fonksiyonu

Python’da yazdığımız şeylerin ekrana çıktı olarak verilebilmesi için print() adlı özel bir fonksiyondan yararlanmamız gerekir. print() fonksiyonunun görevi ekrana çıktı vermemizi sağlamaktır. İsterseniz hemen bununla ilgili bir örnek verelim:

print("Bu yazı printle yazdırılmıştır.")

Bu yazı printle yazdırılmıştır.

Burada gördüğümüz “Bu yazı printle yazdırılmıştır.” bir karakter dizisidir. İşte print() fonksiyonunun görevi bu karakter dizisini ekrana çıktı olarak vermektir. Eğer istersek burada doğrudan “Bu yazı printle yazdırılmıştır.” adlı karakter dizisini kullanmak yerine, önce bu karakter dizisini bir değişkene atayıp, sonra da `print() fonksiyonunun parantezleri içinde bu değişkeni kullanabiliriz. Yani:

yazi = “Bu yazı printle yazdırılmıştır.”
print(yazi)

Bu yazı printle yazdırılmıştır.

Bu arada, hem şimdi verdiğimiz, hem de daha önce yazdığımız örneklerde bir şey dikkatinizi çekmiş olmalı. Şimdiye kadar verdiğimiz örneklerde karakter dizilerini hep çift tırnakla gösterdik. Ama aslında tek seçeneğimiz çift tırnak değildir. Python bize üç farklı tırnak seçeneği sunar:

  1. Tek tırnak (' ')
  2. Çift tırnak (" ")
  3. Üç tırnak (""" """)

Bu seçenekler, çıktılarda tırnak içine alınan veya kesme işaretiyle ayrılan ifadelerin karışıp programın hata vermesini önlemek içindir. Aynı tırnak işaretinin içindeki tırnak işareti çıktının hata vermesine yol açar. Üç tırnak işareti de bu amaçla kullanılabilir. Fakat aslında üç tırnak işaretinin görevi çok satırlı ifadeleri tek print() ile yazdırmaktır.

print() fonksiyonu birden fazla karakter dizisi veya değişken de yazdırabilir. Örneğin:

print("Python", "Programlama", "Dili")

Python Programlama Dili

a=100
print(a)

100

Ayrıca print() fonksiyonu içerisinde işlem de yapabilirsiniz:

a=1 b=2 c=10
print("İşlem sonucu = ",(a+b)*c)

İşlem sonucu = 30

Print() Fonksiyonunun Parametreleri

sep Şu ana kadar fonksiyon, kendisine verdiğimiz bu parametreleri belli bir düzene göre birbiriyle birleştirdi. Bu düzen gereğince print(), kendisine verilen parametreleri birleştirirken, parametreler arasına bir boşluk yerleştiriyor. Halbuki bu boşluğu biz talep etmedik! Python bize bu boşluğu eşantiyon olarak verdi. Çoğu durumda istediğimiz şey bu olacaktır, ama bazı durumlarda bu boşluğu istemeyebiliriz. İşte bu durumda sep devreye girer. Gelin bir örnek yapalım:

print("T", "C", sep=".")

T.C

Burada yaptığımız şey aslında çok basit. Sadece sep parametresinin ‘bir adet boşluk karakteri’ olan öntanımlı değerini silip, yerine ‘bir adet nokta karakteri’ değerini yazdık.

end print() fonksiyonunun end adlı özel bir parametresi daha bulunur. Tıpkı sep parametresi gibi, end parametresi de print() fonksiyonunda görünmese bile her zaman oradadır. Bildiğiniz gibi, sep parametresi print() fonksiyonuna verilen parametreler birleştirilirken araya hangi karakterin gireceğini belirliyordu. end parametresi ise bu parametrelerin sonuna neyin geleceğini belirler. Örneğin:

print("Merhabaaa",end="!")

Merhabaaa!

Gördüğünüz gibi burada end parametresiyle yazdırdığımız şeyin sonuna ünlem getirmiş olduk.

Kaynakça

Dogukancode10 commented 1 year ago

Python’da yazdığımız şeylerin ekrana çıktı olarak verilebilmesi için print() adlı özel bir fonksiyondan yararlanmamız gerekir. print() fonksiyonunun görevi ekrana çıktı vermemizi sağlamaktır. İsterseniz hemen bununla ilgili bir örnek verelim:

print("Bu yazı printle yazdırılmıştır.")

Bu yazı printle yazdırılmıştır. Burada gördüğümüz “Bu yazı printle yazdırılmıştır.” bir karakter dizisidir. İşte print() fonksiyonunun görevi bu karakter dizisini ekrana çıktı olarak vermektir. Eğer istersek burada doğrudan “Bu yazı printle yazdırılmıştır.” adlı karakter dizisini kullanmak yerine, önce bu karakter dizisini bir değişkene atayıp, sonra da `print() fonksiyonunun parantezleri içinde bu değişkeni kullanabiliriz. Yani:

yazi = “Bu yazı printle yazdırılmıştır.” print(yazi)

Bu yazı printle yazdırılmıştır. Bu arada, hem şimdi verdiğimiz, hem de daha önce yazdığımız örneklerde bir şey dikkatinizi çekmiş olmalı. Şimdiye kadar verdiğimiz örneklerde karakter dizilerini hep çift tırnakla gösterdik. Ama aslında tek seçeneğimiz çift tırnak değildir. Python bize üç farklı tırnak seçeneği sunar:

Tek tırnak (' ') Çift tırnak (" ") Üç tırnak (""" """) Bu seçenekler, çıktılarda tırnak içine alınan veya kesme işaretiyle ayrılan ifadelerin karışıp programın hata vermesini önlemek içindir. Aynı tırnak işaretinin içindeki tırnak işareti çıktının hata vermesine yol açar. Üç tırnak işareti de bu amaçla kullanılabilir. Fakat aslında üç tırnak işaretinin görevi çok satırlı ifadeleri tek print() ile yazdırmaktır.

print() fonksiyonu birden fazla karakter dizisi veya değişken de yazdırabilir. Örneğin:

print("Python", "Programlama", "Dili")

Python Programlama Dili

a=100 print(a)

100 Ayrıca print() fonksiyonu içerisinde işlem de yapabilirsiniz:

a=1 b=2 c=10 print("İşlem sonucu = ",(a+b)*c)

İşlem sonucu = 30 Print() Fonksiyonunun Parametreleri sep Şu ana kadar fonksiyon, kendisine verdiğimiz bu parametreleri belli bir düzene göre birbiriyle birleştirdi. Bu düzen gereğince print(), kendisine verilen parametreleri birleştirirken, parametreler arasına bir boşluk yerleştiriyor. Halbuki bu boşluğu biz talep etmedik! Python bize bu boşluğu eşantiyon olarak verdi. Çoğu durumda istediğimiz şey bu olacaktır, ama bazı durumlarda bu boşluğu istemeyebiliriz. İşte bu durumda sep devreye girer. Gelin bir örnek yapalım:

print("T", "C", sep=".")

T.C Burada yaptığımız şey aslında çok basit. Sadece sep parametresinin ‘bir adet boşluk karakteri’ olan öntanımlı değerini silip, yerine ‘bir adet nokta karakteri’ değerini yazdık.

end print() fonksiyonunun end adlı özel bir parametresi daha bulunur. Tıpkı sep parametresi gibi, end parametresi de print() fonksiyonunda görünmese bile her zaman oradadır. Bildiğiniz gibi, sep parametresi print() fonksiyonuna verilen parametreler birleştirilirken araya hangi karakterin gireceğini belirliyordu. end parametresi ise bu parametrelerin sonuna neyin geleceğini belirler. Örneğin:

print("Merhabaaa",end="!")

Merhabaaa! Gördüğünüz gibi burada end parametresiyle yazdırdığımız şeyin sonuna ünlem getirmiş olduk.

dudusoo commented 1 year ago

Kodlarımızı dosyalara yazdığımızda, eğer ekrana bir değer bastırmak istersek print fonksiyonunu kullanırız. Kullanımı oldukça basittir ve değişik özelliklere sahiptir. Örneklerimize bakalım. print(35) print(3.14) a = 4 b = 15 print(a+b) print("Mustafa Kemal Atatürk") print("Ayşe bugün okula gelmedi.") """ Çıktısı 35 3.14 19 Mustafa Kemal Atatürk Ayşe bugün okula gelmedi. """ Buradaki işlemlerde gördüğümüz gibi biz print fonksiyonunun içine bastırmak istediğimiz değeri veriyoruz ve bu fonksiyon da ekrana değerimizi bastırıyor. Peki aynı satırda birkaç değer bastırmak istersek ne yapıyoruz? Bunun için değerlerimizin arasına , karakterini atıyoruz. print("Ayşe",12,545,66767,3.56) print("Mustafa","Kemal","Atatürk") """ Çıktı Ayşe 12 545 66767 3.56 Mustafa Kemal `Atatürk```

Furkanyildirm commented 1 year ago

print() FONKSİYONU

Kodlarımızı dosyalara yazdığımızda, eğer ekrana bir değer bastırmak istersek print fonksiyonunu kullanırız. Kullanımı oldukça basittir ve değişik özelliklere sahiptir. Örneklerimize bakalım.

print(35)
print(3.14)
a = 4
b = 15
print(a+b)
print("Mustafa Murat Mehmet")
print("Murat'ın bugün dersi var.")
"""
Çıktısı
35
3.14
19
Mustafa Murat Mehmet
Murat'ın bugün dersi var.
"""

Buradaki işlemlerde gördüğümüz gibi biz print fonksiyonunun içine bastırmak istediğimiz değeri veriyoruz ve bu fonksiyon da ekrana değerimizi bastırıyor. Peki aynı satırda birkaç değer bastırmak istersek ne yapıyoruz? Bunun için değerlerimizin arasına , karakterini atıyoruz. Mesela;

print("Furkan,Fatih")

"""
Çıktısı
Furkan Fatih
"""

Python bize üç farklı tırnak seçeneği sunar:

Tek tırnak (’ ‘)

Çift tırnak (” “)

Üç tırnak (“”” “””)

örnek olarak üç farklı şekilde yazabiliriz:


print('Python programlama dili')

Python programlama dili

print("Python programlama dili")

Python programlama dili

print("""Python programlama dili""")

Python programlama dili

iki ifade arasında boşluk olmasını istemiyorsak araya + işaretini koyabiliriz.

print ("furkan"+"yıldırım")

ifadesinin ekran çıktısı furkanyıldırım olacaktır.

Sadece metinsel değerleri değil, matematiksel değerleri de yazdırabiliriz print fonksiyonuyla. Örneğin print("Gökhan",16,"yaşındadır") ifadesinin ekran çıktısı Gökhan 16 yaşındadır şeklinde olacaktır.

Ancak + ifadesiyle bu işlemi yazdırmak istersek hata verecektir program. Bu ifadeyi + işaretiyle yazmak istersek bir çevirme işlemi yapmalıyız. Çünkü metinsel ifadeyle , sayısal ifadeyi toplama işlemi yapılamaz.

print("gökhan" + 16)

yazarsak hata alacağız. print("Gökhan"+16) yazdığımızda alacağımız hata şu şekilde olacaktır.

Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> print("Gökhan"+16) TypeError: can only concatenate str (not "int") to str.

KAYNAKÇA;

AhmetEmirErsoz commented 1 year ago

Python’da yazdığımız şeylerin ekrana çıktı olarak verilebilmesi için print() adlı özel bir fonksiyondan yararlanmamız gerekir. print() fonksiyonunun görevi ekrana çıktı vermemizi sağlamaktır. İsterseniz hemen bununla ilgili bir örnek verelim:

print("Bu yazı printle yazdırılmıştır.")

Bu yazı printle yazdırılmıştır. Burada gördüğümüz “Bu yazı printle yazdırılmıştır.” bir karakter dizisidir. İşte print() fonksiyonunun görevi bu karakter dizisini ekrana çıktı olarak vermektir. Eğer istersek burada doğrudan “Bu yazı printle yazdırılmıştır.” adlı karakter dizisini kullanmak yerine, önce bu karakter dizisini bir değişkene atayıp, sonra da `print() fonksiyonunun parantezleri içinde bu değişkeni kullanabiliriz. Yani:

yazi = “Bu yazı printle yazdırılmıştır.” print(yazi)

Bu yazı printle yazdırılmıştır. Bu arada, hem şimdi verdiğimiz, hem de daha önce yazdığımız örneklerde bir şey dikkatinizi çekmiş olmalı. Şimdiye kadar verdiğimiz örneklerde karakter dizilerini hep çift tırnakla gösterdik. Ama aslında tek seçeneğimiz çift tırnak değildir. Python bize üç farklı tırnak seçeneği sunar:

Tek tırnak (' ') Çift tırnak (" ") Üç tırnak (""" """) Bu seçenekler, çıktılarda tırnak içine alınan veya kesme işaretiyle ayrılan ifadelerin karışıp programın hata vermesini önlemek içindir. Aynı tırnak işaretinin içindeki tırnak işareti çıktının hata vermesine yol açar. Üç tırnak işareti de bu amaçla kullanılabilir. Fakat aslında üç tırnak işaretinin görevi çok satırlı ifadeleri tek print() ile yazdırmaktır.

print() fonksiyonu birden fazla karakter dizisi veya değişken de yazdırabilir. Örneğin:

print("Python", "Programlama", "Dili")

Python Programlama Dili

a=100 print(a)

100 Ayrıca print() fonksiyonu içerisinde işlem de yapabilirsiniz:

a=1 b=2 c=10 print("İşlem sonucu = ",(a+b)*c)

İşlem sonucu = 30 Print() Fonksiyonunun Parametreleri sep Şu ana kadar fonksiyon, kendisine verdiğimiz bu parametreleri belli bir düzene göre birbiriyle birleştirdi. Bu düzen gereğince print(), kendisine verilen parametreleri birleştirirken, parametreler arasına bir boşluk yerleştiriyor. Halbuki bu boşluğu biz talep etmedik! Python bize bu boşluğu eşantiyon olarak verdi. Çoğu durumda istediğimiz şey bu olacaktır, ama bazı durumlarda bu boşluğu istemeyebiliriz. İşte bu durumda sep devreye girer. Gelin bir örnek yapalım:

print("T", "C", sep=".")

T.C Burada yaptığımız şey aslında çok basit. Sadece sep parametresinin ‘bir adet boşluk karakteri’ olan öntanımlı değerini silip, yerine ‘bir adet nokta karakteri’ değerini yazdık.

end print() fonksiyonunun end adlı özel bir parametresi daha bulunur. Tıpkı sep parametresi gibi, end parametresi de print() fonksiyonunda görünmese bile her zaman oradadır. Bildiğiniz gibi, sep parametresi print() fonksiyonuna verilen parametreler birleştirilirken araya hangi karakterin gireceğini belirliyordu. end parametresi ise bu parametrelerin sonuna neyin geleceğini belirler. Örneğin:

print("Merhabaaa",end="!")

Merhabaaa! Gördüğünüz gibi burada end parametresiyle yazdırdığımız şeyin sonuna ünlem getirmiş olduk.

(wikipedia)

Berkek007 commented 1 year ago

PRİNT FONKSİYONU: Ekranda görüntülenmesini istediğimiz tüm bilgi ya da sonuçları ekrana yazdırabilmek için print() fonksiyonunukullanırız. Parantez içinde yazılan bilgilerin her birine parametre deriz. Birden fazla bilgi (parametre) yazacaksak aralarına virgül koymamız gerekir. Örneğin: print(“Merhaba Dünya”) Merhaba Dünya print(“Toplamı :”, 10+23) Toplamı : 33

a=4
a = 5
print(a)

5 Örnek:

b ="4"
c=4
d=b+c
print(d)

Hata verir.b string c integer sayı.ikisi toplanamaz. print(“Bilgisayar”,”Bilimi”,”Kodlama”) Bilgisayar Bilimi Kodlama Açıklaması: Virgüller ifadelerin arasına birer boşluk bırakır.

adasue commented 1 year ago

Python’da yazdığımız şeylerin ekrana çıktı olarak verilebilmesi için print() adlı özel bir fonksiyondan yararlanmamız gerekir.

print() de tıpkı type(), len() ve pow() fonksiyonları gibi bir fonksiyondur print() fonksiyonunun görevi ekrana çıktı vermemizi sağlamaktır. Hemen bununla ilgili bir örnek verelim:

print("Python programlama dili")

#Python programlama dili

Burada gördüğümüz “Python programlama dili” bir karakter dizisidir. İşte print() fonksiyonunun görevi bu karakter dizisini ekrana çıktı olarak vermektir. Yukarıda verdiğimiz örnekte ilk gözümüze çarpan şey, karakter dizisini print() fonksiyonunun parantezleri içine yazmış olmamızdır. Bir fonksiyonun parantezleri içinde belirtilen öğelere ‘parametre’ denir. Tıpkı öteki fonksiyonlar gibi, print() fonksiyonu da birtakım parametreler alır. Elbette, eğer istersek burada doğrudan “Python programlama dili” adlı karakter dizisini kullanmak yerine, önce bu karakter dizisini bir değişkene atayıp, sonra da print() fonksiyonunun parantezleri içinde bu değişkeni kullanabiliriz. Yani:

dil = "Python programlama dili"
print(dil)

#Python programlama dili
OmerB2 commented 1 year ago

print() Fonksiyonu

Geçen bölümde bir yandan Python’ın etkileşimli kabuğunu yakından tanıyıp bu vesileyle bazı önemli fonksiyon ve araçları öğrenirken, öbür yandan bu öğrendiklerimizi kullanarak örnek programlar yazdık. Gördüğünüz gibi, azıcık bir bilgiyle dahi az çok işe yarar programlar yazmak mümkün olabiliyor. Daha yararlı programlar yazabilmek için henüz öğrenmemiz gereken pek çok şey var. İşte bu bölümde, ‘daha yararlı programlar yazmamızı’ sağlayacak çok önemli bir araçtan söz edeceğiz. Öneminden dolayı ayrıntılı bir şekilde anlatacağımız bu aracın adı print() fonksiyonu.

Elbette bu bölümde sadece print() fonksiyonundan bahsetmeyeceğiz. Bu bölümde print() fonksiyonunun yanısıra Python’daki bazı önemli temel konuları da ele alacağız. Mesela bu bölümde Python’daki karakter dizilerine ve sayılara ilişkin çok önemli bilgiler vereceğiz. Ayrıca print() fonksiyonu vesilesiyle Python’daki ‘fonksiyon’ konusuna da sağlam bir giriş yapmış, bu kavram ile ilgili ilk bilgilerimizi almış olacağız. Sözün özü, bu bölüm bizim için, deyim yerindeyse, tam anlamıyla bir dönüm noktası olacak.

O halde isterseniz lafı daha fazla uzatmadan işe print() fonksiyonunun ne olduğu ve ne işe yaradığını anlatarak başlayalım.

Nedir, Ne İşe Yarar?

Şimdiye kadar etkileşimli kabukta gerek karakter dizilerini gerekse sayıları doğrudan ekrana yazdık. Yani şöyle bir şey yaptık:

>>>"Python programlama dili"

'Python programlama dili'

>>>6567

6567

Etkileşimli kabuk da, ekrana yazdığımız bu karakter dizisi ve sayıyı doğrudan bize çıktı olarak verdi. Ancak ilerde Python kodlarımızı bir dosyaya kaydedip çalıştırdığımızda da göreceğiniz gibi, Python’ın ekrana çıktı verebilmesi için yukarıdaki kullanım yeterli değildir. Yani yukarıdaki kullanım yalnızca etkileşimli kabukta çalışır. Bu kodları bir dosyaya kaydedip çalıştırmak istediğimizde hiçbir çıktı alamayız. Python’da yazdığımız şeylerin ekrana çıktı olarak verilebilmesi için print() adlı özel bir fonksiyondan yararlanmamız gerekir.

O halde gelin bu print() fonksiyonunun ne işe yaradığını ve nasıl kullanıldığını anlamaya çalışalım:

print() de tıpkı daha önce gördüğümüz type(), len() ve pow() gibi bir fonksiyondur. Fonksiyonları ilerde daha ayrıntılı bir şekilde inceleyeceğimizi söylemiştik hatırlarsanız. O yüzden fonksiyon kelimesine takılarak, burada anlattığımız şeylerin kafanızı karıştırmasına, moralinizi bozmasına izin vermeyin.

print() fonksiyonunun görevi ekrana çıktı vermemizi sağlamaktır. Hemen bununla ilgili bir örnek verelim:

>>>print("Python programlama dili")

Python programlama dili

Bildiğiniz gibi burada gördüğümüz “Python programlama dili” bir karakter dizisidir. İşte print() fonksiyonunun görevi bu karakter dizisini ekrana çıktı olarak vermektir. Peki bu karakter dizisini print() fonksiyonu olmadan yazdığımızda da ekrana çıktı vermiş olmuyor muyuz? Aslında olmuyoruz. Dediğimiz gibi, ilerde programlarımızı dosyalara kaydedip çalıştırdığımızda, başında print() olmayan ifadelerin çıktıda görünmediğine şahit olacaksınız.

Daha önce de dediğimiz gibi, etkileşimli kabuk bir test ortamı olması açısından rahat bir ortamdır. Bu sebeple bu ortamda ekrana çıktı verebilmek için print() fonksiyonunu kullanmak zorunda değilsiniz. Yani başında print() olsa da olmasa da etkileşimli kabuk ekrana yazdırmak istediğiniz şeyi yazdırır. Ama iyi bir alışkanlık olması açısından, ekrana herhangi bir şey yazdıracağınızda ben size print() fonksiyonunu kullanmanızı tavsiye ederim.

print() son derece güçlü bir fonksiyondur. Gelin isterseniz bu güçlü ve faydalı fonksiyonu derin derin incelemeye koyulalım.

Nasıl Kullanılır?

Yukarıda verdiğimiz örnekte ilk gözümüze çarpan şey, karakter dizisini print() fonksiyonunun parantezleri içine yazmış olmamızdır. Biz bir fonksiyonun parantezleri içinde belirtilen öğelere ‘parametre’ dendiğini geçen bölümde öğrenmiştik. Tıpkı öğrendiğimiz öteki fonksiyonlar gibi, print() fonksiyonu da birtakım parametreler alır.

Bu arada print() fonksiyonunun parantezini açıp parametreyi yazdıktan sonra, parantezi kapatmayı unutmuyoruz. Python programlama diline yeni başlayanların, hatta bazen deneyimli programcıların bile en sık yaptığı hatalardan biri açtıkları parantezi kapatmayı unutmalarıdır.

Elbette, eğer istersek burada doğrudan “Python programlama dili” adlı karakter dizisini kullanmak yerine, önce bu karakter dizisini bir değişkene atayıp, sonra da print() fonksiyonunun parantezleri içinde bu değişkeni kullanabiliriz. Yani:

>>>dil = "Python programlama dili"
>>>print(dil)

Python programlama dili

Bu arada, hem şimdi verdiğimiz, hem de daha önce yazdığımız örneklerde bir şey dikkatinizi çekmiş olmalı. Şimdiye kadar verdiğimiz örneklerde karakter dizilerini hep çift tırnakla gösterdik. Ama aslında tek seçeneğimiz çift tırnak değildir. Python bize üç farklı tırnak seçeneği sunar:

Tek tırnak (’ ‘)

Çift tırnak (” “)

Üç tırnak (“”” “””)

Dolayısıyla yukarıdaki örneği üç farklı şekilde yazabiliriz:

>>>print('Python programlama dili')

Python programlama dili

>>>print("Python programlama dili")

Python programlama dili

>>>print("""Python programlama dili""")

Python programlama dili

Gördüğünüz gibi çıktılar arasında hiçbir fark yok.

Peki çıktılarda hiçbir fark yoksa neden üç farklı tırnak çeşidi var?

İsterseniz bu soruyu bir örnek üzerinden açıklamaya çalışalım. Diyelim ki ekrana şöyle bir çıktı vermek istiyoruz:

Python programlama dilinin adı "piton" yılanından gelmez Eğer bu cümleyi çift tırnaklar içinde gösterirsek programımız hata verecektir:

>>>print("Python programlama dilinin adı "piton" yılanından gelmez")
File "<stdin>", line 1
  print("Python programlama dilinin adı "piton" yılanından gelmez")
                                              ^
SyntaxError: invalid syntax

Bunun sebebi, cümle içinde geçen ‘piton’ kelimesinin de çift tırnaklar içinde gösterilmiş olmasıdır. Cümlenin, yani karakter dizisinin kendisi de çift tırnak içinde gösterildiği için Python, karakter dizisini başlatan ve bitiren tırnakların hangisi olduğunu ayırt edemiyor. Yukarıdaki cümleyi en kolay şu şekilde ekrana yazdırabiliriz:

>>>print('Python programlama dilinin adı "piton" yılanından gelmez')

Python programlama dilinin adı "piton" yılanından gelmez

Burada karakter dizisini tek tırnak içine aldık. Karakter dizisi içinde geçen ‘piton’ kelimesi çift tırnak içinde olduğu için, karakter dizisini başlatıp bitiren tırnaklarla ‘piton’ kelimesindeki tırnakların birbirine karışması gibi bir durum söz konusu değildir.

Bir de şöyle bir örnek verelim: Diyelim ki aşağıdaki gibi bir çıktı elde etmek istiyoruz:

İstanbul'un 5 günlük hava durumu tahmini Eğer bu karakter dizisini tek tırnak işaretleri içinde belirtirseniz Python size bir hata mesajı gösterecektir:

>>>print('İstanbul'un 5 günlük hava durumu tahmini')

File "<stdin>", line 1
  print('İstanbul'un 5 günlük hava durumu tahmini')
                    ^
SyntaxError: invalid syntax

Bu hatanın sebebi ‘İstanbul’un’ kelimesi içinde geçen kesme işaretidir. Tıpkı bir önceki örnekte olduğu gibi, Python karakter dizisini başlatan ve bitiren tırnakların hangisi olduğunu kestiremiyor. Python, karakter dizisinin en başındaki tek tırnak işaretinin ardından ‘İstanbul’un’ kelimesi içindeki kesme işaretini görünce karakter dizisinin burada sona erdiğini zannediyor. Ancak karakter dizisini soldan sağa doğru okumaya devam edince bir yerlerde bir terslik olduğunu düşünüyor ve bize bir hata mesajı göstermekten başka çaresi kalmıyor. Yukarıdaki karakter dizisini en kolay şöyle tanımlayabiliriz:

>>>print("İstanbul'un 5 günlük hava durumu tahmini")

İstanbul'un 5 günlük hava durumu tahmini

Burada da, karakter dizisi içinde geçen kesme işaretine takılmamak için karakter dizimizi çift tırnak işaretleri içine alıyoruz.

Yukarıdaki karakter dizilerini düzgün bir şekilde çıktı verebilmek için üç tırnak işaretlerinden de yararlanabiliriz:

>>>print("""Python programlama dilinin adı "piton" yılanından gelmez""")

Python programlama dilinin adı "piton" yılanından gelmez

>>>print("""İstanbul'un 5 günlük hava durumu tahmini""")

İstanbul'un 5 günlük hava durumu tahmini

Bütün bu örneklerden sonra kafanızda şöyle bir düşünce uyanmış olabilir:

Görünüşe göre üç tırnak işaretiyle her türlü karakter dizisini hatasız bir şekilde ekrana çıktı olarak verebiliyoruz. O zaman ben en iyisi bütün karakter dizileri için üç tırnak işaretini kullanayım!

Elbette, eğer isterseniz pek çok karakter dizisi için üç tırnak işaretini kullanabilirsiniz. Ancak Python’da karakter dizileri tanımlanırken genellikle tek tırnak veya çift tırnak işaretleri kullanılır. Üç tırnak işaretlerinin asıl kullanım yeri ise farklıdır. Peki nedir bu üç tırnak işaretlerinin asıl kullanım yeri?

Üç tırnak işaretlerini her türlü karakter dizisiyle birlikte kullanabiliyor olsak da, bu tırnak tipi çoğunlukla sadece birden fazla satıra yayılmış karakter dizilerini tanımlamada kullanılır. Örneğin şöyle bir ekran çıktısı vermek istediğinizi düşünün:

[H]=========HARMAN========[-][o][x] Programa Hoşgeldiniz! Sürüm 0.8 Devam etmek için herhangi bir düğmeye basın.
=============================

Böyle bir çıktı verebilmek için eğer tek veya çift tırnak kullanmaya kalkışırsanız epey eziyet çekersiniz. Bu tür bir çıktı vermenin en kolay yolu üç tırnakları kullanmaktır:

print(""" [H]=========HARMAN========[-][o][x] Programa Hoşgeldiniz! Sürüm 0.8 Devam etmek için herhangi bir düğmeye basın.
=============================

""") Burada bazı şeyler dikkatinizi çekmiş olmalı. Gördüğünüz gibi, üç tırnaklı yapı öteki tırnak tiplerine göre biraz farklı davranıyor. Şimdi şu örneğe bakın:

>>>print("""Game Over!

Buraya çok dikkatli bakın. Karakter dizisine üç tırnakla başladıktan sonra, kapanış tırnağını koymadan Enter tuşuna bastığımızda >>> işareti … işaretine dönüştü. Python bu şekilde bize, ‘yazmaya devam et!’ demiş oluyor. Biz de buna uyarak yazmaya devam edelim:

>>>print("""Game Over!
. . .Insert Coin!""")

Game Over!
Insert Coin!

Kapanış tırnağı koyulmadan Enter tuşuna basıldığında >>> işaretinin … işaretine dönüşmesi üç tırnağa özgü bir durumdur. Eğer aynı şeyi tek veya çift tırnaklarla yapmaya çalışırsanız programınız hata verir:

print("Game Over!

File "<stdin>", line 1
  print("Game Over!
                  ^
SyntaxError: EOL while scanning string literal

…veya:

print('Game Over!

File "<stdin>", line 1
  print("Game Over!
                  ^
SyntaxError: EOL while scanning string literal

Üç tırnak işaretlerinin tırnak kapanmadan Enter tuşuna basıldığında hata vermeme özelliği sayesinde, bu tırnak tipi özellikle birden fazla satıra yayılmış karakter dizilerinin gösterilmesi için birebirdir.

Gelin isterseniz üç tırnak kullanımına ilişkin bir örnek daha verelim:

>>>print("""Python programlama dili Guido Van Rossum
. . .adlı Hollandalı bir programcı tarafından 90’lı
. . .yılların başında geliştirilmeye başlanmıştır. Çoğu
. . .insan, isminin "Python" olmasına bakarak, bu programlama
. . .dilinin, adını piton yılanından aldığını düşünür.
. . .Ancak zannedildiğinin aksine bu programlama dilinin
. . .adı piton yılanından gelmez.""")

Python programlama dili Guido Van Rossum
adlı Hollandalı bir programcı tarafından 90'lı
yılların başında geliştirilmeye başlanmıştır. Çoğu
insan, isminin "Python" olmasına bakarak, bu programlama
dilinin, adını piton yılanından aldığını düşünür.
Ancak zannedildiğinin aksine bu programlama dilinin
dı piton yılanından gelmez.

Elbette eğer istersek bu metni önce bir değişkene atamayı da tercih edebiliriz:

>>>python_hakkinda = """Python programlama dili Guido Van Rossum
. . .adlı Hollandalı bir programcı tarafından 90’lı
. . .yılların başında geliştirilmeye başlanmıştır. Çoğu
. . .insan, isminin "Python" olmasına bakarak, bu programlama
. . .dilinin, adını piton yılanından aldığını düşünür.
. . .Ancak zannedildiğinin aksine bu programlama dilinin
. . .adı piton yılanından gelmez."""
>>>print(python_hakkinda)

Python programlama dili Guido Van Rossum
adlı Hollandalı bir programcı tarafından 90'lı
yılların başında geliştirilmeye başlanmıştır. Çoğu
insan, isminin "Python" olmasına bakarak, bu programlama
dilinin, adını piton yılanından aldığını düşünür.
Ancak zannedildiğinin aksine bu programlama dilinin
adı piton yılanından gelmez.

Siz yukarıdaki çıktıyı tek veya çift tırnak kullanarak nasıl ekrana yazdırabileceğinizi düşünedurun, biz önemli bir konuya geçiş yapalım!

Bir Fonksiyon Olarak print()

print() ifadesinin bir fonksiyon olduğunu söylemiştik hatırlarsanız. Dediğimiz gibi, fonksiyonlarla ilgili ayrıntılı açıklamaları ilerleyen derslerde vereceğiz. Ancak şimdi dilerseniz bundan sonra anlatacaklarımızı daha iyi kavrayabilmemiz için, fonksiyonlar hakkında bilmemiz gereken bazı temel şeyleri öğrenmeye çalışalım.

Gördüğünüz gibi, print() fonksiyonunu şöyle kullanıyoruz:

>>>print("Aramak istediğiniz kelimeyi yazın: ")

Burada print() bir fonksiyon, “Aramak istediğiniz kelimeyi yazın:” adlı karakter dizisi ise bu fonksiyonun parametresidir. Daha önce len() adlı başka bir fonksiyon daha öğrenmiştik hatırlarsanız. Onu da şöyle kullanıyorduk:

>>>len("elma")

Burada da len() bir fonksiyon, “elma” adlı karakter dizisi ise bu fonksiyonun parametresidir. Aslında biçim olarak print() ve len() fonksiyonlarının birbirinden hiçbir farkı olmadığını görüyorsunuz.

Daha önce söylediğimiz ve bu örneklerden de anladığımız gibi, bir fonksiyonun parantezleri içinde belirtilen öğelere parametre adı veriliyor. Mesela aşağıdaki örnekte print() fonksiyonunu tek bir parametre ile kullanıyoruz:

>>>print('En az 8 haneli bir parola belirleyin.')

print() fonksiyonu, tıpkı pow() fonksiyonu gibi, birden fazla parametre alabilir:

>>>print('Fırat', 'Özgül')

Fırat Özgül

Bu örnekte bizim için çıkarılacak çok dersler var. Bir defa burada print() fonksiyonunu iki farklı parametre ile birlikte kullandık. Bunlardan ilki Fırat adlı bir karakter dizisi, ikincisi ise Özgül adlı başka bir karakter dizisi. Python’ın bu iki karakter dizisini nasıl birleştirdiğine dikkat edin. print() fonksiyonu bu iki karakter dizisini çıktı olarak verirken aralarına da birer boşluk yerleştirdi. Ayrıca, geçen derste de vurguladığımız gibi, parametrelerin birbirinden virgül ile ayrıldığını da gözden kaçırmıyoruz.

Gelin bununla ilgili bir iki örnek daha verelim elimizin alışması için:

>>>print("Python", "Programlama", "Dili")

Python Programlama Dili

>>>print('Fırat', 'Özgül', 'Adana', 1980)

Fırat Özgül Adana 1980

Bu arada dikkatinizi önemli bir noktaya çekmek istiyorum. Yukarıdaki örneklerde bazen tek tırnak, bazen de çift tırnak kullandık. Daha önce de söylediğimiz gibi, hangi tırnak tipini kullandığımız önemli değildir. Python hangi tırnak tipini kullandığımızdan ziyade, tırnak kullanımında tutarlı olup olmadığımızla ilgilenir. Yani Python için önemli olan, karakter dizisini hangi tırnakla başlatmışsak, o tırnakla bitirmemizdir. Yani şu tip kullanımlar geçerli değildir:

>>>print("karakter dizisi')

>>>print('karakter dizisi")

Karakter dizisini tanımlamaya başlarken kullandığımız tırnak tipi ile karakter dizisini tanımlamayı bitirirken kullandığımız tırnak tipi birbirinden farklı olduğu için bu iki kullanım da hata verecektir.

print() Fonksiyonunun Parametreleri

Şimdiye kadar verdiğimiz örneklerde belki çok da belli olmuyordur, ama aslında print() fonksiyonu son derece güçlü bir araçtır. İşte şimdi biz bu fonksiyonun gücünü gözler önüne seren özelliklerini incelemeye başlayacağız. Bu bölümü dikkatle takip etmeniz, ilerde yapacağımız çalışmaları daha rahat anlayabilmeniz açısından büyük önem taşır.

sep

print() fonksiyonu ile ilgili olarak yukarıda verdiğimiz örnekleri incelediğimizde, bu fonksiyonun kendine özgü bir davranış şekli olduğunu görüyoruz. Mesela bir önceki bölümde verdiğimiz şu örneğe bakalım:

>>>print('Fırat', 'Özgül')

Fırat Özgül

Burada print() fonksiyonunu iki farklı parametre ile birlikte kullandık. Bu fonksiyon, kendisine verdiğimiz bu parametreleri belli bir düzene göre birbiriyle birleştirdi. Bu düzen gereğince print(), kendisine verilen parametreleri birleştirirken, parametreler arasına bir boşluk yerleştiriyor. Bunu daha net görmek için şöyle bir örnek daha verelim:

>>>print("Python", "PHP", "C++", "C", "Erlang")

Python PHP C++ C Erlang

Gördüğünüz gibi, print() fonksiyonu gerçekten de, kendisine verilen parametreleri birleştirirken, parametrelerin her biri arasına bir boşluk yerleştiriyor. Halbuki bu boşluğu biz talep etmedik! Python bize bu boşluğu eşantiyon olarak verdi. Çoğu durumda istediğimiz şey bu olacaktır, ama bazı durumlarda bu boşluğu istemeyebiliriz. Örneğin:

>>>print("http://", "www.", "istihza.", "com")

http:// www. istihza. com

Ya da boşluk karakteri yerine daha farklı bir karakter kullanmak istiyor da olabiliriz. Peki böyle bir durumda ne yapmamız gerekir?

İşte bu noktada bazı özel araçlardan yararlanarak print() fonksiyonunun öntanımlı davranış kalıpları üzerinde değişiklikler yapabiliriz.

Peki nedir print() fonksiyonunu özelleştirmemizi sağlayacak bu araçlar?

Hatırlarsanız, Python’da fonksiyonların parantezleri içindeki değerlere parametre adı verildiğini söylemiştik. Mesela print() fonksiyonunu bir ya da daha fazla parametre ile birlikte kullanabileceğimizi biliyoruz:

>>>print("Mehmet", "Öz", "İstanbul", "Çamlıca", 156, "/", 45)

Mehmet Öz İstanbul Çamlıca 156 / 45

print() fonksiyonu içinde istediğimiz sayıda karakter dizisi ve/veya sayı değerli parametre kullanabiliriz.

Fonksiyonların bir de daha özel görünümlü parametreleri vardır. Mesela print() fonksiyonunun sep adlı özel bir parametresi bulunur. Bu parametre print() fonksiyonunda görünmese bile her zaman oradadır. Yani diyelim ki şöyle bir kod yazdık:

>>>print("http://", "www.", "google.", "com") Burada herhangi bir sep parametresi görmüyoruz. Ancak Python yukarıdaki kodu aslında şöyle algılar:

>>>print("http://", "www.", "google.", "com", sep=" ") sep ifadesi, İngilizcede separator (ayırıcı, ayraç) kelimesinin kısaltmasıdır. Dolayısıyla print() fonksiyonundaki bu sep parametresi, ekrana basılacak öğeler arasına hangi karakterin yerleştirileceğini gösterir. Bu parametrenin öntanımlı değeri bir adet boşluk karakteridir (” “). Yani siz bu özel parametrenin değerini başka bir şeyle değiştirmezseniz, Python bu parametrenin değerini bir adet boşluk karakteri olarak alacak ve ekrana basılacak öğeleri birbirinden birer boşlukla ayıracaktır. Ancak eğer biz istersek bu sep parametresinin değerini değiştirebiliriz. Böylece Python, karakter dizilerini birleştirirken araya boşluk değil, bizim istediğimiz başka bir karakteri yerleştirebilir. Gelin şimdi bu parametrenin değerini nasıl değiştireceğimizi görelim:

>>>print("http://", "www.", "istihza.", "com", sep="")

http://www.istihza.com

Gördüğünüz gibi, karakter dizilerini başarıyla birleştirip, geçerli bir internet adresi elde ettik.

Burada yaptığımız şey aslında çok basit. Sadece sep parametresinin ‘bir adet boşluk karakteri’ olan öntanımlı değerini silip, yerine ‘boş bir karakter dizisi’ değerini yazdık. Bu iki kavramın birbirinden farklı olduğunu söylediğimizi hatırlıyorsunuz, değil mi?

Gelin bir örnek daha yapalım:

>>>print("T", "C", sep=".")

T.C

Burada Python’a şöyle bir emir vermiş olduk:

“T” ve “C” karakter dizilerini birbiriyle birleştir! Bunu yaparken de bu karakter dizilerinin arasına nokta işareti yerleştir!

sep parametresinin öteki parametrelerden farkı her zaman ismiyle birlikte kullanılmasıdır. Zaten teknik olarak da bu tür parametrelere ‘isimli parametreler’ adı verilir. Örneğin:

>>>print("Adana", "Mersin", sep="-")

Adana-Mersin

Eğer burada sep parametresinin ismini belirtmeden, doğrudan parametrenin değerini yazarsak, bu değerin öteki parametrelerden hiçbir farkı kalmayacaktır:

>>>print("Adana", "Mersin", "-")

Adana Mersin -

Gelin isterseniz bu parametreyle ilgili bir örnek daha yapalım:

‘Bir mumdur iki mumdur…’ diye başlayan türküyü biliyorsunuzdur. Şimdi bu türküyü Python’la nasıl yazabileceğimizi görelim!

>>>print("bir", "iki", "üç", "dört", "on dört", sep="mumdur")

birmumdurikimumdurüçmumdurdörtmumduron dört

Burada bir terslik olduğu açık! Karakter dizileri birbirlerine sıkışık düzende birleştirildi. Bunların arasında birer boşluk olsa tabii daha iyi olurdu. Ancak biliyorsunuz sep parametresinin öntanımlı değerini silip, yerine “mumdur” değerini yerleştirdiğimiz için, Python’ın otomatik olarak yerleştirdiği boşluk karakteri kayboldu. Ama eğer istersek o boşluk karakterlerini kendimiz de ayarlayabiliriz:

>>>print("bir", "iki", "üç", "dört", "on dört", sep=" mumdur ")

bir mumdur iki mumdur üç mumdur dört mumdur on dört

Gördüğünüz gibi, sep parametresine verdiğimiz “mumdur” değerinin sağında ve solunda birer boşluk bırakarak sorunumuzu çözebildik. Bu sorunu çözmenin başka bir yolu daha var. Hatırlarsanız etkileşimli kabukta ilk örneklerimizi verirken karakter dizilerini birleştirmek için + işaretinden de yararlanabileceğimizi söylemiştik. Dolayısıyla sep parametresini şöyle de yazabiliriz:

>>>print("bir", "iki", "üç", "dört", "on dört", sep=" " + "mumdur" + " ") Burada da, “mumdur” adlı karakter dizisinin başında ve sonunda birer boşluk bırakmak yerine, gerekli boşlukları + işareti yardımıyla bu karakter dizisine birleştirdik. Hatta istersek + işlecini kullanmak zorunda olmadığımızı dahi biliyorsunuz:

>>>print("bir", "iki", "üç", "dört", "on dört", sep=" " "mumdur" " ") Ama gördüğünüz gibi bir problemimiz daha var. Türkünün sözleri şu şekilde olmalıydı:

bir mumdur iki mumdur üç mumdur dört mumdur on dört mumdur

Ama sondaki ‘mumdur’ kelimesi yukarıdaki çıktıda yok. Normal olan da bu aslında. sep parametresi, karakter dizilerinin arasına bir değer yerleştirir. Karakter dizilerinin son tarafıyla ilgilenmez. Bu iş için print() fonksiyonu başka bir parametreye sahiptir.

Bu arada, yukarıdaki örneklerde hep karakter dizilerini kullanmış olmamız sizi yanıltmasın. sep parametresi yalnızca karakter dizilerinin değil sayıların arasına da istediğiniz bir değerin yerleştirilmesini sağlayabilir. Mesela:

>>>print(1, 2, 3, 4, 5, sep="-")

1-2-3-4-5

Ancak sep parametresine değer olarak yalnızca karakter dizilerini ve None adlı özel bir sözcüğü verebiliriz. (None sözcüğünden ileride söz edeceğiz):

>>>print(1, 2, 3, 4, 5, sep=0)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sep must be None or a string, not int

Gördüğünüz gibi, sep parametresine bir sayı olan 0 değerini veremiyoruz.

Peki bu parametreye None değeri verirsek ne olur? Bu parametreye None değeri verildiğinde, print() fonksiyonu bu parametre için öntanımlı değeri (yani bir adet boşluk) kullanır:

>>>print('a', 'b', sep=None)

a b

Eğer amacınız parametreleri birbirine bitiştirmekse, yani sep parametresinin öntanımlı değeri olan boşluk karakterini ortadan kaldırmaksa, sep parametresine boş bir karakter dizisi vermeniz gerektiğini biliyorsunuz:

>>>print('a', 'b', sep='')

ab

print() fonksiyonunun sep parametresini bütün ayrıntılarıyla incelediğimize göre, bu fonksiyonun bir başka özel parametresinden söz edebiliriz.

end

Bir önceki bölümde şöyle bir laf etmiştik:

print() fonksiyonun sep adlı özel bir parametresi bulunur. Bu parametre print() fonksiyonunda görünmese bile her zaman oradadır.

Aynı bu şekilde, print() fonksiyonunun end adlı özel bir parametresi daha bulunur. Tıpkı sep parametresi gibi, end parametresi de print() fonksiyonunda görünmese bile her zaman oradadır.

Bildiğiniz gibi, sep parametresi print() fonksiyonuna verilen parametreler birleştirilirken araya hangi karakterin gireceğini belirliyordu. end parametresi ise bu parametrelerin sonuna neyin geleceğini belirler.

print() fonksiyonu öntanımlı olarak, parametrelerin sonuna ‘satır başı karakteri’ ekler. Peki bu satır başı karakteri (veya ‘yeni satır karakteri’) denen şey de ne oluyor?

Dilerseniz bunu bir örnek üzerinde görelim.

Şöyle bir kodumuz olsun:

>>>print("Pardus ve Ubuntu birer GNU/Linux dağıtımıdır.") Bu kodu yazıp Enter tuşuna bastığımız anda print() fonksiyonu iki farklı işlem gerçekleştirir:

Öncelikle karakter dizisini ekrana yazdırır.

Ardından bir alt satıra geçip bize >>> işaretini gösterir.

İşte bu ikinci işlem, karakter dizisinin sonunda bir adet satır başı karakteri olmasından, daha doğrusu print() fonksiyonunun, satır başı karakterini karakter dizisinin sonuna eklemesinden kaynaklanır. Bu açıklama biraz kafa karıştırıcı gelmiş olabilir. O halde biraz daha açıklayalım. Şu örneğe bakın:

>>>print("Pardus\nUbuntu")

Pardus
Ubuntu

Burada “Pardus” ve “Ubuntu” karakter dizilerinin tam ortasında çok özel bir karakter dizisi daha görüyorsunuz. Bu karakter dizisi şudur: \n. İşte bu özel karakter dizisine satır başı karakteri (newline) adı verilir. Bu karakterin görevi, karakter dizisini, bulunduğu noktadan bölüp, karakter dizisinin geri kalanını bir alt satıra geçirmektir. Zaten çıktıda da bu işlevi yerine getirdiğini görüyorsunuz. Karakter dizisi “Pardus” kısmından sonra ikiye bölünüyor ve bu karakter dizisinin geri kalan kısmı olan “Ubuntu” karakter dizisi bir alt satıra yazdırılıyor. Bunu daha iyi anlamak için bir örnek daha verelim:

>>>print("birinci satır\nikinci satır\nüçüncü satır")

birinci satır
ikinci satır
üçüncü satır

Peki size bir soru sorayım: Acaba yukarıdaki kodları daha verimli bir şekilde nasıl yazabiliriz?

Evet, doğru tahmin ettiniz… Tabii ki sep parametresini kullanarak:

>>>print("birinci satır", "ikinci satır", "üçüncü satır", sep="\n")

birinci satır
ikinci satır
üçüncü satır

Burada yaptığımız şey çok basit. sep parametresinin değerini \n, yani yeni satır karakteri (veya satır başı karakteri) olarak değiştirdik. Böylece karakter dizileri arasına birer \n karakteri yerleştirerek her bir karakter dizisinin farklı satıra yazdırılmasını sağladık.

İşte end parametresinin öntanımlı değeri de bu \n karakteridir ve bu parametre print() fonksiyonunda görünmese bile her zaman oradadır.

Yani diyelim ki şöyle bir kod yazdık:

>>>print("Bugün günlerden Salı") Burada herhangi bir end parametresi görmüyoruz. Ancak Python yukarıdaki kodu aslında şöyle algılar:

>>>print("Bugün günlerden Salı", end="\n") Biraz önce de dediğimiz gibi, bu kodu yazıp Enter tuşuna bastığımız anda print() fonksiyonu iki farklı işlem gerçekleştirir:

Öncelikle karakter dizisini ekrana yazdırır.

Ardından bir alt satıra geçip bize >>> işaretini gösterir.

Bunun ne demek olduğunu anlamak için end parametresinin değerini değiştirmemiz yeterli olacaktır:

>>>print("Bugün günlerden Salı", end=".")

Bugün günlerden Salı.>>>

Gördüğünüz gibi, end parametresinin öntanımlı değeri olan \n karakterini silip yerine . (nokta) işareti koyduğumuz için, komutu yazıp Enter tuşuna bastığımızda print() fonksiyonu satır başına geçmedi. Yeni satıra geçebilmek için Enter tuşuna kendimiz basmalıyız. Elbette, eğer yukarıdaki kodları şöyle yazarsanız, print() fonksiyonu hem karakter dizisinin sonuna nokta ekleyecek, hem de satır başına geçecektir:

>>>print("Bugün günlerden Salı", end=".\n")

Bugün günlerden Salı.

Şimdi bu öğrendiklerimizi türkümüze uygulayalım:

>>>print("bir", "iki", "üç", "dört", "on dört",
sep=" mumdur ", end=" mumdur\n")

Burada kodlarımızın sağa doğru çirkin bir şekilde uzamasını engellemek için “on dört” karakter dizisini yazıp virgülü koyduktan sonra Enter tuşuna basarak bir alt satıra geçtik. Bir alt satıra geçtiğimizde >>> işaretinin … işaretine dönüştüğüne dikkat edin. Python’da doğru kod yazmak kadar, yazdığımız kodların düzgün görünmesi de önemlidir. O yüzden yazdığımız her bir kod satırının mümkün olduğunca 79 karakteri geçmemesini sağlamalıyız. Eğer yazdığınız bir satır 79 karakteri aşıyorsa, aşan kısmı yukarıda gösterdiğimiz şekilde alt satıra alabilirsiniz. end parametresi de, tıpkı sep parametresi gibi, her zaman ismiyle birlikte kullanılması gereken bir parametredir. Yani eğer end parametresinin ismini belirtmeden sadece değerini kullanmaya çalışırsak Python ne yapmaya çalıştığımızı anlayamaz.

Yine tıpkı sep parametresi gibi, end parametresinin değeri de sadece bir karakter dizisi veya None olabilir:

>>>print(1, 2, 3, 4, 5, end=0)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: end must be None or a string, not int

Gördüğünüz gibi, end parametresine bir sayı olan 0 değerini veremiyoruz.

Eğer bu parametreye None değeri verirsek, tıpkı sep parametresinde olduğu gibi, print() fonksiyonu bu parametre için öntanımlı değeri (yani satır başı karakteri) kullanır:

>>>print('a', 'b', end=None)

a b

Eğer amacınız yeni satıra geçilmesini engellemekse, yani end parametresinin öntanımlı değeri olan \n kaçış dizisini ortadan kaldırmaksa, end parametresine boş bir karakter dizisi vermelisiniz:

>>>print('a', 'b', end='')

a b>>>

file

Burada henüz öğrenmediğimiz bazı şeyler göreceksiniz. Hiç endişe etmeyin. Bunları ilerde bütün ayrıntılarıyla öğreneceğiz. Şimdilik konu hakkında biraz olsun fikir sahibi olmanızı sağlayabilirsek kendimizi başarılı sayacağız. print() fonksiyonunun sep ve end dışında üçüncü bir özel parametresi daha bulunur. Bu parametrenin adı file’dır. Görevi ise, print() fonksiyonuna verilen karakter dizisi ve/veya sayıların, yani parametrelerin nereye yazılacağını belirtmektir.

Bu parametrenin öntanımlı değeri sys.stdout’tur. Peki bu ne anlama geliyor? sys.stdout, ‘standart çıktı konumu’ anlamına gelir. Peki ‘standart çıktı konumu’ ne demek?

Standart çıktı konumu; bir programın, ürettiği çıktıları verdiği yerdir. Aslında bu kavramın ne demek olduğu adından da anlaşılıyor:

standart çıktı konumu = çıktıların standart olarak verildiği konum.

Mesela Python öntanımlı olarak, ürettiği çıktıları ekrana verir. Eğer o anda etkileşimli kabukta çalışıyorsanız, Python ürettiği çıktıları etkileşimli kabuk üzerinde gösterir. Eğer yazdığınız bir programı komut satırında çalıştırıyorsanız, üretilen çıktılar komut satırında görünür. Dolayısıyla Python’ın standart çıktı konumu etkileşimli kabuk veya komut satırıdır. Yani print() fonksiyonu yardımıyla bastığınız çıktılar etkileşimli kabukta ya da komut satırında görünecektir.

Şimdi bu konuyu daha iyi anlayabilmek için birkaç örnek yapalım.

Normal şartlar altında print() fonksiyonunun çıktısını etkileşimli kabukta görürüz:

>>>print("Ben Python, Monty Python!")

Ben Python, Monty Python!

Ama eğer istersek print() fonksiyonunun, çıktılarını ekrana değil, bir dosyaya yazdırmasını da sağlayabiliriz. Mesela biz şimdi print() fonksiyonunun deneme.txt adlı bir dosyaya çıktı vermesini sağlayalım.

Bunun için sırasıyla şu kodları yazalım:

>>>dosya = open("deneme.txt", "w")
>>>print("Ben Python, Monty Python!", file=dosya)
>>>dosya.close()

Herhangi bir çıktı almadınız, değil mi? Evet. Çünkü yazdığımız bu kodlar sayesinde print() fonksiyonu, çıktılarını deneme.txt adlı bir dosyaya yazdırdı.

Gelin isterseniz yukarıdaki kodları satır satır inceleyelim:

  1. Öncelikle deneme.txt adlı bir dosya oluşturduk ve bu dosyayı dosya adlı bir değişkene atadık. Burada kullandığımız open() fonksiyonuna çok takılmayın. Bunu birkaç bölüm sonra inceleyeceğiz. Biz şimdilik bu şekilde dosya oluşturulduğunu bilelim yeter. Bu arada open fonksiyonunun da biçim olarak type(), len(), pow() ve print() fonksiyonlarına ne kadar benzediğine dikkat edin. Gördüğünüz gibi open() fonksiyonu da tıpkı type(), len(), pow() ve print() fonksiyonları gibi birtakım parametreler alıyor. Bu fonksiyonun ilk parametresi “deneme.txt” adlı bir karakter dizisi. İşte bu karakter dizisi bizim oluşturmak istediğimiz dosyanın adını gösteriyor. İkinci parametre ise “w” adlı başka bir karakter dizisi. Bu da deneme.txt dosyasının yazma kipinde (modunda) açılacağını gösteriyor. Ama dediğim gibi, siz şimdilik bu ayrıntılara fazla takılmayın. İlerleyen derslerde, bu konuları adınızı bilir gibi bileceğinizden emin olabilirsiniz.

  2. Oluşturduğumuz bu deneme.txt adlı dosya, o anda bulunduğunuz dizin içinde oluşacaktır. Bu dizinin hangisi olduğunu öğrenmek için şu komutları verebilirsiniz:

>>>import os
>>>os.getcwd()

Bu komutun çıktısında hangi dizinin adı görünüyorsa, deneme.txt dosyası da o dizinin içindedir. Mesela bendeki çıktı /home/yazbel/Desktop. Demek ki oluşturduğum deneme.txt adlı dosya masaüstündeymiş. Ben bu komutları Ubuntu üzerinde verdim. Eğer Windows üzerinde verseydim şuna benzer bir çıktı alacaktım: C:\Users\yazbel\Desktop

  1. Ardından da normal bir şekilde print() fonksiyonumuzu çalıştırdık. Ama gördüğünüz gibi print() fonksiyonu bize herhangi bir çıktı vermedi. Çünkü, daha önce de söylediğimiz gibi, print() fonksiyonunu biz ekrana değil, dosyaya çıktı verecek şekilde ayarladık. Bu işlemi, file adlı bir parametreye, biraz önce tanımladığımız dosya değişkenini yazarak yaptık.

  2. Son komut yardımıyla da, yaptığımız değişikliklerin dosyada görünebilmesi için ilk başta açtığımız dosyayı kapatıyoruz.

Şimdi deneme.txt adlı dosyayı açın. Biraz önce print() fonksiyonuyla yazdırdığımız “Ben Python, Monty Python!” karakter dizisinin dosyaya işlenmiş olduğunu göreceksiniz.

Böylece print() fonksiyonunun standart çıktı konumunu değiştirmiş olduk. Yani print() fonksiyonunun file adlı parametresine farklı bir değer vererek, print() fonksiyonunun etkileşimli kabuğa değil dosyaya yazmasını sağladık.

Tıpkı sep ve end parametreleri gibi, file parametresi de, siz görmeseniz bile her zaman print() fonksiyonunun içinde vardır. Yani diyelim ki şöyle bir komut verdik:

>>>print("Tahir olmak da ayıp değil", "Zühre olmak da") Python bu komutu şöyle algılar:

>>>print("Tahir olmak da ayıp değil", "Zühre olmak da",
. . .sep=" ", end="\n", file=sys.stdout)

Yani kendisine parametre olarak verilen değerleri ekrana yazdırırken sırasıyla şu işlemleri gerçekleştirir:

Parametrelerin arasına birer boşluk koyar (sep=" "),

Ekrana yazdırma işlemi bittikten sonra parametrelerin sonuna satır başı karakteri ekler (end="\n")

Bu çıktıyı standart çıktı konumuna gönderir (file=sys.stdout).

İşte biz burada file parametresinin değeri olan standart çıktı konumuna başka bir değer vererek bu konumu değiştiriyoruz.

Gelin isterseniz bununla ilgili bir örnek daha yapalım. Mesela kişisel bilgilerimizi bir dosyaya kaydedelim. Öncelikle bilgileri kaydedeceğimiz dosyayı oluşturalım:

>>>f = open("kişisel_bilgiler.txt", "w") Bu kodlarla, kişisel_bilgiler.txt adını taşıyan bir dosyayı yazma kipinde (w) açmış ve bu dosyayı f adlı bir değişkene atamış olduk. Şimdi bilgileri yazmaya başlayabiliriz:

>>>print("Fırat Özgül", file=f)
>>>print("Adana", file=f)
>>>print("Ubuntu", file=f)

İşimiz bittiğinde dosyayı kapatmayı unutmuyoru İşimiz bittiğinde dosyayı kapatmayı unutmuyoruz. Böylece bütün bilgiler dosyaya yazılmış oluyor:

>>>f.close() Oluşturduğumuz kişisel_bilgiler.txt adlı dosyayı açtığımızda, print() fonksiyonuna verdiğimiz parametrelerin dosyaya yazdırıldığını görüyoruz.

En başta da söylediğim gibi, bu bölümde henüz öğrenmediğimiz bazı şeylerle karşılaştık. Eğer yukarıda verilen örnekleri anlamakta zorlandıysanız hiç endişe etmenize gerek yok. Birkaç bölüm sonra burada anlattığımız şeyler size çocuk oyuncağı gibi gelecek…

flush

Şimdiye kadar print() fonksiyonunun sep, end ve file adlı özel birtakım parametreleri olduğunu öğrendik. print() fonksiyonunun bunların dışında başka bir özel parametresi daha bulunur. Bu parametrenin adı flush. İşte şimdi biz print() fonksiyonunun bu flush adlı parametresinden söz edeceğiz.

Bildiğiniz gibi, print() gibi bir komut verdiğimizde Python, yazdırmak istediğimiz bilgiyi standart çıktı konumuna gönderir. Ancak Python’da bazı işlemler standart çıktı konumuna gönderilmeden önce bir süre tamponda bekletilir ve daha sonra bekleyen bu işlemler topluca standart çıktı konumuna gönderilir. Peki ilk başta çok karmaşıkmış gibi görünen bu ifade ne anlama geliyor?

Aslında siz bu olguya hiç yabancı değilsiniz. file parametresini anlatırken verdiğimiz şu örneği tekrar ele alalım:

>>>f = open("kişisel_bilgiler.txt", "w") Bu komutla kişisel_bilgiler.txt adlı bir dosyayı yazma kipinde açtık. Şimdi bu dosyaya bazı bilgiler ekleyelim:

>>>print("Fırat Özgül", file=f) Bu komutla kişisel_bilgiler.txt adlı dosyaya ‘Fırat Özgül’ diye bir satır eklemiş olduk.

Şimdi bilgisayarınızda oluşan bu kişisel_bilgiler.txt dosyasını açın. Gördüğünüz gibi dosyada hiçbir bilgi yok. Dosya şu anda boş görünüyor. Halbuki biz biraz önce bu dosyaya ‘Fırat Özgül’ diye bir satır eklemiştik, değil mi?

Python bizim bu dosyaya eklemek istediğimiz satırı tampona kaydetti. Dosyaya yazma işlemleri sona erdiğinde ise Python, tamponda bekleyen bütün bilgileri standart çıktı konumuna (yani bizim durumumuzda f adlı değişkenin tuttuğu kişisel_bilgiler.txt adlı dosyaya) boşaltacak.

Dosyaya başka bilgiler de yazalım:

>>>print("Adana", file=f)
>>>print("Ubuntu", file=f)

Dosyaya yazacağımız şeyler bu kadar. Artık yazma işleminin sona erdiğini Python’a bildirmek için şu komutu veriyoruz:

>>>f.close() Böylece dosyamızı kapatmış olduk. Şimdi kişisel_bilgiler.txt adlı dosyaya çift tıklayarak dosyayı tekrar açın. Orada ‘Fırat Özgül’, ‘Adana’ ve ‘Ubuntu’ satırlarını göreceksiniz.

Gördüğünüz gibi, gerçekten de Python dosyaya yazdırmak istediğimiz bütün verileri önce tamponda bekletti, daha sonra dosya kapatılınca tamponda bekleyen bütün verileri dosyaya boşalttı. İşte flush parametresi ile, bahsettiğimiz bu boşaltma işlemini kontrol edebilirsiniz. Şimdi dikkatlice inceleyin:

>>>f = open("kişisel_bilgiler.txt", "w") Dosyamızı oluşturduk. Şimdi bu dosyaya bazı bilgiler ekleyelim:

>>>print("Merhaba Dünya!", file=f, flush=True) Gördüğünüz gibi, burada flush adlı yeni bir parametre kullandık. Bu parametreye verdiğimiz değer True. Şimdi dosyaya çift tıklayarak dosyayı açın. Gördüğünüz gibi, henüz dosyayı kapatmadığımız halde bilgiler dosyaya yazıldı. Bu durum, tahmin edebileceğiniz gibi, flush parametresine True değeri vermemiz sayesindedir. Bu parametre iki değer alabilir: True ve False. Bu parametrenin öntanımlı değeri False’tur. Yani eğer biz bu parametreye herhangi bir değer belirtmezsek Python bu parametrenin değerini False olarak kabul edecek ve bilgilerin dosyaya yazılması için dosyanın kapatılmasını bekleyecektir. Ancak bu parametreye True değerini verdiğimizde ise veriler tamponda bekletilmeksizin standart çıktı konumuna gönderilecektir.

Yazdığınız bir programda, yapmak istediğiniz işin niteliğine göre, bir dosyaya yazmak istediğiniz bilgilerin bir süre tamponda bekletilmesini veya hiç bekletilmeden doğrudan dosyaya yazılmasını isteyebilirsiniz. İhtiyacınıza bağlı olarak da flush parametresinin değerini True veya False olarak belirleyebilirsiniz. Kaynak: https://python-istihza.yazbel.com/print.html

EfeMertIrez commented 1 year ago

Python’da yazdığımız şeylerin ekrana çıktı olarak verilebilmesi için print() adlı özel bir fonksiyondan yararlanmamız gerekir.

print() de tıpkı type(), len() ve pow() fonksiyonları gibi bir fonksiyondur print() fonksiyonunun görevi ekrana çıktı vermemizi sağlamaktır. Hemen bununla ilgili bir örnek verelim:

print("Python programlama dili")

#Python programlama dili

Burada gördüğümüz “Python programlama dili” bir karakter dizisidir. İşte print() fonksiyonunun görevi bu karakter dizisini ekrana çıktı olarak vermektir. Yukarıda verdiğimiz örnekte ilk gözümüze çarpan şey, karakter dizisini print() fonksiyonunun parantezleri içine yazmış olmamızdır. Bir fonksiyonun parantezleri içinde belirtilen öğelere ‘parametre’ denir. Tıpkı öteki fonksiyonlar gibi, print() fonksiyonu da birtakım parametreler alır. Elbette, eğer istersek burada doğrudan “Python programlama dili” adlı karakter dizisini kullanmak yerine, önce bu karakter dizisini bir değişkene atayıp, sonra da print() fonksiyonunun parantezleri içinde bu değişkeni kullanabiliriz. Yani:

dil = "Python programlama dili"
print(dil)

#Python programlama dili
Alperg123456 commented 1 year ago

Python Print() Fonksiyonu ile Veri Yazdırma Öncelikle IDLE Python uygulamasını başlatalım ve etkileşimli biçimde aşağıdaki her bir kod satırının çıktılarını deneyerek çalışma mantığını anlayalım.

print(1+2) # Ekrana 3 çıktısını verecektir print(2 * 1, 5 + 4) # Ekrana 2,9 çıktısı verecektir print(2 ** 3) # 2 'nin kübünü ekrana 8 olarak yazacaktır print(15 / 3) # 5 print(16 // 3) # 5 print(9 % 3) # 0 Python Input() Fonksiyonu ile Veri Girişi Input() fonksiyonu girdiğimiz sabit değerleri dinamik olarak giriş yapabileceğimiz, girdiğimiz değere göre işlem yaptırmamızı sağlayan giriş fonksiyonudur. Hatırlarsanız yukarıda giriş ve çıkışları bilmemiz gerektiğinden bahsetmiştik. Print() fonksiyonu değerlerin Python yazdırma fonksiyonu iken, Input() fonksiyonu veri girişi yapmamıza olanak verir.

Aşağıdaki örnekte veri1 ve veri2 değişkenleri input() fonsiyonu ile değer ataması yapıyoruz. sonuc değişkeninde veri1 ve veri2 değerlerinin toplamının atamasını gerçekleştiriyoruz. Son olarak print() Python yazdırma fonksiyonu ile ekrana sonucun yazdırılmasını sağlıyoruz. Tüm fonksiyonları birarada kullandığımız aşağıdaki örnek ile bira daha ısınalım. Her bir kod satırını tek tek Python interaktif arayüzüne (IDLE) girelim ve sonuçlarını inceleyelim. veri1 = input() satırını çalıştırdığınızda veri girmenizi bekleyecek ve veri2 satırı çalıştırıldığında tekrar veri girişi yapmanızı bekleyecek. Bu sorunu nasıl çözeceğimizi bir sonraki adımda anlatacağım.

veri1 = input() veri2 = input() sonuc = veri1 + veri2 print(sonuc) Yukarıdaki örneği incelerken farketmiş olmalısınız ki veri1 = input() çalıştırıldığında ekrana hiçbirşey yazmadı ve ne yapmamız gerektiğini yukarıda söylediğim için bilebildik ve bir değer girerek işlemi tamamladık. Bu gerçek bir uygulama olsaydı kullanıcımız ne yapacağını bilemeyekti. Yapılacak işlemi anlatmak için input() fonsiyonuna parametre göndeririz ve gerçekleşmesini istediğimiz işlemi anlatarak kullanıcıyı yönlediririz. Aşağıdaki örneği tekrar inceleyelim.

veri1 = input("Lütfen veri1 için sayı giriniz ve Enter 'a basınız : ") veri2 = input("Lütfen veri2 için sayı giriniz ve Enter 'a basınız : ") sonuc = veri1 + veri2 print("Islem sonucu : ", sonuc) İki örnek sonucununda toplama işlemi değil birleştirme işlemi yaptığını farketmiş olmalısınız. Bunu ileride detaylıca inceleyeceğimiz tip dönüşüm metodları ile çözebiliriz. Örneğimizde int() tip dönüşümü uygulanarak sonucun nasıl değiştiğini görebilirsiniz.

veri1 = input("Lütfen veri1 için sayı giriniz ve Enter 'a basınız : ") veri2 = input("Lütfen veri2 için sayı giriniz ve Enter 'a basınız : ") sonuc = int(veri1) + int(veri2) print("Islem sonucu : ", sonuc)

CinarSatir commented 1 year ago

print() Fonksiyonu Geçen bölümde bir yandan Python’ın etkileşimli kabuğunu yakından tanıyıp bu vesileyle bazı önemli fonksiyon ve araçları öğrenirken, öbür yandan bu öğrendiklerimizi kullanarak örnek programlar yazdık. Gördüğünüz gibi, azıcık bir bilgiyle dahi az çok işe yarar programlar yazmak mümkün olabiliyor. Daha yararlı programlar yazabilmek için henüz öğrenmemiz gereken pek çok şey var. İşte bu bölümde, ‘daha yararlı programlar yazmamızı’ sağlayacak çok önemli bir araçtan söz edeceğiz. Öneminden dolayı ayrıntılı bir şekilde anlatacağımız bu aracın adı print() fonksiyonu.

Elbette bu bölümde sadece print() fonksiyonundan bahsetmeyeceğiz. Bu bölümde print() fonksiyonunun yanısıra Python’daki bazı önemli temel konuları da ele alacağız. Mesela bu bölümde Python’daki karakter dizilerine ve sayılara ilişkin çok önemli bilgiler vereceğiz. Ayrıca print() fonksiyonu vesilesiyle Python’daki ‘fonksiyon’ konusuna da sağlam bir giriş yapmış, bu kavram ile ilgili ilk bilgilerimizi almış olacağız. Sözün özü, bu bölüm bizim için, deyim yerindeyse, tam anlamıyla bir dönüm noktası olacak.

O halde isterseniz lafı daha fazla uzatmadan işe print() fonksiyonunun ne olduğu ve ne işe yaradığını anlatarak başlayalım.

Nedir, Ne İşe Yarar? Şimdiye kadar etkileşimli kabukta gerek karakter dizilerini gerekse sayıları doğrudan ekrana yazdık. Yani şöyle bir şey yaptık:

"Python programlama dili"

'Python programlama dili'

6567

6567 Etkileşimli kabuk da, ekrana yazdığımız bu karakter dizisi ve sayıyı doğrudan bize çıktı olarak verdi. Ancak ilerde Python kodlarımızı bir dosyaya kaydedip çalıştırdığımızda da göreceğiniz gibi, Python’ın ekrana çıktı verebilmesi için yukarıdaki kullanım yeterli değildir. Yani yukarıdaki kullanım yalnızca etkileşimli kabukta çalışır. Bu kodları bir dosyaya kaydedip çalıştırmak istediğimizde hiçbir çıktı alamayız. Python’da yazdığımız şeylerin ekrana çıktı olarak verilebilmesi için print() adlı özel bir fonksiyondan yararlanmamız gerekir.

O halde gelin bu print() fonksiyonunun ne işe yaradığını ve nasıl kullanıldığını anlamaya çalışalım:

print() de tıpkı daha önce gördüğümüz type(), len() ve pow() gibi bir fonksiyondur. Fonksiyonları ilerde daha ayrıntılı bir şekilde inceleyeceğimizi söylemiştik hatırlarsanız. O yüzden fonksiyon kelimesine takılarak, burada anlattığımız şeylerin kafanızı karıştırmasına, moralinizi bozmasına izin vermeyin.

print() fonksiyonunun görevi ekrana çıktı vermemizi sağlamaktır. Hemen bununla ilgili bir örnek verelim:

print("Python programlama dili")

Python programlama dili Bildiğiniz gibi burada gördüğümüz “Python programlama dili” bir karakter dizisidir. İşte print() fonksiyonunun görevi bu karakter dizisini ekrana çıktı olarak vermektir. Peki bu karakter dizisini print() fonksiyonu olmadan yazdığımızda da ekrana çıktı vermiş olmuyor muyuz? Aslında olmuyoruz. Dediğimiz gibi, ilerde programlarımızı dosyalara kaydedip çalıştırdığımızda, başında print() olmayan ifadelerin çıktıda görünmediğine şahit olacaksınız.

Daha önce de dediğimiz gibi, etkileşimli kabuk bir test ortamı olması açısından rahat bir ortamdır. Bu sebeple bu ortamda ekrana çıktı verebilmek için print() fonksiyonunu kullanmak zorunda değilsiniz. Yani başında print() olsa da olmasa da etkileşimli kabuk ekrana yazdırmak istediğiniz şeyi yazdırır. Ama iyi bir alışkanlık olması açısından, ekrana herhangi bir şey yazdıracağınızda ben size print() fonksiyonunu kullanmanızı tavsiye ederim.

print() son derece güçlü bir fonksiyondur. Gelin isterseniz bu güçlü ve faydalı fonksiyonu derin derin incelemeye koyulalım.

Nasıl Kullanılır? Yukarıda verdiğimiz örnekte ilk gözümüze çarpan şey, karakter dizisini print() fonksiyonunun parantezleri içine yazmış olmamızdır. Biz bir fonksiyonun parantezleri içinde belirtilen öğelere ‘parametre’ dendiğini geçen bölümde öğrenmiştik. Tıpkı öğrendiğimiz öteki fonksiyonlar gibi, print() fonksiyonu da birtakım parametreler alır.

Bu arada print() fonksiyonunun parantezini açıp parametreyi yazdıktan sonra, parantezi kapatmayı unutmuyoruz. Python programlama diline yeni başlayanların, hatta bazen deneyimli programcıların bile en sık yaptığı hatalardan biri açtıkları parantezi kapatmayı unutmalarıdır.

Elbette, eğer istersek burada doğrudan “Python programlama dili” adlı karakter dizisini kullanmak yerine, önce bu karakter dizisini bir değişkene atayıp, sonra da print() fonksiyonunun parantezleri içinde bu değişkeni kullanabiliriz. Yani:

dil = "Python programlama dili" print(dil)

Python programlama dili Bu arada, hem şimdi verdiğimiz, hem de daha önce yazdığımız örneklerde bir şey dikkatinizi çekmiş olmalı. Şimdiye kadar verdiğimiz örneklerde karakter dizilerini hep çift tırnakla gösterdik. Ama aslında tek seçeneğimiz çift tırnak değildir. Python bize üç farklı tırnak seçeneği sunar:

Tek tırnak (’ ‘)

Çift tırnak (” “)

Üç tırnak (“”” “””)

Dolayısıyla yukarıdaki örneği üç farklı şekilde yazabiliriz:

print('Python programlama dili')

Python programlama dili

print("Python programlama dili")

Python programlama dili

print("""Python programlama dili""")

Python programlama dili Gördüğünüz gibi çıktılar arasında hiçbir fark yok.

Peki çıktılarda hiçbir fark yoksa neden üç farklı tırnak çeşidi var?

İsterseniz bu soruyu bir örnek üzerinden açıklamaya çalışalım. Diyelim ki ekrana şöyle bir çıktı vermek istiyoruz:

Python programlama dilinin adı "piton" yılanından gelmez Eğer bu cümleyi çift tırnaklar içinde gösterirsek programımız hata verecektir:

print("Python programlama dilinin adı "piton" yılanından gelmez")

File "", line 1 print("Python programlama dilinin adı "piton" yılanından gelmez") ^ SyntaxError: invalid syntax Bunun sebebi, cümle içinde geçen ‘piton’ kelimesinin de çift tırnaklar içinde gösterilmiş olmasıdır. Cümlenin, yani karakter dizisinin kendisi de çift tırnak içinde gösterildiği için Python, karakter dizisini başlatan ve bitiren tırnakların hangisi olduğunu ayırt edemiyor. Yukarıdaki cümleyi en kolay şu şekilde ekrana yazdırabiliriz:

print('Python programlama dilinin adı "piton" yılanından gelmez')

Python programlama dilinin adı "piton" yılanından gelmez Burada karakter dizisini tek tırnak içine aldık. Karakter dizisi içinde geçen ‘piton’ kelimesi çift tırnak içinde olduğu için, karakter dizisini başlatıp bitiren tırnaklarla ‘piton’ kelimesindeki tırnakların birbirine karışması gibi bir durum söz konusu değildir.

Bir de şöyle bir örnek verelim: Diyelim ki aşağıdaki gibi bir çıktı elde etmek istiyoruz:

İstanbul'un 5 günlük hava durumu tahmini Eğer bu karakter dizisini tek tırnak işaretleri içinde belirtirseniz Python size bir hata mesajı gösterecektir:

print('İstanbul'un 5 günlük hava durumu tahmini')

File "", line 1 print('İstanbul'un 5 günlük hava durumu tahmini') ^ SyntaxError: invalid syntax

KAYNAK : https://python-istihza.yazbel.com/print.html

Ardemin commented 1 year ago

Nedir, Ne İşe Yarar? Şimdiye kadar etkileşimli kabukta gerek karakter dizilerini gerekse sayıları doğrudan ekrana yazdık. Yani şöyle bir şey yaptık:

"Python programlama dili"

'Python programlama dili'

6567

6567 Etkileşimli kabuk da, ekrana yazdığımız bu karakter dizisi ve sayıyı doğrudan bize çıktı olarak verdi. Ancak ilerde Python kodlarımızı bir dosyaya kaydedip çalıştırdığımızda da göreceğiniz gibi, Python’ın ekrana çıktı verebilmesi için yukarıdaki kullanım yeterli değildir. Yani yukarıdaki kullanım yalnızca etkileşimli kabukta çalışır. Bu kodları bir dosyaya kaydedip çalıştırmak istediğimizde hiçbir çıktı alamayız. Python’da yazdığımız şeylerin ekrana çıktı olarak verilebilmesi için print() adlı özel bir fonksiyondan yararlanmamız gerekir.

O halde gelin bu print() fonksiyonunun ne işe yaradığını ve nasıl kullanıldığını anlamaya çalışalım:

print() de tıpkı daha önce gördüğümüz type(), len() ve pow() gibi bir fonksiyondur. Fonksiyonları ilerde daha ayrıntılı bir şekilde inceleyeceğimizi söylemiştik hatırlarsanız. O yüzden fonksiyon kelimesine takılarak, burada anlattığımız şeylerin kafanızı karıştırmasına, moralinizi bozmasına izin vermeyin.

print() fonksiyonunun görevi ekrana çıktı vermemizi sağlamaktır. Hemen bununla ilgili bir örnek verelim:

print("Python programlama dili")

Python programlama dili Bildiğiniz gibi burada gördüğümüz “Python programlama dili” bir karakter dizisidir. İşte print() fonksiyonunun görevi bu karakter dizisini ekrana çıktı olarak vermektir. Peki bu karakter dizisini print() fonksiyonu olmadan yazdığımızda da ekrana çıktı vermiş olmuyor muyuz? Aslında olmuyoruz. Dediğimiz gibi, ilerde programlarımızı dosyalara kaydedip çalıştırdığımızda, başında print() olmayan ifadelerin çıktıda görünmediğine şahit olacaksınız.

Daha önce de dediğimiz gibi, etkileşimli kabuk bir test ortamı olması açısından rahat bir ortamdır. Bu sebeple bu ortamda ekrana çıktı verebilmek için print() fonksiyonunu kullanmak zorunda değilsiniz. Yani başında print() olsa da olmasa da etkileşimli kabuk ekrana yazdırmak istediğiniz şeyi yazdırır. Ama iyi bir alışkanlık olması açısından, ekrana herhangi bir şey yazdıracağınızda ben size print() fonksiyonunu kullanmanızı tavsiye ederim.

print() son derece güçlü bir fonksiyondur. Gelin isterseniz bu güçlü ve faydalı fonksiyonu derin derin incelemeye koyulalım.

Nasıl Kullanılır? Yukarıda verdiğimiz örnekte ilk gözümüze çarpan şey, karakter dizisini print() fonksiyonunun parantezleri içine yazmış olmamızdır. Biz bir fonksiyonun parantezleri içinde belirtilen öğelere ‘parametre’ dendiğini geçen bölümde öğrenmiştik. Tıpkı öğrendiğimiz öteki fonksiyonlar gibi, print() fonksiyonu da birtakım parametreler alır.

Bu arada print() fonksiyonunun parantezini açıp parametreyi yazdıktan sonra, parantezi kapatmayı unutmuyoruz. Python programlama diline yeni başlayanların, hatta bazen deneyimli programcıların bile en sık yaptığı hatalardan biri açtıkları parantezi kapatmayı unutmalarıdır.

Elbette, eğer istersek burada doğrudan “Python programlama dili” adlı karakter dizisini kullanmak yerine, önce bu karakter dizisini bir değişkene atayıp, sonra da print() fonksiyonunun parantezleri içinde bu değişkeni kullanabiliriz. Yani:

dil = "Python programlama dili" print(dil)

Python programlama dili Bu arada, hem şimdi verdiğimiz, hem de daha önce yazdığımız örneklerde bir şey dikkatinizi çekmiş olmalı. Şimdiye kadar verdiğimiz örneklerde karakter dizilerini hep çift tırnakla gösterdik. Ama aslında tek seçeneğimiz çift tırnak değildir. Python bize üç farklı tırnak seçeneği sunar:

Tek tırnak (’ ‘)

Çift tırnak (” “)

Üç tırnak (“”” “””)

Dolayısıyla yukarıdaki örneği üç farklı şekilde yazabiliriz:

print('Python programlama dili')

Python programlama dili

print("Python programlama dili")

Python programlama dili

print("""Python programlama dili""")

Python programlama dili Gördüğünüz gibi çıktılar arasında hiçbir fark yok.

Peki çıktılarda hiçbir fark yoksa neden üç farklı tırnak çeşidi var?

İsterseniz bu soruyu bir örnek üzerinden açıklamaya çalışalım. Diyelim ki ekrana şöyle bir çıktı vermek istiyoruz:

Python programlama dilinin adı "piton" yılanından gelmez Eğer bu cümleyi çift tırnaklar içinde gösterirsek programımız hata verecektir:

print("Python programlama dilinin adı "piton" yılanından gelmez")

File "", line 1 print("Python programlama dilinin adı "piton" yılanından gelmez") ^ SyntaxError: invalid syntax Bunun sebebi, cümle içinde geçen ‘piton’ kelimesinin de çift tırnaklar içinde gösterilmiş olmasıdır. Cümlenin, yani karakter dizisinin kendisi de çift tırnak içinde gösterildiği için Python, karakter dizisini başlatan ve bitiren tırnakların hangisi olduğunu ayırt edemiyor. Yukarıdaki cümleyi en kolay şu şekilde ekrana yazdırabiliriz:

print('Python programlama dilinin adı "piton" yılanından gelmez')

Python programlama dilinin adı "piton" yılanından gelmez Burada karakter dizisini tek tırnak içine aldık. Karakter dizisi içinde geçen ‘piton’ kelimesi çift tırnak içinde olduğu için, karakter dizisini başlatıp bitiren tırnaklarla ‘piton’ kelimesindeki tırnakların birbirine karışması gibi bir durum söz konusu değildir.

Bir de şöyle bir örnek verelim: Diyelim ki aşağıdaki gibi bir çıktı elde etmek istiyoruz:

İstanbul'un 5 günlük hava durumu tahmini Eğer bu karakter dizisini tek tırnak işaretleri içinde belirtirseniz Python size bir hata mesajı gösterecektir:

print('İstanbul'un 5 günlük hava durumu tahmini')

File "", line 1 print('İstanbul'un 5 günlük hava durumu tahmini') ^ SyntaxError: invalid syntax Bu hatanın sebebi ‘İstanbul’un’ kelimesi içinde geçen kesme işaretidir. Tıpkı bir önceki örnekte olduğu gibi, Python karakter dizisini başlatan ve bitiren tırnakların hangisi olduğunu kestiremiyor. Python, karakter dizisinin en başındaki tek tırnak işaretinin ardından ‘İstanbul’un’ kelimesi içindeki kesme işaretini görünce karakter dizisinin burada sona erdiğini zannediyor. Ancak karakter dizisini soldan sağa doğru okumaya devam edince bir yerlerde bir terslik olduğunu düşünüyor ve bize bir hata mesajı göstermekten başka çaresi kalmıyor. Yukarıdaki karakter dizisini en kolay şöyle tanımlayabiliriz:

print("İstanbul'un 5 günlük hava durumu tahmini")

İstanbul'un 5 günlük hava durumu tahmini Burada da, karakter dizisi içinde geçen kesme işaretine takılmamak için karakter dizimizi çift tırnak işaretleri içine alıyoruz.

Yukarıdaki karakter dizilerini düzgün bir şekilde çıktı verebilmek için üç tırnak işaretlerinden de yararlanabiliriz:

print("""Python programlama dilinin adı "piton" yılanından gelmez""")

Python programlama dilinin adı "piton" yılanından gelmez

print("""İstanbul'un 5 günlük hava durumu tahmini""")

İstanbul'un 5 günlük hava durumu tahmini Bütün bu örneklerden sonra kafanızda şöyle bir düşünce uyanmış olabilir:

Görünüşe göre üç tırnak işaretiyle her türlü karakter dizisini hatasız bir şekilde ekrana çıktı olarak verebiliyoruz. O zaman ben en iyisi bütün karakter dizileri için üç tırnak işaretini kullanayım!

Elbette, eğer isterseniz pek çok karakter dizisi için üç tırnak işaretini kullanabilirsiniz. Ancak Python’da karakter dizileri tanımlanırken genellikle tek tırnak veya çift tırnak işaretleri kullanılır. Üç tırnak işaretlerinin asıl kullanım yeri ise farklıdır.

kaynak:https://python-istihza.yazbel.com/print.html