Header ads

Header ads
» » Hàm format() trong Python

Hàm format() được tích hợp sẵn trong Python sử dụng để định dạng một giá trị truyền vào thành một định dạng cụ thể.

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ố:

    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.

    Xem thêm: Các hàm Python tích hợp sẵn


    Tham gia nhóm Facebook

    Cập nhật công nghệ từ Youtube tại link: https://www.youtube.com/channel/UCAJ8Zn9hgWCefbt65CP0cSQ/videos
    Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
    Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com

    About Học viện đào tạo trực tuyến

    Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
    - Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
    - Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
    HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
    «
    Next
    Bài đăng Mới hơn
    »
    Previous
    Bài đăng Cũ hơn