Hàm format() trong Python
Hàm Format trong Python là gì? Cách dùng format Python như thế nào? Hãy cùng nhau tìm hiểu nhé!
Python là ngôn ngữ lập trình phổ biến hiện nay vì dễ học, dễ ứng dụng và phát triển. Tất cả nhờ những tính năng tuyệt vời của nó đối với lập trình.
Trong ngôn ngữ Python, chúng ta có một bộ sưu tập phong phú các phương thức và hàm tích hợp sẵn. Các hàm này rất hữu ích, cung cấp một cách dễ dàng và thanh lịch để viết mã, một trong số phương pháp như vậy là format() trong Python. Nó cung cấp chức năng định dạng các giá trị theo cách người dùng muốn bằng việc đề cập đến biểu diễn trong trình chỉ định định dạng.
Hàm định dạng Python rất hữu ích, đồng thời cung cấp một cách thuận tiện để định dạng số. Ví dụ, nó cung cấp một cách thanh lịch để chuyển đổi số nguyên sang định dạng nhị phân, nhằm thiết lập độ chính xác, căn chỉnh và nhiều hơn nữa. Bài viết này sẽ cung cấp thông tin chi tiết, bao gồm khái niệm về tất cả các triển khai hàm format() kèm ví dụ trong lập trình Python.
Format Python là gì? Đây là câu hỏi được rất nhiều người học Python quan tâm. Hàm format() là một công cụ mạnh mẽ, cho phép lập trình viên tạo các chuỗi được định dạng bằng cách nhúng biến và giá trị vào placeholder trong chuỗi mẫu. Phương thức này cung cấp một cách linh hoạt và toàn diện để xây dựng cấu trúc đầu ra văn bản cho nhiều ứng dụng khác nhau. Hàm format() chuỗi Python đã được giới thiệu để xử lý định dạng chuỗi phức tạp hiệu quả hơn. Đôi khi, có thể bạn muốn tạo các lệnh in tổng quát trong trường trường đó thay vì viết lệnh in mỗi lần dùng khái niệm định dạng.
Cú pháp hàm format() trong Python:
format(value[, format_spec])
Các tham số của hàm format()
Hàm format() có 2 tham số:
value
: giá trị cần được định dạng.format_spec
: định dạng bạn muốn cho value.
Các bộ định dạng:
Kiểu | Mô tả |
< | Căn trái kết quả |
^ | Căn giữa kết quả |
> | Căn phải kết quả |
= | Đặt dấu dương (+) hoặc âm (-) ở sát lề bên trái |
d | Định dạng số nguyên |
c | Ký tự Unicode tương ứng |
b | Định dạng nhị phân |
o | Định dạng bát phân |
x | Định dạng thập lục phân (chữ thường) |
X | Định dạng thập lục phân (chữ hoa) |
n | Định dạng số thập phân |
e | Ký hiệu mũ. (chữ thường e) |
E | Ký hiệu mũ. (chữ hoa E) |
f | Định dạng số thực dấu phẩy động (Mặc định: 6) |
F | Tương tự như 'f', nhưng hiển thị chữ hoa, ví dụ 'inf' là 'INF' và 'nan' là 'NAN' |
g | Định dạng chung. Làm tròn số đến p chữ số có nghĩa. (Mặc định: 6) |
G | Tương tự như 'g', chuyển sang 'E' nếu số quá lớn. |
% | Tỷ lệ phần trăm. |
Trình định dạng có thứ tự như sau:
[[fill]align][sign][#][0][width][,][.precision][type]
Trong đó:
- fill: là bất kỳ ký tự nào
- align: căn chỉnh, "<" | ">" | "=" | "^"
- sign: dấu, "+" | "-" | " "
- width: độ dài chuỗi, là một số nguyên
- precision: độ chính xác, là một số nguyên
- type: kiểu định dạng, "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
Giá trị trả về từ format()
Phương thức format() trả về kết quả đã được định dạng của một giá trị cho trước xác định bởi bộ định dạng cụ thể.
Ví dụ 1: Định dạng số với format()
# d, f và b là loại định dạng
# số nguyên
print(format(123, "d"))
# số thập phân
# viết bởi Quantrimang.com
print(format(123.4567898, "f"))
# nhị phân
print(format(12, "b"))
Chạy chương trình, kết quả trả về là:
123
123.456790
1100
Ví dụ 2: Định dạng số với căn chỉnh
# số nguyên
print(format(1234, "*>+7,d"))
# số thập phân
print(format(123.4567, "^-09.3f"))
Output trả về:
*+1,234
0123.4570
Ở đây, khi định dạng số nguyên 1234, ta chỉ định trình định dạng bao gồm *<+7,d
. Tại sao lại như vậy? Chi tiết như sau:
*
Ký tự fill, lấp đầy các chỗ trống sau khi định dạng.>
Tùy chọn căn chỉnh bên phải, nên chuỗi đầu ra nằm ở bên phải.+
Tùy chọn buộc số output phải có dấu (có dấu nằm bên bên trái).7
Tùy chọn quy định độ dài của kết quả, buộc số trả về phải có độ dài tối thiểu là 7 ký tự, các khoảng trắng khác sẽ được lấy đầy bằng ký tự fill.,
Toán tử hàng nghìn, dấu phẩy sẽ được đặt giữa chữ số hàng nghìn với các chữ số còn lại.d
Tùy chọn chỉ định kết quả trả về là một số nguyên.
Khi định dạng số thực dấu phẩy động (floating point number) 123.4567, ta chỉ định trình định dạng bao gồm ^-09.3f
, chi tiết như sau:
^
Tùy chọn căn chỉnh vị trí chính giữa, nên chuỗi đầu ra sẽ nằm ở chính giữa trong không gian quy định.-
Tùy chọn buộc số output phải hiển thị dấu âm.0
Ký tự thêm vào các khoảng trống sau khi định dạng.9
Tùy chọn quy định độ dài của kết quả, buộc số trả về phải có độ dài tối thiểu là 9 ký tự (tính cả dấu thập phân, dấu phẩy và cả dấu âm dương)..3
Toán tử precision, xác định độ chính xác, làm tròn đến chữ số thứ 3 sau dấu thập phân.f
Tùy chọn chỉ định kết quả trả về là một số thực dấu phẩy động.
Ví dụ 3: Sử dụng format() bằng cách ghi đè lên __format__()
# phương thức __format __ () tùy chỉnh
class Person:
def __format__(self, format):
if(format == 'age'):
return '23'
return 'None'
print(format(Person(), "age"))
Chạy chương trình, kết quả trả về là:
23
Ở đây, ta đã ghi đè phương thức __format __() của lớp Person, và phương thức format() bên trong chạy Person().__format__("age")
để trả về 23
.
Ví dụ 4: Sử dụng format() với list- danh sách
Cung cấp một danh sách các giá trị float, nhiệm vụ này cắt bớt tất cả giá trị float thành 2 chữ số thập phân. Hãy xem các phương thức khác nhau để làm nhiệm vụ này.
# Code Python giảm giá trị float sang 2 chữ số thập phân.
# Khởi tạo danh sách
Input = [100.7689454, 17.232999, 60.98867, 300.83748789]
# Dùng format
Output = ['{:.2f}'.format(elem) for elem in Input]
# In đầu ra
print(Output)
Kết quả:
['100.77', '17.23', '60.99', '300.84']
Ví dụ 5: Dùng dictionary để giải nén các giá trị vào những placeholder trong chuỗi cần được định dạng. Về cơ bản, chúng ta dùng ** để giải nén các giá trị này. Phương thức trên có thể hữu ích trong việc thay thế chuỗi, đồng tời chuẩn bị một truy vấn SQL.
introduction = 'My name is {first_name} {middle_name} {last_name} AKA the {aka}.'
full_name = {
'first_name': 'Tony',
'middle_name': 'Howard',
'last_name': 'Stark',
'aka': 'Iron Man',
}
# Lưu ý dùng toán tử "**" để giải nén các giá trị.
print(introduction.format(**full_name))
Kết quả:
My name is Tony Howard Stark AKA the Iron Man.
Xem thêm: Các hàm Python tích hợp sẵn
So sánh format() tích hợp và format() chuỗi
Hàm format()
tương tự như phương thức định dạng chuỗi. Về cơ bản, cả hai phương thức đều gọi __format__()
của một đối tượng.
Trong khi hàm format() tích hợp là triển khai cấp độ thấp cho định dạng một đối tượng bằng __format__()
nội tại, chuỗi format() là triển khai cấp cao hơn có thể thực hiện các hoạt động định dạng phức tạp trên nhiều chuỗi đối tượng.
Như bạn thấy, cách dùng hàm format trong Python không quá khó. Chỉ cần nắm được những kiến thức cơ bản trên, bạn có thể dùng thành thạo lệnh này.
Bạn nên đọc
-
Hàm input() trong Python
-
Đối tượng Iterator trong Python
-
Hàm print() trong Python
-
Hàm map() trong Python
-
Generator trong Python
-
Lệnh break và continue trong Python
-
Viết chương trình tính căn bậc hai của một số bằng Python
-
Tìm hiểu Class và Object trong Python
-
Cách viết lệnh, thụt lề và chú thích trong Python


Cũ vẫn chất
-
Hướng dẫn tạo hiệu ứng động trong Canva
Hôm qua -
Thơ về hoa đào hay đón Tết đến Xuân về
2 ngày -
Ngày đẹp khai xuân 2024, ngày tốt khai trương đầu năm 2024
Hôm qua -
Hóa vàng ngày nào đẹp Tết Giáp Thìn 2024
Hôm qua -
Ngày Hoàng đạo tháng 2 năm 2024, ngày đẹp tháng 2/2024
Hôm qua -
Luyện tập gõ 10 ngón giúp tăng tốc đánh máy
2 ngày 39 -
Top 7 phần mềm giả lập PC trên Android
Hôm qua -
Cách tải LOL PBE, tạo tài khoản PBE DTCL
Hôm qua 17 -
Cách chuyển mã phông chữ với Unikey
2 ngày -
Mẹo chơi trái Băng trong Blox Fruit
Hôm qua