Định dạng ký tự trong Python là gì?

Mọi thứ bạn cần biết về định dạng chuỗi trong Python và ngôn ngữ nhỏ định dạng Python

Bạn có thể biết tất cả các cách để thao tác chuỗi trong Python theo cách thủ công – có thể bạn đã học được từ khóa học Làm việc với chuỗi trong Python của chúng tôi [một phần của khóa học Cơ bản về Python]. Hôm nay bạn sẽ tìm hiểu về cách Python xử lý định dạng chuỗi hoặc nghệ thuật kết hợp chuỗi với dữ liệu động theo cách sao cho người đọc hoặc máy mong đợi có thể dễ dàng đọc được. [Hãy xem bài viết này nếu bạn cũng sẽ thao tác với các chuỗi trong SQL. ]

Định dạng chuỗi trong Python là gì?

Làm việc với các chuỗi là một trong những điều đầu tiên mà bất kỳ nhà phát triển nào cũng phải học; . Xét cho cùng, tất cả những câu nói “Xin chào thế giới” phổ biến. ” thực sự là in một chuỗi

>>> print["Hello world!"]
Hello world!

Tuy nhiên, các biến chứng phát sinh khi chúng ta cần giới thiệu dữ liệu động – nghĩa là dữ liệu có thể thay đổi theo thời gian hoặc với mỗi lần thực hiện. Lấy ví dụ, đoạn mã dưới đây

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip

Trong đoạn mã này, chúng tôi đang in thông tin chi tiết của một đơn đặt hàng trong một nhà hàng pizza. Tuy nhiên, dữ liệu ở đây được mã hóa cứng. Điều gì xảy ra khi chúng ta cần đọc tên của khách hàng, đơn đặt hàng của họ, giá của nó và số tiền boa từ các biến?

>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip

Điều đó rõ ràng sẽ không làm

Trước khi giới thiệu Python 3, định dạng chuỗi chủ yếu đạt được thông qua toán tử %. Cách sử dụng của nó chủ yếu bao gồm việc thêm một trình giữ chỗ kiểu C vào chuỗi nơi một biến sẽ xuất hiện và sau đó liên kết với nó bằng cách nối thêm các tham chiếu biến vào chuỗi bằng cách sử dụng %. Điều này được thể hiện dưới đây

>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...

Phương pháp lỗi thời này đã có trong tài liệu Python 3 vì nó dễ bị lỗi và lỗi thời. Chúng tôi sẽ không dành nhiều thời gian để nói về nó nữa – ngoại trừ việc đề cập rằng nó có thể hữu ích khi xử lý các phiên bản Python cũ hơn. Kể từ Python 3, định dạng chuỗi được thực hiện chủ yếu bằng cách sử dụng hàm

>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip
2, thuộc về lớp String

Nếu bất kỳ thuật ngữ nào ở trên [chẳng hạn như biến hoặc hàm] không quen thuộc với bạn, vui lòng đọc Thuật ngữ Python mà Người mới bắt đầu nên biết – Phần 1 và Thuật ngữ Python mà Người mới bắt đầu nên biết – Phần 2 trước khi tiếp tục bài viết này

Giới thiệu chuỗi. định dạng[] Chức năng

chuỗi. format[] là một công cụ định dạng chuỗi mạnh mẽ và linh hoạt được giới thiệu trong Python 3. [Nó cũng có sẵn trong phiên bản 2. 7 trở đi. ] Về cơ bản, nó hoạt động bằng cách liên kết các phần giữ chỗ được đánh dấu bằng dấu ngoặc nhọn

>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip
3 và dữ liệu định dạng bên trong chúng với các đối số được truyền cho hàm

Cách đơn giản nhất để sử dụng hàm format[] là chèn các phần giữ chỗ trống

>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip
3 vào chuỗi, sau đó chuyển các biến cần thiết làm đối số

>>> print["Apples can be {}, {}, and {}.".format["red", "yellow", "green"]]
Apples can be red, yellow, and green.

Nếu bạn không muốn thứ tự của các trình giữ chỗ giống hệt với thứ tự của các đối số, bạn có thể chèn các trình giữ chỗ được lập chỉ mục

>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip
5, trong đó n là số chỉ mục của đối số mà trình giữ chỗ được cho là liên kết đến

>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!

Lưu ý rằng bạn có thể xáo trộn thứ tự thành bất kỳ thứ gì bạn muốn và thậm chí bạn có thể sử dụng lại cùng một đối số hai lần

Sử dụng liên kết vị trí, như được hiển thị ở trên, không được khuyến nghị để định dạng các chuỗi lớn hơn. Các số chỉ mục không có bất kỳ ý nghĩa nội tại nào và có thể dễ dàng bị xáo trộn khi mã được cập nhật. Cách khác là liên kết đến các đối số bằng cách sử dụng trình giữ chỗ có tên, e. g.

>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip
6

>>> print["The name's {last_name}, {first_name} {last_name}.".format[first_name="James", last_name="Bond"]]
The name's Bond, James Bond.

Điều này là đủ để chèn các biến vào một chuỗi, nhưng nếu bạn muốn nhiều hơn từ định dạng của mình thì sao?

>>> print["{} ordered a {} for {} with a {} tip".format[customer_name, order_name, price, tip_percentage]]
John ordered a Pepperoni Pizza for 4.25 with a 0.15 tip

Các biến được in ở dạng đơn giản nhất, nhưng nếu chúng ta muốn chỉ định các chữ số thập phân của giá thì sao? . Chúng tôi chắc chắn cần đảm bảo rằng phần trăm tiền boa, hiện được lưu dưới dạng số thập phân, được xuất ra dưới dạng phần trăm. Để làm điều đó [và hơn thế nữa], chúng ta cần sử dụng các công cụ sửa đổi định dạng như một phần của ngôn ngữ nhỏ định dạng Python

Giới thiệu về ngôn ngữ nhỏ định dạng Python

Ngôn ngữ nhỏ định dạng Python là một cú pháp cho phép các công cụ sửa đổi được đặt vào một trình giữ chỗ cụ thể để mang lại ý nghĩa bổ sung cho nó. Ý nghĩa này có thể là bất kỳ thứ gì từ độ rộng ký tự của trường, độ chính xác của các loại thập phân hoặc ký hiệu trong đó các số [nếu có] được biểu thị

Cú pháp chung của trình giữ chỗ theo được hiển thị bên dưới

{:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}

Mỗi trường được đặt trong dấu ngoặc vuông

>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip
7 đại diện cho một danh mục công cụ sửa đổi. Chỉ có một công cụ sửa đổi từ mỗi danh mục có thể xuất hiện tại một thời điểm. Ví dụ: chúng tôi không thể sử dụng cả công cụ sửa đổi căn trái
>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip
8 và công cụ sửa đổi căn phải
>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip
9 trong một trường

Hơn nữa, thứ tự của các công cụ sửa đổi được xác định nghiêm ngặt. Chẳng hạn, trình giữ chỗ

>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...
0 không hợp lệ, vì công cụ sửa đổi
>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...
1 [ở đây,
>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...
2] phải luôn đứng sau công cụ sửa đổi
>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...
3 [ở đây,
>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...
4]. Trình giữ chỗ hợp lệ sẽ là
>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...
5

Tất cả các công cụ sửa đổi là tùy chọn, đó là lý do tại sao ngay cả trình giữ chỗ trống

>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip
3 vẫn hợp lệ. Các bảng sau đây nêu chi tiết cú pháp thích hợp cho từng loại công cụ sửa đổi được đề cập ở trên

điền công cụ sửa đổi

Cú phápMô tảVí dụTương thíchKý tự bất kỳTiền tố cho một giá trị căn chỉnh – đặt ký tự để điền vào phần đệm [nếu có].
>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...
7Chỉ sử dụng với căn chỉnh

công cụ sửa đổi căn chỉnh

SyntaxDescriptionExampleCompatibility>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]] Lorem ipsum dolor sit amet... 8>Right-aligns the field.
>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...
9=Right-aligns the field and forces padding to be placed after the sign.
>>> print["Apples can be {}, {}, and {}.".format["red", "yellow", "green"]]
Apples can be red, yellow, and green.
0Numeric types only. Use only with
>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...
3.^Center-aligns the field.
>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...
7Numeric fields only.

Dấu hiệu sửa đổi

Cú pháp Mô tả Ví dụ Khả năng tương thích+Đặt dấu cho cả số dương và số âm.
>>> print["Apples can be {}, {}, and {}.".format["red", "yellow", "green"]]
Apples can be red, yellow, and green.
3Chỉ các trường số. -Chỉ đặt dấu cho số âm.
>>> print["Apples can be {}, {}, and {}.".format["red", "yellow", "green"]]
Apples can be red, yellow, and green.
4Chỉ các trường số. Khoảng trống Đặt dấu cách trước số dương và dấu trước số âm.
>>> print["Apples can be {}, {}, and {}.".format["red", "yellow", "green"]]
Apples can be red, yellow, and green.
5Chỉ các trường số

# bổ nghĩa

SyntaxDescriptionExampleCompatibility#Alternate-form modifier; .
>>> print["Apples can be {}, {}, and {}.".format["red", "yellow", "green"]]
Apples can be red, yellow, and green.
6Chỉ các trường số

công cụ sửa đổi chiều rộng

SyntaxDescriptionExampleCompatibilitydigit+Xác định chiều rộng tối thiểu của trường.
>>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
Lorem ipsum dolor sit amet...
7

công cụ sửa đổi nhóm

SyntaxDescriptionExampleCompatibility_Xác định dấu gạch dưới dưới dạng dấu phân cách hàng nghìn.
>>> print["Apples can be {}, {}, and {}.".format["red", "yellow", "green"]]
Apples can be red, yellow, and green.
8Chỉ các trường số. Đối với các loại b, o, x và X, dấu gạch dưới sẽ được chèn sau mỗi 4 chữ số. ,Xác định dấu phẩy là dấu phân cách hàng nghìn.
>>> print["Apples can be {}, {}, and {}.".format["red", "yellow", "green"]]
Apples can be red, yellow, and green.
9Chỉ các trường số

công cụ sửa đổi chính xác

Cú phápMô tảVí dụKhả năng tương thích. chữ số + Xác định độ chính xác thập phân. >>> in["{. 3f}". định dạng[5 / 3]]
1. 667
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
0Xác định các chữ số sau dấu chấm cho các loại
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
1 và
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
2, tổng các chữ số cho các loại
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
3 và
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
4 hoặc ký tự tối đa được hiển thị cho các chuỗi

công cụ sửa đổi loại

Cú pháp Mô tảVí dụbĐịnh dạng nhị phân
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
5cĐịnh dạng ký tự
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
6dĐịnh dạng số nguyên
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
7eKý hiệu khoa học
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
8ESKý hiệu khoa học với chữ hoa
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
9fKý hiệu điểm cố định
>>> print["The name's {last_name}, {first_name} {last_name}.".format[first_name="James", last_name="Bond"]]
The name's Bond, James Bond.
0FKý hiệu điểm cố định [chữ hoa]
>>> print["The name's {last_name}, {first_name} {last_name}.".format[first_name="James", last_name="Bond"]]
The name's Bond, James Bond.
1gĐịnh dạng thập phân chung - dấu chấm cố định cho các số nhỏ hơn, ký hiệu khoa học cho các số lớn hơn.
>>> print["The name's {last_name}, {first_name} {last_name}.".format[first_name="James", last_name="Bond"]]
The name's Bond, James Bond.
2GĐịnh dạng thập phân chung [chữ hoa]
>>> print["The name's {last_name}, {first_name} {last_name}.".format[first_name="James", last_name="Bond"]]
The name's Bond, James Bond.
3nĐịnh dạng số
>>> print["The name's {last_name}, {first_name} {last_name}.".format[first_name="James", last_name="Bond"]]
The name's Bond, James Bond.
4oĐịnh dạng bát phân
>>> print["The name's {last_name}, {first_name} {last_name}.".format[first_name="James", last_name="Bond"]]
The name's Bond, James Bond.
5sĐịnh dạng chuỗi
>>> print["The name's {last_name}, {first_name} {last_name}.".format[first_name="James", last_name="Bond"]]
The name's Bond, James Bond.
6xĐịnh dạng hex [chữ thường]
>>> print["The name's {last_name}, {first_name} {last_name}.".format[first_name="James", last_name="Bond"]]
The name's Bond, James Bond.
7Định dạng XHex [chữ hoa]
>>> print["The name's {last_name}, {first_name} {last_name}.".format[first_name="James", last_name="Bond"]]
The name's Bond, James Bond.
8%Định dạng phần trăm
>>> print["The name's {last_name}, {first_name} {last_name}.".format[first_name="James", last_name="Bond"]]
The name's Bond, James Bond.
9

Cú pháp ngôn ngữ nhỏ định dạng của Python. các chi tiết

Công cụ sửa đổi căn chỉnh, tô màu và độ rộng

Các công cụ sửa đổi này giúp chúng tôi định dạng các biến có độ dài không thể đoán trước để phù hợp với chiều rộng cố định. Điều này đặc biệt hữu ích nếu bạn muốn đầu ra chuỗi trông gọn gàng và thân thiện với việc lập bảng

Công cụ sửa đổi

>>> print["{} ordered a {} for {} with a {} tip".format[customer_name, order_name, price, tip_percentage]]
John ordered a Pepperoni Pizza for 4.25 with a 0.15 tip
0 xác định tổng chiều rộng trường tối thiểu của một trường, bao gồm mọi tiền tố, dấu phân cách và các ký tự định dạng khác

Công cụ sửa đổi

>>> print["{} ordered a {} for {} with a {} tip".format[customer_name, order_name, price, tip_percentage]]
John ordered a Pepperoni Pizza for 4.25 with a 0.15 tip
1 xác định xem giá trị có phải là

  • >>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
    customer_name ordered a order_name for price with a tip_percentage tip
    
    8 Căn trái. Mặc định cho các loại chuỗi. tương tự như
  • >>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
    customer_name ordered a order_name for price with a tip_percentage tip
    
    9 Căn phải. Mặc định cho các loại số. tương tự như
  • >>> print["{} ordered a {} for {} with a {} tip".format[customer_name, order_name, price, tip_percentage]]
    John ordered a Pepperoni Pizza for 4.25 with a 0.15 tip
    
    4 Căn phải ngoại trừ biển báo được căn trái. Xử lý các số theo cách tương tự như
  • >>> print["{} ordered a {} for {} with a {} tip".format[customer_name, order_name, price, tip_percentage]]
    John ordered a Pepperoni Pizza for 4.25 with a 0.15 tip
    
    5 Căn giữa. tương tự như

Cuối cùng, công cụ sửa đổi

>>> print["{} ordered a {} for {} with a {} tip".format[customer_name, order_name, price, tip_percentage]]
John ordered a Pepperoni Pizza for 4.25 with a 0.15 tip
6 xác định ký tự sẽ được sử dụng để lấp đầy khoảng trống [nếu có] do phần đệm để lại. Giá trị mặc định của nó là một khoảng trống. Công cụ sửa đổi
>>> print["{} ordered a {} for {} with a {} tip".format[customer_name, order_name, price, tip_percentage]]
John ordered a Pepperoni Pizza for 4.25 with a 0.15 tip
6 phải luôn ở ngay sau công cụ sửa đổi
>>> print["{} ordered a {} for {} with a {} tip".format[customer_name, order_name, price, tip_percentage]]
John ordered a Pepperoni Pizza for 4.25 with a 0.15 tip
1

>>> print["{:~^10}".format["TEST"]]
~~~TEST~~~
>>> print["{:~10}".format["TEST"]]
~~~~~~TEST
>>> print["{:~=10}".format[-58]]
-~~~~~~~58

Công cụ sửa đổi dấu hiệu

Các công cụ sửa đổi này xác định dấu hiệu được sử dụng trong các loại số

  • >>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
    Lorem ipsum dolor sit amet...
    
    4 Đặt
    >>> print["Lorem %s dolor sit %s..." % ["ipsum", "amet"]]
    Lorem ipsum dolor sit amet...
    
    4 trước số dương và
    {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    1 trước số âm
  • {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    1 Không đặt gì trước số dương và
    {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    1 trước số âm. Đây là mặc định
  • Một khoảng trống đặt một khoảng trắng ở đầu trước các số dương và
    {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    1 trước các số âm

Các công cụ sửa đổi này không thể được sử dụng với các loại không phải là số

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
0

Công cụ sửa đổi nhóm

Trong các loại số, chúng xác định cách các chữ số sẽ được nhóm lại. Các giá trị có thể là

  • {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    5 Chèn dấu gạch dưới dưới dạng dấu phân cách hàng nghìn. Nếu được sử dụng với các loại
    {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    6,
    {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    7,
    {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    8 hoặc
    {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    9, hãy chèn dấu gạch dưới sau mỗi 4 chữ số
  • >>> print["{:~^10}".format["TEST"]]
    ~~~TEST~~~
    >>> print["{:~10}".format["TEST"]]
    ~~~~~~TEST
    >>> print["{:~=10}".format[-58]]
    -~~~~~~~58
    
    0 Chèn dấu phẩy dưới dạng dấu phân cách hàng nghìn. Nếu được sử dụng với loại
    >>> print["{:~^10}".format["TEST"]]
    ~~~TEST~~~
    >>> print["{:~10}".format["TEST"]]
    ~~~~~~TEST
    >>> print["{:~=10}".format[-58]]
    -~~~~~~~58
    
    1, thay vào đó hãy chèn dấu phân cách nhận biết ngôn ngữ
>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
1

Công cụ sửa đổi chính xác

Công cụ sửa đổi độ chính xác xác định có bao nhiêu chữ số sẽ được hiển thị trong các trường có kiểu thập phân

Đối với các loại dấu phẩy động

>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
1 và
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
2, nó cho biết các chữ số thập phân được hiển thị sau dấu chấm

Đối với các loại

>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
3 và
>>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
Apples can be yellow, green, and red - yes, red!
4, nó cho biết tổng số chữ số sẽ được hiển thị
>>> print["{:~^10}".format["TEST"]]
~~~TEST~~~
>>> print["{:~10}".format["TEST"]]
~~~~~~TEST
>>> print["{:~=10}".format[-58]]
-~~~~~~~58
6 cả trước và sau dấu chấm

Đối với loại chuỗi

>>> print["{:~^10}".format["TEST"]]
~~~TEST~~~
>>> print["{:~10}".format["TEST"]]
~~~~~~TEST
>>> print["{:~=10}".format[-58]]
-~~~~~~~58
7, nó cho biết số lượng ký tự tối đa được hiển thị

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
2

Công cụ sửa đổi loại

Công cụ sửa đổi loại được gán cho một trường xác định loại mà trường đó sẽ được coi là. Điều này có sự phân nhánh về cách dữ liệu được trình bày và số lượng công cụ sửa đổi khác hoạt động

Công cụ sửa đổi loại có thể được chia thành ba loại chính

>>> print["{:~^10}".format["TEST"]]
~~~TEST~~~
>>> print["{:~10}".format["TEST"]]
~~~~~~TEST
>>> print["{:~=10}".format[-58]]
-~~~~~~~58
6 loại chuỗi, loại số nguyên và loại thập phân

Chỉ có một loại chuỗi,

>>> print["{:~^10}".format["TEST"]]
~~~TEST~~~
>>> print["{:~10}".format["TEST"]]
~~~~~~TEST
>>> print["{:~=10}".format[-58]]
-~~~~~~~58
7

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
3

Các kiểu số nguyên là

  • {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    6 Xuất ra một số nguyên trong cơ số 2 [nhị phân]
  • {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    7 Xuất ra một số nguyên trong cơ số 8 [bát phân]
  • >>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
    John ordered a Pepperoni Pizza for $4.25 with a 15% tip
    
    02 Xuất ra một số nguyên trong cơ số 10 [thập phân]
  • {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    8 Xuất ra một số nguyên trong cơ số 16 [thập lục phân]. Chữ hex là chữ thường
  • {:[[fill]align][sign][#][0][width][grouping_option][.precision][type]}
    9 Xuất ra một số nguyên trong cơ số 16 [thập lục phân]. Chữ hex là chữ hoa
  • >>> print["{:~^10}".format["TEST"]]
    ~~~TEST~~~
    >>> print["{:~10}".format["TEST"]]
    ~~~~~~TEST
    >>> print["{:~=10}".format[-58]]
    -~~~~~~~58
    
    1 Giống như
    >>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
    John ordered a Pepperoni Pizza for $4.25 with a 15% tip
    
    02, ngoại trừ việc nó sử dụng ký tự nhận biết ngôn ngữ làm dấu tách hàng nghìn
>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
4

Cuối cùng, các loại thập phân có sẵn là

  • >>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
    John ordered a Pepperoni Pizza for $4.25 with a 15% tip
    
    07 Ký hiệu khoa học
  • >>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
    John ordered a Pepperoni Pizza for $4.25 with a 15% tip
    
    08 Giống như
    >>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
    John ordered a Pepperoni Pizza for $4.25 with a 15% tip
    
    07, ngoại trừ ký tự ngăn cách là chữ hoa
  • >>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
    Apples can be yellow, green, and red - yes, red!
    
    1 Ký hiệu điểm cố định
  • >>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
    Apples can be yellow, green, and red - yes, red!
    
    2 Giống như
    >>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
    Apples can be yellow, green, and red - yes, red!
    
    1, nhưng
    >>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
    John ordered a Pepperoni Pizza for $4.25 with a 15% tip
    
    13 và
    >>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
    John ordered a Pepperoni Pizza for $4.25 with a 15% tip
    
    14 trở thành
    >>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
    John ordered a Pepperoni Pizza for $4.25 with a 15% tip
    
    15 và
    >>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
    John ordered a Pepperoni Pizza for $4.25 with a 15% tip
    
    16
  • >>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
    Apples can be yellow, green, and red - yes, red!
    
    3 Định dạng chung. Hiển thị số nhỏ hơn trong ký hiệu điểm cố định và số lớn hơn trong ký hiệu khoa học. Cơ chế này được mô tả chi tiết hơn trong
  • >>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
    Apples can be yellow, green, and red - yes, red!
    
    4 Tương tự như
    >>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
    Apples can be yellow, green, and red - yes, red!
    
    3, nhưng viết hoa
  • n Giống như
    >>> print["Apples can be {1}, {2}, and {0} - yes, {0}!".format["red", "yellow", "green"]]
    Apples can be yellow, green, and red - yes, red!
    
    3, ngoại trừ việc nó sử dụng ký tự nhận biết ngôn ngữ làm dấu tách hàng nghìn
  • >>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
    John ordered a Pepperoni Pizza for $4.25 with a 15% tip
    
    21 Nhân một số với 100, hiển thị số đó ở dạng dấu phẩy cố định và thêm dấu phần trăm ở cuối
>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
5

Công cụ sửa đổi dạng thay thế

Công cụ sửa đổi dạng thay thế # tác động đến việc trình bày các loại số. Trong các loại số nguyên, nó thêm tiền tố

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
22,
>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
23,
>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
24 hoặc
>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
25 vào các ký hiệu nhị phân, bát phân, thập lục phân và thập lục phân vốn, tương ứng

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
6

Truy cập các thuộc tính và mục của đối số

Cho đến giờ, chúng ta đã biết cách liên kết trực tiếp các phần giữ chỗ với các biến. Chúng ta cũng có thể truy cập các thuộc tính và mục của biến từ chính chuỗi được định dạng, như minh họa bên dưới

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
7

Ví dụ về Pizza với các chuỗi được định dạng đúng

Với các công cụ được mô tả ở trên, giờ đây chúng tôi đã sẵn sàng định dạng hoàn toàn ví dụ về đơn đặt hàng bánh pizza từ trước đó. Đây là một lần nữa như một lời nhắc nhở

>>> print["{} ordered a {} for {} with a {} tip".format[customer_name, order_name, price, tip_percentage]]
John ordered a Pepperoni Pizza for 4.25 with a 0.15 tip

Mục tiêu của chúng tôi là tạo một định dạng sẽ dẫn đến một đầu ra hấp dẫn, thân thiện với việc lập bảng với độ dài hàng bằng nhau. Chúng tôi cũng muốn nó hiển thị số ở định dạng thích hợp của chúng

Hãy bắt đầu với cái tên. Nếu giả sử độ dài tên tối đa là 10 ký tự, thì chúng tôi có thể sử dụng kết hợp công cụ sửa đổi chiều rộng và căn chỉnh để đảm bảo rằng các biến thể về độ dài tên sẽ không dẫn đến độ dài hàng không đồng đều. Chúng tôi đặt chiều rộng là 10, căn chỉnh tâm và loại chuỗi bằng cách sử dụng

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
26

Nguyên tắc tương tự áp dụng cho tên đơn đặt hàng, ngoại trừ việc chúng tôi sẽ tăng chiều rộng. Chúng tôi đặt chiều rộng là 20, căn chỉnh tâm và loại chuỗi bằng cách sử dụng

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
27

giá là một chút khác nhau. Nó sẽ là kiểu thập phân và chúng tôi sẽ luôn cần chính xác 2 chữ số thập phân. Chúng tôi đặt độ chính xác là 2 và một loại điểm cố định bằng cách sử dụng

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
28

Cuối cùng, tiền boa là tỷ lệ phần trăm, được lưu trữ nội bộ dưới dạng dấu phẩy động. Chúng tôi không quan tâm đến bất kỳ số thập phân nào ngoài toàn bộ tỷ lệ phần trăm, nghĩa là chúng tôi muốn độ chính xác là 0. Chúng tôi đặt độ chính xác là 0 và loại tỷ lệ phần trăm bằng cách sử dụng

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
29

Đặt tất cả những điều này lại với nhau dẫn đến

>>> print["John ordered a Pepperoni Pizza for $4.25 with a 15% tip"]
John ordered a Pepperoni Pizza for $4.25 with a 15% tip
9

Và bây giờ để kiểm tra nó

>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip
0

Kết quả

>>> print["customer_name ordered a order_name for price with a tip_percentage tip"]
customer_name ordered a order_name for price with a tip_percentage tip
1

Khá tốt. Các hàng là số chẵn, đô la là đô la, tỷ lệ phần trăm là tỷ lệ phần trăm và tất cả đều có dấu cách thập phân bên phải

Tìm hiểu thêm về định dạng chuỗi trong Python

Bây giờ bạn đã có một nền tảng khá tốt về những gì cần thiết để định dạng chuỗi trong Python. Để tìm hiểu thêm về cách hiển thị chuỗi đúng cách, bạn có thể đọc cũng như  Cách tạo bảng in đẹp trong Python và các nội dung khác có sẵn trên LearnPython. com

Định dạng %s trong Python là gì?

%s cụ thể là được sử dụng để thực hiện nối các chuỗi lại với nhau . Nó cho phép chúng ta định dạng một giá trị bên trong một chuỗi. Nó được sử dụng để kết hợp một chuỗi khác trong một chuỗi. Nó tự động cung cấp chuyển đổi kiểu từ giá trị thành chuỗi.

%s và %d trong Python là gì?

%s được sử dụng làm trình giữ chỗ cho các giá trị chuỗi mà bạn muốn đưa vào một chuỗi được định dạng. %d được sử dụng làm trình giữ chỗ cho các giá trị số hoặc thập phân . Ví dụ [đối với python 3] print ['%s is %d years old' % ['Joe', 42]] Sẽ xuất ra Joe là 42 tuổi.

Chủ Đề