Phương thức format () dựng sẵn trả về một biểu diễn được định dạng của giá trị đã cho được điều khiển bởi trình định dạng.
Các format()
chức năng cũng tương tự như phương pháp định dạng String. Bên trong, cả hai phương thức đều gọi __format__()
phương thức của một đối tượng.
Trong khi format()
hàm tích hợp là một triển khai cấp thấp để định dạng một đối tượng bằng cách sử dụng __format__()
nội bộ, chuỗi format()
là một triển khai cấp cao hơn có thể thực hiện các thao tác định dạng phức tạp trên nhiều chuỗi đối tượng.
Cú pháp của format () là:
định dạng (giá trị (, format_spec))
format () Tham số
Các format()
chức năng có hai tham số:
- value - giá trị cần được định dạng
- format_spec - Đặc tả về cách định dạng giá trị.
Thông số định dạng có thể ở định dạng:
((fill) align) (sign) (#) (0) (width) (,) (. precision) (type) trong đó, các tùy chọn là fill :: = any character align :: = "" | "=" | Dấu "^" :: = "+" | "-" | "" width :: = integer precision :: = integer type :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
Truy cập các liên kết này để tìm hiểu thêm về các loại định dạng và căn chỉnh.
Trả về giá trị từ định dạng ()
Các format()
hàm trả về một đại diện được định dạng của một giá trị nhất định theo quy định của specifier định dạng.
Ví dụ 1: Định dạng số với định dạng ()
# d, f and b are type # integer print(format(123, "d")) # float arguments print(format(123.4567898, "f")) # binary format print(format(12, "b"))
Đầu ra
123 123.456790 1100
Ví dụ 2: Định dạng số với điền, căn chỉnh, ký hiệu, chiều rộng, độ chính xác và kiểu
# integer print(format(1234, "*>+7,d")) # float number print(format(123.4567, "^-09.3f"))
Đầu ra
* + 1.234 0123.4570
Ở đây, khi định dạng số nguyên 1234
, chúng tôi đã chỉ định mã định dạng *>+7,d
. Hãy hiểu từng tùy chọn:
*
- Đây là ký tự điền vào các khoảng trống sau khi định dạng>
- Đây là tùy chọn căn chỉnh bên phải giúp căn chỉnh chuỗi đầu ra ở bên phải+
- Đây là tùy chọn dấu hiệu buộc số phải được ký (có một dấu hiệu ở bên trái của nó)7
- Đó là tùy chọn chiều rộng buộc con số phải có chiều rộng tối thiểu là 7, các khoảng trống khác sẽ được điền bằng ký tự điền,
- Đó là toán tử hàng nghìn đặt dấu phẩy giữa tất cả hàng nghìn.d
- Đây là tùy chọn kiểu chỉ định số là số nguyên.
Khi định dạng số dấu phẩy động 123.4567
, chúng tôi đã chỉ định mã định dạng ^-09.3f
. Đó là:
^
- Đây là tùy chọn căn chỉnh giữa căn chỉnh chuỗi đầu ra với tâm của không gian còn lại-
- Đây là tùy chọn dấu chỉ buộc các số âm phải hiển thị dấu0
- Là kí tự được đặt vào vị trí của những ô trống.9
- Đây là tùy chọn chiều rộng đặt chiều rộng tối thiểu của số là 9 (bao gồm dấu thập phân, dấu phẩy hàng nghìn và dấu).3
- Đó là toán tử độ chính xác đặt độ chính xác của số thực đã cho thành 3 vị tríf
- Đây là tùy chọn kiểu chỉ định số là một số thực.
Ví dụ 3: Sử dụng format () bằng cách ghi đè __format __ ()
# custom __format__() method class Person: def __format__(self, format): if(format == 'age'): return '23' return 'None' print(format(Person(), "age"))
Đầu ra
23
Ở đây, chúng ta đã ghi đè __format__()
phương thức của lớp Person
.
Bây giờ nó chấp nhận một format
tham số và trả về 23 nếu nó bằng 'age'
. Nếu không có định dạng nào được chỉ định, None
sẽ được trả về.
Các format()
chức năng trong nội bộ chạy Person().__format__("age")
trở về 23.