Yanıtlar:
Kod bu:
f = open(filename, 'w')
f.write("hello\talex")
\tDize içinde yatay çizelgesinden kaçış dizisidir.
print "a\tb"bana verir a (8 spaces)bde cmdtarihinde adlı Windows. Neden sekme karakteri yerine 8 boşluk basıyor?
a (tab character)b
Python başvuru kılavuzu , bir dizede kullanılabilen birkaç değişmez dize içerir. Bu özel karakter dizileri, kaçış dizisinin amaçlanan anlamı ile değiştirilir.
Burada daha kullanışlı bazı kaçış dizilerinin bir tablosu ve bunlardan elde edilen çıktıların bir açıklaması var.
Escape Sequence Meaning
\t Tab
\\ Inserts a back slash (\)
\' Inserts a single quote (')
\" Inserts a double quote (")
\n Inserts a ASCII Linefeed (a new line)
Temel Örnek
Bir sekme alanıyla ayrılmış bazı veri noktalarını yazdırmak istersem, bu dizeyi yazdırabilirim.
DataString = "0\t12\t24"
print (DataString)
İadeler
0 12 24
Liste Örneği
Liste öğelerini yazdırdığımız ve öğeleri bir TAB ile ayırmak istediğimiz başka bir örnek.
DataPoints = [0,12,24]
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2]))
İadeler
0 12 24
Ham Dizeler
Ham dizelerin ("r" önekini içeren bir dize), dize değişmezlerinin yok sayılacağını unutmayın. Bu, bu özel karakter dizilerinin değiştirilmeden dizelere dahil edilmesini sağlar.
DataString = r"0\t12\t24"
print (DataString)
İadeler
0\t12\t24
Bu belki istenmeyen bir çıktı
Dize Uzunlukları
Dize değişmezlerinin yalnızca bir karakter uzunluğunda olduğu da unutulmamalıdır.
DataString = "0\t12\t24"
print (len(DataString))
İadeler
7
Ham dizenin uzunluğu 9'dur.
\t. Bunu nasıl yapabilirim?
Herhangi bir cevapta bahsedilmediği gibi, metninizi hizalamak ve boşluk bırakmak istemeniz durumunda, dize formatı özelliklerini kullanabilirsiniz. (yukarıdaki python 2.5) Tabii ki \taslında bir TAB belirtecidir, oysa açıklanan yöntem boşluklar oluşturur.
Misal:
print "{0:30} {1}".format("hi", "yes")
> hi yes
Başka bir Örnek, sola hizalanmış:
print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4))
>1.0 2.2 4.4
İşte "merhaba" TAB "alex" elde etmenin bazı egzotik Python 3 yolları (Python 3.6.10 ile test edilmiştir):
"hello\N{TAB}alex"
"hello\N{tab}alex"
"hello\N{TaB}alex"
"hello\N{HT}alex"
"hello\N{CHARACTER TABULATION}alex"
"hello\N{HORIZONTAL TABULATION}alex"
"hello\x09alex"
"hello\u0009alex"
"hello\U00000009alex"
Aslında, bir kaçış dizisi kullanmak yerine, sekme sembolünü doğrudan dizge hazır bilgisine eklemek mümkündür. Kopyalamak ve denemek için bir tablo karakterine sahip kod:
"hello alex"
Yukarıdaki dizedeki sekme, dizeyi kopyalarken herhangi bir yerde kaybolmazsa, "print (repr (<dize yukarıdan>)" 'merhaba \ talex' yazmalıdır.
Referans için ilgili Python belgelerine bakın .