01/10/2018, 15:49
Sao lại dùng {} trong return
Hi all.
Mình mới nhập môn Python theo tut Python-3in1-udemy
Mình có research case này nhưng ko có clear lắm trong lúc theo dõi course. Đến phần return
trong Method của 1 class có đoạn
def __str__(self):
return "{} is {} years old".format(self.name, self.age)
Cho mình hỏi sao lại có {}
và kết hợp .format
phía sau mà không dùng kiểu như.
return "%s is %d years old", %(name , age)
Mong được mọi người giúp đỡ.
---- UPDATE —
Using % and .format() for great good!
Mình đã tìm được đáp án thanks. Nhờ AD close post
Bài liên quan
Lầm lỡ thôi bro. Tại trước đó có đọc qua mấy cái py2 toàn thấy dùng % nên mới ra nông nỗi.
Bao lần học ko đến nơi đến chốn rồi, giờ mò lại chắp chắp vá vá nên mới tùm lum.
Mình thấy
.format()
có điểm hay so với dùng%
là mình không cần phải nhớ%s
format chỗi,%d
format số,… như trướcKhông cần phải nhớ? có đúng là không cần phải nhớ ko?. Vì trong PyFormat mình thấy vẫn cần đấy.
Bạn bỏ nó đi cũng đâu có chết ai đâu, họ đưa ra ví dụ thế thôi mà? Với lại in gì là tuỳ vào mục đích của bạn, bạn dùng hay không thì cũng là tuỳ bạn. Mấy cái %s %r %d có gì khó nhớ đâu?
Đọc standard documentation xem:
https://docs.python.org/3/library/string.html#format-string-syntax
Chỉ có 3 cái này thôi, có gì mà khó nhớ?
Nhớ mấy cái đơn giản như %s, %r, %d thôi (mà cũng chỉ có từng đó thôi). Những cái khó hơn thì mở documentation ra xem, có ai cấm?