Bài học theo mô-đun (4/4)
In và chuỗi f
Để truyền đạt điều gì đó tới người dùng (hoặc để xem điều gì đang xảy ra bên trong
chương trình của chúng tôi), chúng tôi sử dụng hàm print(...) tích hợp sẵn. Để soạn
văn bản từ nhiều giá trị, cú pháp hiện đại và ưa thích là
chuỗi f.
print(...)
print("Ciao, mondo!") # Ciao, mondo!
print("a", "b", "c") # a b c (separati da spazio)
print(2 + 2) # 4
print("riga 1", "riga 2") # riga 1 riga 2print có thể nhận bao nhiêu đối số tùy thích: nó nối chúng bằng một khoảng trắng (bởi
default) và thêm một dòng mới vào cuối. Bạn có thể thay đổi cả hai bằng
Tham số sep và end:
print("a", "b", "c", sep="-") # a-b-c
print("senza newline", end="") # niente \n dopochuỗi f: nội suy hiện đại
chuỗi f là một chuỗi có tiền tố f: bên trong dấu ngoặc nhọn {...}
bạn có thể chèn bất kỳ biểu thức Python nào sẽ được đánh giá và chèn vào
kết quả:
nome = "Ada"
anni = 30
print(f"Mi chiamo {nome} e ho {anni} anni.")
# Mi chiamo Ada e ho 30 anni.Bên trong dấu ngoặc nhọn, bạn có thể thực hiện các lệnh gọi, thao tác, truy cập đối tượng - đó là Mã Python ở mọi khía cạnh:
prezzo = 12.5
quantita = 3
print(f"Totale: {prezzo * quantita:.2f} €")
# Totale: 37.50 €:.2f sau dấu hai chấm là thông số định dạng: trong trường hợp này là "hai số thập phân
chữ số, điểm cố định". Các thông số định dạng hữu ích nhất:
:.Nf— N chữ số thập phân (f"{pi:.4f}"→3.1416).:N/:>N/:<N/:^N— chiều rộng N, căn chỉnh phải/trái/giữa.:_hoặc:,— dấu phân cách hàng nghìn (f"{1000000:,}"→1,000,000).
Cú pháp thay thế (để tham khảo)
Trước chuỗi f (được giới thiệu trong Python 3.6), hai dạng đã được sử dụng bạn vẫn sẽ gặp phải mã cũ hơn:
# stile .format() — verboso ma esplicito
"{} ha {} anni".format("Ada", 30)
# stile %-formatting — molto vecchio
"%s ha %d anni" % ("Ada", 30)Đối với mã mới, luôn sử dụng chuỗi f: ngắn hơn, dễ đọc hơn, nhanh hơn.
Định dạng nâng cao với chuỗi f
Chuỗi F hỗ trợ các thông số định dạng phong phú ngay bên trong dấu ngoặc nhọn. Ví dụ: để định dạng một số thập phân có chính xác hai chữ số thập phân, bạn có thể viết:
price = 19.99
print(f"Price: {price:.2f} $")Công cụ xác định :.2f chỉ ra rằng chúng tôi muốn biểu thị số float với chính xác 2 chữ số thập phân.
Hãy tự mình thử
Cho `name = 'Ada'` và `age = 30`, xây dựng chuỗi 'Ada ha 30 anni' bằng một chuỗi f và gán nó cho `line`. Đánh giá `dòng`.
Hiển thị gợi ý
Cú pháp: f"thứ gì đó {biến} thứ gì đó khác"
Giải pháp khả dụng sau 3 lần thử
Xem lại bài tập
In bằng print() chuỗi 'pi greco vale 3.14' bắt đầu từ `pi = 3.14159`, sử dụng chuỗi f có thông số định dạng là 2 số thập phân.
Hiển thị gợi ý
Thông số định dạng nằm sau dấu hai chấm bên trong dấu ngoặc nhọn: {pi:.2f}.
Giải pháp khả dụng sau 3 lần thử
Thử thách bổ sung
Given a variable `price` set to `19.99`, use an f-string to construct the string `'Price: 19.99 €'` and store it in `receipt_line`. Finally, evaluate the variable.
Hiển thị gợi ý
Sử dụng f"Price: {price} €" và gán kết quả cho dòng biên nhận.
Giải pháp khả dụng sau 3 lần thử