2015-04-23 15 views
5

Şu an python'u zor yoldan öğreniyorum. Egzersizlerden birinde dizgi değişmezlerini aralarındaki değişkenlerle yazdırıyoruz. Diğer dillerden farklı olarak python'un bir dizgi değişmezi ile değişkenler arasında otomatik olarak boşluk eklediğini fark ettim. Bunu nasıl yaptığını merak ettim. Aşağıda ne demek istediğimin bir örneği.Python bir dize değişmezi ile bir değişken arasında boşluk eklemeyi nasıl biliyor?

example.py:

total_SO_questions_asked = 1 
print "I have asked", total_SO_questions_asked, "question to SO thus far." 

terminali:

$ python example.py 
I have asked 1 question to SO thus far. 

Bu çok önemli saçma ve değil ama ben merak ediyorum, ben SO beni aydınlatmak umuyorum!

+4

Hiçbir şey akıllıca burada içten içe gidiyor. 'print' her zaman argümanlarını ne olursa olsun bir boşlukla ayırır. – iCodez

+0

https://docs.python.org/2/reference/simple_stmts.html?highlight=print#grammar-token-print_stmt – TigerhawkT3

+3

@iCodez - Yorumlardaki sorulara cevap vermemelisiniz, yorumlarınızı yanıtsız bırakmayın ... – DrCord

cevap

1

Python sadece serin bir özellik.

Birden çok bağımsız değişkene sahip iki şey vardır: Parametrelerin etrafına bir alan ekler ve bağımsız değişkenlerin her birini ayrı bir dizeye dönüştürür. bu özellikleri kullanarak potansiyel olarak karmaşık kod yapabilir ne kadar basit de

inceleyelim: biz tek tek döküm parametrelerin bir listesini olamazdı Eğer

a = 5 
b = 3 
c = a + b 
print a, "plus", b, "equals", a+b 

, çirkin bakmak istiyorum:

print str(a) + " plus " + str(b) + " equals " + str(a+b) 
Python Zen itibaren

, hat 1 ve 3:

Güzel çirkin daha iyidir.

Basit, karmaşık olandan daha iyidir.

Daha fazla bilgi için Python reference'a bakın.

+1

Teşekkür ederiz! Bu çok açık bir cevaptı, özellikle de onu Python'un Zen'iyle ilişkilendirerek, sadece python'un bunu nasıl yaptığını değil, nedenini de yanıtlıyordu. OP mutlu! –

+0

Sevindim Yardımcı olabilirim! –

0

Kolayca boşluksuz yazdırabilirsiniz: zeki

>>> aa = 'abcd' 
>>> bb = 'efgh' 
>>> n = 1 
>>> print "%s%d%s" % (aa, n, bb) 
abcd1efgh 
>>> 
+1

Bunun için ['' str.format() '' '(https://docs.python.org/2/library/stdtypes.html#str.format) kullanılması daha iyidir (' '' print '{ } {} {} "biçim" (aa, n, bb) '' '. Ne olursa olsun, OP'nin sorusuna cevap vermediniz. – pzp

0

Hiçbir şey içten burada oluyor. print her zaman argümanlarını ne olursa olsun bir boşlukla ayırır. (Acımasızca iCodez yorumuna çalınan Cevap)

İlgili konular