Để xử lý hiệu quả hơn các định dạng chuỗi phức tạp, Python đã bao gồm phương thức format[]. Trình định dạng chèn một hoặc nhiều trường thay thế và chỗ dành sẵn vào một chuỗi bằng cách sử dụng lệnh str. hàm định dạng và một cặp dấu ngoặc nhọn []
Python3
print
[
"{:03d}"
.
format
[
001 000100
001 000101
print
[
001 000104_______60_______
format
[
001 000108
001 000101
Đầu ra
001 00010
Thêm các số 0 đứng đầu vào số bằng chuỗi f
Tiền tố chuỗi bằng chữ “f” để có chuỗi f. Bản thân chuỗi có thể được chuẩn bị tương tự như cách str. định dạng sẽ được sử dụng []. Chuỗi F cung cấp một phương pháp rõ ràng và thiết thực để định dạng các biểu thức python bên trong chuỗi ký tự
Python3
16 0000160_______6_______1
16 0000162
print
16 0000164_______6_______5
16 0000166
print
16 0000164_______6_______9
16 0000166
Đầu ra
16 000016
Thêm số 0 bằng phương pháp rjust[]
Một cách tiếp cận không được đề cập trong bài viết là sử dụng phương thức rjust[] của lớp str dựng sẵn để thêm các số 0 đứng đầu vào một số. Phương thức rjust[] trả về một chuỗi căn phải, với phần đệm tùy chọn, dựa trên chiều rộng đã chỉ định
Đây là một ví dụ về cách bạn có thể sử dụng phương thức rjust[] để thêm các số 0 đứng đầu vào một số
Python3
0000111_______6_______1
0000113
0000114_______6_______1
0000116
0000117
0000118
0000119
print
016 0000166
print
print
3_______57_______4
Đầu ra
000011
Sử dụng phương thức rjust[] có thể là một cách đơn giản và ngắn gọn để thêm các số 0 đứng đầu vào một số, đặc biệt nếu bạn chỉ cần đệm số với một số số không cố định. Nó cũng hữu ích nếu bạn cần đệm một số được lưu dưới dạng chuỗi vì nó hoạt động trực tiếp trên chuỗi
Lưu ý rằng phương thức rjust[] trả về một chuỗi mới, vì vậy bạn sẽ cần lưu trữ số đã đệm trong một biến riêng nếu bạn muốn giữ nó.
Tại sao tôi không thể lưu trữ một số bắt đầu bằng 0?
Nếu tôi làm
1 ngày_hôm nay = 06102018
Tôi nhận được lỗi cú pháp. Mã không hợp lệ
Tuy nhiên, sẽ không có lỗi nếu tôi bắt đầu một số bằng một số khác không. Tại sao lại thế này?
Lưu trữ và hiển thị các số có số 0 đứng đầu là một khía cạnh quan trọng vì nó giúp ích đáng kể trong việc chuyển đổi chính xác một số từ hệ thống số này sang hệ thống số khác
Hướng dẫn này thảo luận về các cách khác nhau mà bạn có thể thực hiện để hiển thị một số có số 0 đứng đầu trong Python
Sử dụng Hàm rjust[]
để hiển thị một số có số 0 ở đầu trong Python
Hàm rjust[]
thêm phần đệm vào bên trái của chuỗi. Đệm, nói một cách đơn giản, là việc chèn các ký tự không mang tính thông tin vào bên trái hoặc bên phải của một chuỗi nhất định, không thêm giá trị bổ sung nào vào chuỗi ban đầu. Chúng ta có thể sử dụng phần đệm chuỗi để hiển thị các số 0 đứng đầu trong chương trình Python
Hàm rjust[]
chứa hai tham số. width
và fillchar
. Trong số hai tham số này, tham số width
là bắt buộc và được sử dụng để chỉ định độ dài của chuỗi đã cho sau khi quá trình đệm hoàn tất. Mặt khác, tham số fillchar
là tùy chọn và đại diện cho ký tự mà chúng ta muốn đệm chuỗi bằng
Ở đây, chúng tôi có một chương trình ví dụ mà chúng tôi cần hiển thị các số,
print[str[1].zfill[2]]
print[str[10].zfill[2]]
2 và print[str[1].zfill[2]]
print[str[10].zfill[2]]
3, với các số 0 đứng đầu trong mỗi phương pháp được giải thích của hướng dẫn này. Số lượng phần đệm cần thiết có thể được chỉ định thủ công bằng hàm rjust[]
Đoạn mã sau sử dụng hàm rjust[]
để hiển thị một số có các số 0 đứng đầu trong Python
a = [1, 10]
for num in a:
print [str[num].rjust[2, '0']]
Đoạn mã trên cung cấp đầu ra sau
Sử dụng Hàm print[str[1].zfill[2]]
print[str[10].zfill[2]]
6 để hiển thị một số có số 0 ở đầu trong Python
print[str[1].zfill[2]]
print[str[10].zfill[2]]
Hàm
print[str[1].zfill[2]]
print[str[10].zfill[2]]
7 được sử dụng để trả về chuỗi số; . Nếu giá trị được chỉ định của tham số width
này nhỏ hơn độ dài của chuỗi, quá trình điền không xảy raĐoạn mã sau sử dụng hàm
print[str[1].zfill[2]]
print[str[10].zfill[2]]
6 để hiển thị một số có các số 0 đứng đầu trong Pythonprint[str[1].zfill[2]]
print[str[10].zfill[2]]
Đoạn mã trên cung cấp đầu ra sau
Hàm
print[str[1].zfill[2]]
print[str[10].zfill[2]]
6 được thiết kế dành riêng để đệm một chuỗi có các số 0 về phía bên trái của nó. Đó là một sự lựa chọn tuyệt vời và một phương pháp rất được khuyến khích trong trường hợp nàySử dụng định dạng chuỗi với toán tử mô-đun print ["%02d" % [1,]]
print ["%02d" % [10,]]
2 để hiển thị một số có số 0 đứng đầu trong Python
print ["%02d" % [1,]]
print ["%02d" % [10,]]
Dấu hiệu mô-đun
print ["%02d" % [1,]]
print ["%02d" % [10,]]
3, đôi khi còn được gọi là toán tử nội suy hoặc định dạng chuỗi, là một trong số ít cách để triển khai định dạng chuỗi trong Python. Là cách cũ nhất trong số các cách bạn có thể triển khai định dạng chuỗi, nó hoạt động mà không gặp bất kỳ sự cố nào trên hầu hết các phiên bản Python hiện có sẵn để sử dụng trên internetDấu hiệu
print ["%02d" % [1,]]
print ["%02d" % [10,]]
3 và một chữ cái đại diện cho loại chuyển đổi được đánh dấu là trình giữ chỗ cho biếnĐoạn mã sau sử dụng định dạng chuỗi với toán tử mô đun
print ["%02d" % [1,]]
print ["%02d" % [10,]]
2 để hiển thị một số có các số 0 đứng đầu trong Pythonprint ["%02d" % [1,]]
print ["%02d" % [10,]]
Đoạn mã trên cung cấp đầu ra sau
Trong đoạn mã trên, số
print ["%02d" % [1,]]
print ["%02d" % [10,]]
6 được viết sau ký hiệu print ["%02d" % [1,]]
print ["%02d" % [10,]]
3 đặt chiều rộng văn bản được hiển thị và điều chỉnh cho các số 0 đứng đầu và biến print ["%02d" % [1,]]
print ["%02d" % [10,]]
8 biểu thị loại chuyển đổiPhương pháp này giúp dễ dàng thực hiện thao tác hiển thị số có số 0 ở đầu. Tuy nhiên, nó ảnh hưởng đến khả năng đọc mã và đôi khi khiến nó khó hiểu hơn
Sử dụng định dạng chuỗi với hàm print ["%02d" % [1,]]
print ["%02d" % [10,]]
9 để hiển thị một số có số 0 ở đầu trong Python
print ["%02d" % [1,]]
print ["%02d" % [10,]]
Tuy nhiên, một cách khác để triển khai định dạng chuỗi trong Python là sử dụng hàm
print ["%02d" % [1,]]
print ["%02d" % [10,]]
9. Nó sử dụng dấu ngoặc nhọn print["{:02d}".format[1]]
print["{:02d}".format[10]]
1 để đánh dấu vị trí mà các biến cần được thay thế trong câu lệnh print["{:02d}".format[1]]
print["{:02d}".format[10]]
2Hàm
print ["%02d" % [1,]]
print ["%02d" % [10,]]
9 đã được giới thiệu trong Python 2. 6 và có thể được sử dụng trong tất cả các phiên bản Python được phát hành sau đó cho đến Python 3. 5. Chức năng này cực kỳ phổ biến đối với các lập trình viên và các lập trình viên khuyên dùng cách này để thực hiện định dạng chuỗi do khả năng xử lý rất hiệu quả của nó trong việc định dạng các chuỗi phức tạpĐoạn mã sau sử dụng định dạng chuỗi với hàm
print ["%02d" % [1,]]
print ["%02d" % [10,]]
9 để hiển thị một số có các số 0 đứng đầu trong Pythonprint["{:02d}".format[1]]
print["{:02d}".format[10]]
Đoạn mã trên cung cấp đầu ra sau
Trong chương trình trên, nội dung sau dấu hai chấm quy định độ rộng và chuyển đổi kiểu dữ liệu;
Sử dụng định dạng chuỗi với print["{:02d}".format[1]]
print["{:02d}".format[10]]
6 để hiển thị một số có số 0 ở đầu trong Python
print["{:02d}".format[1]]
print["{:02d}".format[10]]
Được giới thiệu với Python 3. 6, nó tương đối là phương thức mới nhất trong Python để triển khai định dạng chuỗi. Ngoài ra, nó có thể được sử dụng trong các phiên bản Python mới nhất
Nó hiệu quả hơn để triển khai định dạng chuỗi so với hai phương thức trước đó, toán tử
print ["%02d" % [1,]]
print ["%02d" % [10,]]
3 và hàm print ["%02d" % [1,]]
print ["%02d" % [10,]]
9, vì cách này nhanh hơn và dễ hiểu hơn. Nó cũng giúp triển khai định dạng chuỗi trong Python với tốc độ nhanh hơn hai định dạng kiaĐoạn mã sau sử dụng định dạng chuỗi với
print["{:02d}".format[1]]
print["{:02d}".format[10]]
6 để hiển thị một số có các số 0 đứng đầu trong Pythonprint[f"{1:02d}"]
print[f"{10:02d}"]
Đoạn mã trên cung cấp đầu ra sau
Trong chương trình trên, độ rộng chuỗi và loại chuyển đổi dữ liệu được chỉ định sau dấu hai chấm trong trình giữ chỗ
Khi nói đến việc sử dụng định dạng chuỗi để đệm chuỗi có các số 0 đứng đầu, các chuyên gia khuyến nghị sử dụng
print["{:02d}".format[1]]
print["{:02d}".format[10]]
6 nhiều hơn hai phương pháp còn lại của nó. Nó ngắn gọn hơn, ít bị lỗi hơn và chắc chắn cải thiện khả năng đọc của chương trình