Eski format yöntemi ile % işaretini kullanmak


#1

Eski format yöntemini kullandıktan sonra artık ihtiyaç duysam bile % işaretini kullanamıyorum. Kaçış dizilerinde \ işaretini kullandığımızda kaçış dizisini saymıyordu, problemi çözüyorduk. Bunun da bir yolu var mı onun gibi?image


#2

Haklısınız. Düşündüm ama bir türlü bulamadım. Ama size tavsiyem format fonksiyonuna bakın:

print("{} gram 40% sulfur katkılı cisim".format("500"))
# Hatta python 3.6 il gelen güzel bir özellik sayesinde daha rahat yapabilirsiniz.
print(f"{"500"} gr 40% sulfur katkılı cisim")
# Böyle tam belli olmadı f öneki bir de şu örneği inceleyin:
gr = 500
print(f"{gr} gr 40% sulfur katkılı cisim")

Ayrıca kodlarınızı aşağıda belirtildiği üzere paylaşırsanız daha iyi olur.


#3

Şu şekilde

print("%s gr 40%% sulfur katkılı cisim"%'500')

#4

Buda aynı şekilde bir farkı yok ne yapıyorduk \\n şeklinde kullanıyorsan şimdi %% şeklinde kullanman gerekiyor :slight_smile:


#5

Format metodunu biliyorum, sadece bu konuyu merak ettim :slight_smile:
2. olarak da Hata kodunun görünmesi için screen attım
Yine de teşekkürler :+1:


#6

İşe yaradı. Teşekkür ederim :blush: :+1:


#7

Anladım, Teşekkürler :slightly_smiling_face:


#8

Ufak bir bilgilendirme…

%s python3 ile artık tavsiye edilmemekte. kullanmaktan kaçınmanız daha iyi olur.
sql sorgularında asla kullanılmamalı .

konu ile ilgili python dokünamanı.
https://docs.python.org/3/library/sqlite3.html

%s = # Never do this – insecure!
? = Do this instead

# Never do this -- insecure!
symbol = 'RHAT'
c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)

# Do this instead
t = ('RHAT',)
c.execute('SELECT * FROM stocks WHERE symbol=?', t)
print(c.fetchone())

# Larger example that inserts many records at a time
purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
             ('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
             ('2006-04-06', 'SELL', 'IBM', 500, 53.00),
            ]
c.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', purchases)

ayrıca %s ile format ile ilgili geniş bir karşılaştırma yapılmış bu içeriğe bakabilirsiniz.
https://pyformat.info/?fbclid=IwAR1GJDkdUGie-l6C6XM2AUIgioFbEZTW5_b3F63vmHYobn3sHn259I4WLWg


#9

Kesinlikle dogru. Ama ben sahsen tavsiye ediyorum. String format’lama yontemleri arasinda tek standart olani. (POSIX.1) Baska dillerde gorme ihtimaliniz de en yuksek olani. Python’in kendi logging kutuphanesi mesajlarda bu yontemi kullaniyor. (Gerci {} calisiyor mu hic denemedim—dokumentasyonda hep %s var.)

SQL sorgularina gelince de, hic bir string format’lama yontemi kullanilmamali. Yukarida HKMDMR’in ornekledigi parametreli sorgulari kullanilmali.