Định dạng Python căn phải float

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. phía 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
3

SốĐị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<4d}5xxxPad số có x (phần đệm bên phải, chiều rộng 4)10{. x<4d}Số 10xxPad có chữ x (phần đệm bên phải, chiều rộng 4)1000000{. ,}1.000.000Định dạng số có dấu phân cách. 25{. 2%}25. 00%Định dạng phần trăm1000000000{. 2e}1. 00e+09Ký hiệu số mũ13{. 10d}        13Căn phải (mặc định, chiều rộng 10)13{. <10d}13Căn trái (chiều rộng 10)13{. ^10d}    13Căn giữa (chiều rộng 10)

chuỗi. định dạng () cơ bản

Dưới đây là một số ví dụ về thay thế chuỗi cơ bản,

pi = 3.1415926
precision = 4
print( "{:.{}f}".format( pi, precision ) )
~~ 3.1415
4 là trình giữ chỗ cho các biến được thay thế. Nếu không chỉ định định dạng, nó sẽ chèn và định dạng dưới dạng chuỗi

s1 = "show me the {}".format("money")
s2 = "hmmm, this is a {} {}".format("tasty", "burger")

Bạn cũng có thể sử dụng vị trí số của các biến và thay đổi chúng trong chuỗi, điều này mang lại sự linh hoạt khi thực hiện định dạng, nếu bạn mắc lỗi trong thứ tự, bạn có thể dễ dàng sửa mà không cần xáo trộn tất cả các biến xung quanh

s1 = " {0} is better than {1} ".format("emacs", "vim")
s2 = " {1} is better than {0} ".format("emacs", "vim")

💡 Mẹo. Bạn có thể sử dụng

pi = 3.1415926
precision = 4
print( "{:.{}f}".format( pi, precision ) )
~~ 3.1415
4 như một biến bên trong dấu ngoặc định dạng (h/t Peter Beens để biết mẹo). Ví dụ này sử dụng biến độ chính xác để kiểm soát số lượng vị trí thập phân sẽ hiển thị

pi = 3.1415926
precision = 4
print( "{:.{}f}".format( pi, precision ) )
~~ 3.1415

Trình định dạng chuỗi % cũ hơn

Trước trăn 2. 6, cách định dạng chuỗi có xu hướng đơn giản hơn một chút, mặc dù bị giới hạn bởi số lượng đối số mà nó có thể nhận. Các phương thức này vẫn hoạt động kể từ Python 3. 3, nhưng có những mối đe dọa ngầm về việc loại bỏ chúng hoàn toàn mặc dù không có thời gian biểu. [PEP-3101]

Định dạng số dấu phẩy động

Một ví dụ so sánh

pi = 3.1415926
precision = 4
print( "{:.{}f}".format( pi, precision ) )
~~ 3.1415
6 cũ hơn với
pi = 3.1415926
precision = 4
print( "{:.{}f}".format( pi, precision ) )
~~ 3.1415
7 để định dạng số thực

pi = 3.14159
print(" pi = %1.2f " % pi)         # old
print(" pi = {:.2f}".format( pi )) # new

Nhiều giá trị thay thế

Một ví dụ so sánh thay thế biến

pi = 3.1415926
precision = 4
print( "{:.{}f}".format( pi, precision ) )
~~ 3.1415
0

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

pi = 3.1415926
precision = 4
print( "{:.{}f}".format( pi, precision ) )
~~ 3.1415
1

hoặc

pi = 3.1415926
precision = 4
print( "{:.{}f}".format( pi, precision ) )
~~ 3.1415
2

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ó

pi = 3.1415926
precision = 4
print( "{:.{}f}".format( pi, precision ) )
~~ 3.1415
3

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

pi = 3.1415926
precision = 4
print( "{:.{}f}".format( pi, precision ) )
~~ 3.1415
4

💡 Nếu bạn đang sử dụng Python 3. 6 trở lên, hãy xem phần 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

pi = 3.1415926
precision = 4
print( "{:.{}f}".format( pi, precision ) )
~~ 3.1415
6

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")
0

Sử dụng định dạng như một chức năng

Bạn có thể sử dụng

pi = 3.14159
print(" pi = %1.2f " % pi)         # old
print(" pi = {:.2f}".format( pi )) # new
0 như một hàm để 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")
1

Lờ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")
2

quố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 ________ 91 thay vì ________ 92. 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")
3

thoá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

pi = 3.14159
print(" pi = %1.2f " % pi)         # old
print(" pi = {:.2f}".format( pi )) # new
3, 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")
4

Dữ 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")
6

F-String

Trăn 3. 6 đã giới thiệu các ký tự chuỗi đượ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

pi = 3.14159
print(" pi = %1.2f " % pi)         # old
print(" pi = {:.2f}".format( pi )) # new
4 ở bên ngoài dấu ngoặc kép, giống như vậy
pi = 3.14159
print(" pi = %1.2f " % pi)         # old
print(" pi = {:.2f}".format( pi )) # new
5. 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")
7

Các chuỗi ký tự được định dạng hỗ trợ chạy các hàm bên trong dấu ngoặc _______96, đ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")
8

2. 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")
9

Bạ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
0

Mộ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

Bạn có thể định dạng float bằng Python không?

Trong Python, có nhiều phương thức khác nhau để định dạng kiểu dữ liệu. Trình định dạng %f được sử dụng cụ thể để định dạng giá trị float (số có phần thập phân). Chúng ta có thể sử dụng trình định dạng %f để chỉ định số lượng số thập phân sẽ được trả về khi số dấu phẩy động được làm tròn lên.

Có thể nổi đại diện cho 0. 1 trong Python?

Bắt đầu với Python 3. 1, Python (trên hầu hết các hệ thống) hiện có thể chọn cái ngắn nhất trong số này và chỉ cần hiển thị 0. 1 . Lưu ý rằng đây là bản chất của dấu phẩy động nhị phân. đây không phải là lỗi trong Python và nó cũng không phải là lỗi trong mã của bạn.

Làm cách nào để căn chỉnh chuỗi trong Python?

Các cách căn chỉnh chuỗi văn bản trong Python .
Căn trái. Đối với văn bản được căn trái, bạn có thể sử dụng ljust(…).
Căn phải. Đối với văn bản được căn phải, bạn có thể sử dụng rjust(…).
Căn giữa. Đối với văn bản được căn giữa, bạn có thể sử dụng center(…).
Lấp đầy khoảng trống bằng ký tự khác