2012-12-26 72 views
27

Được rồi, tôi biết cách in biến và chuỗi. Nhưng làm thế nào tôi có thể in một cái gì đó như "chuỗi của tôi" card.price (nó là biến của tôi). Ý tôi là, đây là mã của tôi: print "I have " (and here I would like to print my variable card.price).biến in và một chuỗi trong python

Trả lời

28

Bằng cách in nhiều giá trị cách nhau bởi dấu phẩy:

print "I have", card.price 

Các print statement chí sản lượng mỗi biểu thức tách bằng dấu cách, tiếp theo là một dòng mới.

Nếu bạn cần định dạng phức tạp hơn, sử dụng các ''.format() method:

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

hoặc bằng cách sử dụng cũ và bán phản % string formatting operator.

+0

điều gì về khả năng của chuỗi định dạng và nối chuỗi cơ bản? Có thể mở rộng câu trả lời của bạn theo cách tốt đẹp cho thấy các cách tiếp cận khác nhau cho các mục đích khác nhau. – s1lence

+0

@Martijn Pieters: Tôi là nanosecond đầu tiên với câu trả lời 'định dạng') – alexvassel

+0

@alexvassel: Nhưng tôi chứa các liên kết tài liệu, ví dụ tốt hơn và trỏ đến định dạng chuỗi'% 'quá. :-P –

7

Giả sử bạn sử dụng Python 2.7 (không 3):

print "I have", card.price (như đã đề cập ở trên).

print "I have %s" % card.price (sử dụng string formatting)

print " ".join(map(str, ["I have", card.price])) (bởi danh sách tham gia)

Có rất nhiều cách để làm như vậy, trên thực tế. Tôi thích cái thứ hai.

+0

Có ổn không nếu kết quả không phải là chuỗi mà là số ?? – user203558

+0

Vâng, đó là tốt. Mặc dù% d cũng sẽ hoạt động. – aemdy

10

Điều gì đó (đáng ngạc nhiên) chưa được đề cập ở đây là ghép nối đơn giản.

Ví dụ:

foo = "seven" 

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

Kết quả:

Cô sống với bảy người đàn ông nhỏ

Bên cạnh đó, tính đến Python 3, phương pháp % bị phản đối. Đừng dùng nó.

Các vấn đề liên quan