2012-12-26 16 views
27

Dobra, umiem drukować zmienne i ciągi znaków. Ale jak mogę wydrukować coś w rodzaju "My string" card.price (jest to moja zmienna). Mam na myśli, oto mój kod: print "I have " (and here I would like to print my variable card.price).drukowana zmienna i ciąg w pytonie

Odpowiedz

28

przez drukowanie wielu wartości oddzielone przecinkiem:

print "I have", card.price 

print statement wyprodukuje każdy wyraz znak spacji, a następnie nową linią.

Jeśli potrzebujesz bardziej złożonego formatowania, użyj ''.format() method:

print "I have: {0.price}".format(card) 

lub za pomocą starszych i pół-przestarzałe % string formatting operator.

+0

co z możliwością formatowania ciągów znaków i podstawowych konkatenacji ciągów znaków? Mogłoby to w miły sposób poszerzyć odpowiedź, pokazując różne podejścia do różnych celów. – s1lence

+0

@Martijn Pieters: Byłem nanosekundą pierwszy z odpowiedzią 'format') – alexvassel

+0

@alexvassel: Ale moje zawiera linki dokumentacji, lepszy przykład, i wskazuje na formatowanie"% "stringów. :-P –

7

zakładając że używasz Pythona 2.7 (nie 3):

print "I have", card.price (jak wspomniano powyżej).

print "I have %s" % card.price (używając string formatting)

print " ".join(map(str, ["I have", card.price])) (o listach łączących)

Istnieje wiele sposobów, aby zrobić to samo, właściwie. Wolałbym drugi.

+0

Czy to jest w porządku, nawet jeśli wynik nie jest ciągiem, ale liczbą? – user203558

+0

Tak, w porządku. Chociaż% d również działałby. – aemdy

10

Coś, co (o dziwo) nie zostało tutaj wspomniane, to prosta konkatenacja.

Przykład:

foo = "seven" 

print("She lives with " + foo + " small men") 

Wynik:

Ona mieszka z siedmiu małych ludzi

Dodatkowo, jak Pythona 3, metoda % jest przestarzała. Nie używaj tego.