Trong hướng dẫn này, hãy xem cách chuyển đổi số có một chữ số thành chuỗi có hai chữ số trong ngôn ngữ lập trình Python bằng cách sử dụng str. format[] và các kỹ thuật định dạng cũ với các ví dụ
Chương trình Python chuyển đổi số có một chữ số thành chuỗi có hai chữ số
Lớp chuỗi tích hợp cung cấp các tùy chọn để thực hiện định dạng giá trị bằng phương thức format[]. Hãy xem trong Định dạng chuỗi tùy chỉnh, cách sử dụng str. format[] để chuyển đổi số có một chữ số thành chuỗi có hai chữ số
Ví dụ,
>>> x = 5 >>> print["{0:02d}".format[x]] 05
Trong ví dụ trên, chúng tôi đang sử dụng str. cú pháp định dạng[]. Bạn cũng có thể thử sử dụng định dạng cũ i. e. , % định dạng
Trong hầu hết các trường hợp, str. cú pháp format[] tương tự như định dạng % cũ. Lưu ý, sự khác biệt giữa hai cách này là chúng tôi đang sử dụng “{}” và “. " thay vì "%". Ví dụ, ‘%02d” có thể được dịch thành “{0. 02d}“
Chuyển đổi bằng % – Định dạng
Toán tử % được gọi là toán tử định dạng chuỗi. Và chúng được sử dụng để định dạng chuỗi. %d hoạt động như một trình giữ chỗ hoặc một số
Hãy xem cách chuyển đổi số có một chữ số thành chuỗi có hai chữ số bằng cách sử dụng toán tử định dạng cũ
Ví dụ,
>>> x= 5 >>> print["%02d"%x] 05
Định dạng mới Cú pháp – str. định dạng[]
Lưu ý, cú pháp định dạng mới hỗ trợ nhiều tùy chọn mới. Sau đây là một số tùy chọn được hỗ trợ
Chỉ số
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
9 là bao gồm, trong khi chỉ số pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
0 là loại trừ [tối đa, nhưng không bao gồm]Các chỉ mục của Python dựa trên số 0, vì vậy ký tự đầu tiên trong chuỗi có chỉ số là
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
1 và ký tự cuối cùng có chỉ số là pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
2 hoặc pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
3Khi đã có 2 chữ số đầu tiên, chúng ta sử dụng lớp
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
4 để chuyển chuỗi thành số nguyênCách tiếp cận tương tự có thể được sử dụng để lấy N chữ số đầu tiên của một số
Ngoài ra, bạn có thể sử dụng đệ quy
Hàm kiểm tra xem số có nhỏ hơn 100 không và nếu thỏa điều kiện thì trả về số
Ngược lại, nó trả về kết quả của việc gọi chính nó bằng số sàn chia cho 10
Phép chia
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
41 của số nguyên cho kết quả là số float, trong khi phép chia sàn pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
42 của số nguyên cho kết quả là số nguyênKết quả của việc sử dụng toán tử chia tầng là kết quả của phép chia toán học với hàm
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
43 được áp dụng cho kết quảTa chia số cho 10 cho đến khi được số có 2 chữ số và trả về kết quả
Nếu bạn cần lấy ba chữ số đầu tiên của một số, bạn sẽ kiểm tra xem số đó có nhỏ hơn
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
44 khôngBạn chọn cách tiếp cận nào là vấn đề sở thích cá nhân. Tôi muốn chuyển đổi số thành một chuỗi và sử dụng cắt chuỗi vì tôi thấy nó khá trực quan và dễ đọc hơn
Python v2. 7 đã giới thiệu một phương thức định dạng chuỗi mới, hiện là phương thức mặc định trong Python3. Tôi đã bắt đầu cuốn sách hướng dẫn định dạng chuỗi này như một tài liệu tham khảo nhanh để giúp tôi định dạng số và chuỗi. Nhờ những người đóng góp khác mà tôi đã mở rộng các ví dụ theo thời gian
Trăn 3. 6 chuỗi ký tự được định dạng, được giới thiệu, thường được gọi là chuỗi f như một phương thức khác để giúp định dạng chuỗi. Chuyển đến phần dây F mới bên dưới
Định dạng số
Bảng sau đây cho thấy nhiều cách khác nhau để định dạng số bằng cách sử dụng lệnh str của Python. format[], bao gồm các ví dụ cho cả định dạng float và định dạng số nguyên
Để chạy các ví dụ sử dụng.
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
2Để lấy kết quả của ví dụ đầu tiên, định dạng một số float thành hai chữ số thập phân, bạn sẽ chạy
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
3SốĐịnh dạngĐầu raMô tả3. 1415926{. 2f}3. 14Định dạng float 2 chữ số thập phân3. 1415926{. +. 2f}+3. 14Định dạng float 2 chữ số thập phân có dấu-1{. +. 2f}-1. 00 Định dạng float 2 chữ số thập phân có dấu2. 71828{. 0f}3 Định dạng float không có chữ số thập phân 5{. 0>2d}05Số pad có số 0 [phần đệm bên trái, chiều rộng 2]5{. x>> x= 5
>>> print["%02d"%x]
051Nhiều giá trị thay thế
Một ví dụ so sánh thay thế biến
>>> x= 5 >>> print["%02d"%x] 052
Không đủ đối số
Sử dụng phương pháp định dạng cũ hơn, tôi thường gặp lỗi
>>> x= 5 >>> print["%02d"%x] 053
hoặc
>>> x= 5 >>> print["%02d"%x] 054
bởi vì tôi đã tính sai các biến thay thế của mình, nên thực hiện một số thao tác như sau sẽ dễ dàng bỏ sót một biến
Trình định dạng chuỗi Python mới, bạn có thể sử dụng các tham số được đánh số, do đó bạn không cần phải đếm xem mình có bao nhiêu, ít nhất là trên một nửa của nó
>>> x= 5 >>> print["%02d"%x] 055
Thêm định dạng chuỗi với. định dạng[]
Hàm format[] cung cấp khá nhiều tính năng và khả năng bổ sung, dưới đây là một số mẹo và thủ thuật hữu ích khi sử dụng. định dạng[]
Đối số được đặt tên
Bạn có thể sử dụng định dạng chuỗi làm công cụ mẫu bằng cách sử dụng các đối số được đặt tên, thay vì yêu cầu một thứ tự nghiêm ngặt
>>> x= 5 >>> print["%02d"%x] 056
💡 Nếu bạn đang sử dụng Python 3. 6 trở lên, hãy xem định dạng chuỗi f bên dưới để biết cách tạo mẫu dễ dàng hơn--chúng cũng tính toán phép nội suy nhanh hơn
Sử dụng lại cùng một biến nhiều lần
Việc sử dụng % để định dạng yêu cầu một thứ tự nghiêm ngặt của các biến, phương thức
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
8 cho phép bạn đặt chúng theo bất kỳ thứ tự nào cũng như lặp lại để sử dụng lại>>> x= 5 >>> print["%02d"%x] 058
Chuyển đổi giá trị sang các cơ sở khác nhau
Một cách sử dụng đáng ngạc nhiên, bạn có thể sử dụng lệnh định dạng chuỗi để chuyển đổi các số thành các cơ số khác nhau. Sử dụng chữ cái trong trình định dạng để cho biết cơ số nào. thập phân, hex, bát phân hoặc nhị phân
Ví dụ này định dạng số
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
9 trong mỗi cơ sốs1 = " {0} is better than {1} ".format["emacs", "vim"]
s2 = " {1} is better than {0} ".format["emacs", "vim"]
0Sử dụng định dạng như một chức năng
Bạn có thể sử dụng
>>> x= 5 >>> print["%02d"%x] 0510 làm chức năng tách văn bản và định dạng khỏi mã. Ví dụ: khi bắt đầu chương trình, hãy bao gồm tất cả các định dạng của bạn để sử dụng sau này
s1 = " {0} is better than {1} ".format["emacs", "vim"]
s2 = " {1} is better than {0} ".format["emacs", "vim"]
1Lời khuyên dành cho những đứa trẻ trái đất đã cung cấp điều này trên reddit
Sử dụng định dạng như một chức năng có thể được sử dụng để điều chỉnh định dạng theo sở thích của người dùng
s1 = " {0} is better than {1} ".format["emacs", "vim"]
s2 = " {1} is better than {0} ".format["emacs", "vim"]
2quốc tế hóa
Để sử dụng định dạng ngôn ngữ cụ thể cho các số, trước tiên bạn cần đặt ngôn ngữ, sau đó sử dụng mã định dạng
>>> x= 5 >>> print["%02d"%x] 0511 thay vì
>>> x= 5 >>> print["%02d"%x] 0512. Ví dụ: sử dụng dấu phẩy hoặc dấu chấm để phân tách hàng nghìn số dựa trên ngôn ngữ của người dùng
Đây là một ví dụ, đặt ngôn ngữ và định dạng một số để hiển thị dấu phân cách thích hợp
s1 = " {0} is better than {1} ".format["emacs", "vim"]
s2 = " {1} is better than {0} ".format["emacs", "vim"]
3thoát khỏi niềng răng
Nếu bạn cần sử dụng dấu ngoặc nhọn khi sử dụng
>>> x= 5 >>> print["%02d"%x] 0513, chỉ cần nhân đôi chúng lên
s1 = " {0} is better than {1} ".format["emacs", "vim"]
s2 = " {1} is better than {0} ".format["emacs", "vim"]
4Dữ liệu định dạng bảng
Sử dụng chiều rộng và căn trái và phải để căn chỉnh dữ liệu của bạn thành một định dạng bảng đẹp. Đây là một ví dụ để chỉ ra cách định dạng
s1 = " {0} is better than {1} ".format["emacs", "vim"]
s2 = " {1} is better than {0} ".format["emacs", "vim"]
5Điều này sẽ xuất ra
s1 = " {0} is better than {1} ".format["emacs", "vim"]
s2 = " {1} is better than {0} ".format["emacs", "vim"]
6F-String
Trăn 3. 6 đã giới thiệu các chuỗi ký tự được định dạng--còn một phương pháp định dạng chuỗi khác--được gọi là chuỗi f vì bạn bắt đầu chuỗi chỉ định một
>>> x= 5 >>> print["%02d"%x] 0514 ở bên ngoài dấu ngoặc kép, giống như vậy
>>> x= 5 >>> print["%02d"%x] 0515. Các chuỗi F sử dụng cú pháp ngắn hơn giúp dễ dàng hơn và giống mẫu hơn
s1 = " {0} is better than {1} ".format["emacs", "vim"]
s2 = " {1} is better than {0} ".format["emacs", "vim"]
7Các chuỗi ký tự được định dạng hỗ trợ các hàm chạy bên trong dấu ngoặc _______116, điều này cho phép bạn
1. Làm toán với chuỗi f
s1 = " {0} is better than {1} ".format["emacs", "vim"]
s2 = " {1} is better than {0} ".format["emacs", "vim"]
82. Gọi hàm với chuỗi f;
s1 = " {0} is better than {1} ".format["emacs", "vim"]
s2 = " {1} is better than {0} ".format["emacs", "vim"]
9Bạn có thể sử dụng chuỗi f bằng cách sử dụng ba loại dấu ngoặc kép khác nhau trong Python, dấu ngoặc kép đơn, kép hoặc ba. Tất cả những điều sau đây sẽ xuất ra giống nhau
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
0Một điều bạn cần cẩn thận là trộn lẫn hai định dạng, nếu bạn cố gắng sử dụng
pi = 3.1415926
precision = 4
print[ "{:.{}f}".format[ pi, precision ] ]
~~ 3.1415
4 bên trong chuỗi f, bạn sẽ gặp lỗi