Ana içeriğe geç

Python'da Yeni Satır Olmadan Yazdırma: Bilmeniz Gerekenler

Python'un print çıktısını otomatik yeni satır eklemeyecek şekilde kontrol edin. Varsayılan yeni satır davranışını end parametresi, sys modülü ve string birleştirme ile nasıl geçersiz kılacağınızı öğrenin.
· 7 dk. oku

Yapay Zeka ile Keşfedin

Python'daki print() fonksiyonu genellikle çıktıyı konsolda göstermek için kullanılır. Varsayılan olarak, Python'un print() fonksiyonu çıktının sonuna bir yeni satır karakteri ekler ve bir sonraki çıktının yeni bir satırdan başlamasına neden olur. 

Bu davranış bazı senaryolarda kullanışlı olsa da, çıktıyı yeni satır eklemeden yazdırmak istediğiniz durumları anlamak önemlidir. Bu eğitimde, yeni satır eklemeden yazdırmak için end parametresini, sys modülünü ve string birleştirmeyi nasıl kullanacağımıza bakacağız.

Başlamadan önce, veri bilimi ve analiz için Python'un temellerini öğrenmek üzere DataCamp'in Introduction to Python kursunu almanızı öneririm. Ayrıca, zıt davranış olan, string'lere ve print() ifadelerine satır sonu eklemek için \n kullanımını anlattığımız Python'da Satır Sonu Nasıl Verilir? Kapsamlı Rehber eğitimimize de göz atın .

Python'da Yeni Satır Olmadan Nasıl Yazdırılır

Python'da yeni satır eklemeden yazdırmak için print() fonksiyonundaki end parametresini kullanabilirsiniz. end parametresini boş bir string olarak ayarlarsanız, çıktı aynı satırda devam eder.

# Print without newline
print("Hello", end=" ")
print("World", end=" ")
Hello World

Burada iki print() fonksiyonu kullandığımıza dikkat edin. Bu, yeni başlayanlara alışılmadık gelebilir ancak önemli bir tekniktir. Her print() çağrısı, end parametresiyle kendi çıktısını kontrol etmeye devam edebilir. Bu örnekte, end=” “ ayarı, yeni satır yerine her string'den sonra bir boşluk ekler ve ikinci print() ifadesinin aynı satırda devam etmesini sağlar.

Bu yaklaşım, zaman içinde birden fazla metin parçasını veya değişkeni yazdırmanız gerektiğinde, ancak hepsinin aralarında boşluk veya noktalama gibi belirli bir biçimlendirme ile aynı satırda görünmesini istediğiniz durumlarda özellikle kullanışlıdır.

Python'da Neden Yeni Satır Olmadan Yazdırılır?

Python'da yeni satır olmadan yazdırma, her print() çağrısından sonra yeni satır karakteri \n eklenmemesini sağlamak üzere çıktıyı kontrol etmeye karşılık gelir. Bu davranışı nasıl geçersiz kılacağınızı anlamak, kontrollü çıktılar oluşturmak için önemlidir. Aşağıda kesintisiz çıktının gerekebileceği bazı örnekler yer almaktadır.

  • İlerleme Göstergeleri: İlerleme güncellemeleri veya ilerleme çubukları, gerçek zamanlı izleme için kesintisiz çıktılar gerektirir.
  • Günlükleme (Logging): Günlükleme ve izleme de okunabilirliği artırmak için kesintisiz satırlarda yazdırmayı gerektirir.
  • Etkileşimli Konsol Uygulamaları: Bazı kullanıcı çıktılarının aynı satırda gösterilmesi, kullanıcı deneyimini iyileştirir.

Konsolda çıktıyı kontrol etmekten, metinlerde ve dosyalarda yeni satır karakterlerini nasıl ekleyip yöneteceğinizi ve kaldıracağınızı anlamaya odaklanmak istiyorsanız, teknikler ve örnekler için Python New Line: Methods for Code Formatting eğitimimize göz atın.

Yeni Satır Olmadan Yazdırma: Python 2 ve Python 3

Çıktıyı yeni satır eklemeden yazdırdığınızdan emin olmak için, print() fonksiyonunun varsayılan davranışını end parametresi veya diğer yöntemlerle geçersiz kılabilirsiniz. 

Python 3'te end parametresini kullanma

Python 3 sürümünde, yeni satır eklemeden yazdırmak için her print() çağrısında end parametresini eklemelisiniz. end parametresini boş bir string olarak ayarlarsanız, aşağıdaki örnekte gösterildiği gibi çıktı aynı satırda devam eder.

Ayrıca end parametresini farklı bir karaktere veya string'e de ayarlayabilirsiniz. Aşağıdaki örnek, çıktının nasıl biçimlendirileceğini kontrol etmek için birden çok print() çağrısında end parametresinin nasıl değiştirileceğini göstermektedir.

# Print without newline
print("Hello ", end="World!")
print(" Learn DataCamp Python tutorial.")
Hello World! Learn DataCamp Python tutorial.

Aşağıdaki örnek, end parametresini boş string ile kullanarak yeni satır olmadan bir ilerleme güncellemesi yazdırmayı göstermektedir. Bu örnekte \r imleci satırın başına döndürür ve çıktının yerinde güncellenmesine olanak tanır.

 # Import the time module, which provides time-related functions like sleep()
import time
# Loop over a range of numbers from 1 to 5 (inclusive)
for i in range(1, 6):
    # Print a loading message with a percentage that updates on the same line
    print(f"\rLoading... {i*20}%", end="")
    # Pause the execution for 1 second to simulate a loading delay
    time.sleep(1)
print("\nDone!")
Loading... 20%
Loading... 40%
Loading... 60%
Loading... 80%
Loading... 100%
Done!

Yukarıdaki kodu bir Python ortamında çalıştırdığınızda, yükleme yüzdesinin her saniye aynı satırda güncellendiğini görürsünüz ve bu da basit bir ilerleme göstergesi oluşturur. Yukarıdaki örnekteki gibi fonksiyon yazma konusunda yardıma ihtiyacınız varsa Writing Functions in Python kursumuza göz atın.

Python 2'de yeni satır davranışını keşfetme

Python 2'de print ifadesi farklıdır ve varsayılan olarak yeni satır ekler. Yeni satır olmadan yazdırmak için print ifadesinin sonuna bir virgül ekleyebilirsiniz.

# Print without newline
print "Hello",
print "World"
Hello World

Bu yöntemin dezavantajı, Python 3'te çıktıya eklenecek karakterleri kontrol edebildiğinizin aksine, yazdırılan öğeler arasında fazladan bir boşluk eklenmesidir.

Yeni Satır Olmadan Yazdırmak için Diğer Python Teknikleri

Python, yeni satır olmadan yazdırmak için bazı gelişmiş yöntemler sunar. Bu yöntemler, özellikle karmaşık yazdırmada çıktıyı kontrol etmek için kullanılır.

end ve sep parametrelerini birleştirme

end ve sep parametreleri daha karmaşık biçimlendirme için birlikte kullanılabilir. Bu tür senaryolarda, sep parametresi genellikle print() fonksiyonuna birden fazla öğe geçirildiğinde bunların nasıl ayrılacağını kontrol eder. Aşağıdaki örnek, sep parametresini kullanarak farklı string'leri virgülle ayırır.

# Print without newline
print("Hello", "World", sep=", ", end="!")
Hello, World!

end ve sep parametrelerini birleştirmek, tablo verilerini biçimlendirmek veya veri sunumunu iyileştirerek kullanıcı deneyimini geliştiren ilerleme göstergeleri oluşturmak gibi senaryolarda faydalıdır.

sys modülünü kullanma

sys modülündeki sys.stdout.write() fonksiyonu, otomatik olarak yeni satır eklemeden yazdırma yöntemi sunar. Bu yazdırma yöntemi genellikle, ilerleme göstergeleri tasarlamak ve gerçek zamanlı günlüklemeyi göstermek gibi, çıktının hassas kontrolünün gerektiği durumlarda önemlidir.

Aşağıdaki örnek, sys modülünü kullanarak yeni satır olmadan nasıl yazdırılacağını gösterir. Metnin anında görüntülendiğinden emin olmak için sys.stdout.flush() fonksiyonunu kullanarak çıktı arabelleğini manuel olarak boşalttığımıza dikkat edin. Bu yaklaşım, döngülerin ve gerçek zamanlı uygulamaların gösterimi için önemlidir.

# Import the sys module
import sys
# Print without new line
sys.stdout.write("Hello, ")
sys.stdout.write("World!")
sys.stdout.flush()
Hello, World!

Alternatif bir yaklaşım olarak string birleştirme

String birleştirme, birden çok çıktıyı yazdırmadan önce birleştirmek için de kullanılabilir; böylece birden fazla print() ifadesine gerek kalmaz ve çıktılar arasında yeni satır eklenmemesi sağlanır. Aşağıdaki örnek, çıktıyı tek bir ifadede yazdırmak için bu string birleştirme yöntemini gösterir.

# Print without new line using string concatenation
output = "Hello" + " " + "World." + " Learn Python."
print(output)
Hello World. Learn Python.

Sonuç

Yeni satır olmadan yazdırma, çıktıyı tek bir kesintisiz satırda göstermek için kullanışlıdır. Python sürümünüze bağlı olarak, Python yeni satır eklemeden farklı yazdırma yöntemleri sunar.

Python becerilerinizi geliştirmek istiyorsanız, bu makalede değinilen yineleyiciler ve döngüleri öğreten DataCamp'in Python Toolbox kursunu öneririm. Python Developer ve Data Analyst with Python kariyer yollarımız, veri bilimci veya analist olarak pratik, işle ilgili beceriler oluştururken güncel kalmanıza yardımcı olacaktır.

Allan Ouko

Yazar

Allan Ouko

Veri analitiği, iş zekâsı ve veri bilimi alanlarında pratik deneyime sahip Veri Bilimi Teknik Yazarı. SQL, Python, Power BI, Databricks ve veri mühendisliği üzerine, gerçek dünya analitik çalışmalarına dayanan, uygulamaya dönük ve sektöre odaklı içerikler yazıyorum. Yazılarım teknik derinlikle iş etkisi arasındaki köprüyü kurarak profesyonellerin veriyi güvenle karara dönüştürmelerine yardımcı olur.

Sık Sorulan Python Soruları

Python'da yeni satır olmadan nasıl yazdırabilirim?

Yeni satır eklemeden yazdırmak için print() fonksiyonunda end parametresini boş bir string ile kullanabilirsiniz.

print() fonksiyonunun varsayılan davranışı nedir?

Varsayılan olarak print() fonksiyonu her çıktıdan sonra yeni bir satır ekler.

Yeni satır olmadan yazdırma yöntemi Python 2 ve 3'te destekleniyor mu?

Python 3'te, yeni satır olmadan yazdırmak için print() fonksiyonunda end parametresini kullanabilirsiniz. Python 2'de ise yeni satır olmadan yazdırmak için print ifadesinin sonuna bir virgül eklemeniz gerekir.

Python 2'de virgül ayırıcısını kullandıktan sonra neden çıktıda fazladan boşluk oluşuyor?

Python 2'de, yeni satır olmadan yazdırmak için virgül kullandıktan sonra, yazdırılan öğeler arasında varsayılan olarak fazladan bir boşluk eklenir. Çıktıya eklenecek karakterleri kontrol etmek için diğer alternatif yöntemleri kullanmanızı öneririm.

Yeni satır olmadan yazdırmak performansı etkiler mi?

Yeni satır olmadan yazdırmanın performansa etkisi minimumdur. Büyük verileri işlerken daha iyi performans için sys modülünden sys.stdout.write() kullanabilirsiniz.

Konular

İlgili