Cái gì có thể in được trong python?

Chuỗi ký tự ASCII được coi là ký tự dấu chấm câu trong ngôn ngữ

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
5.
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
6

chuỗi. in được

Chuỗi ký tự ASCII được coi là có thể in được. Đây là sự kết hợp của , , , và

chuỗi. khoảng trắng

Một chuỗi chứa tất cả các ký tự ASCII được coi là khoảng trắng. Điều này bao gồm không gian ký tự, tab, nguồn cấp dữ liệu dòng, trả về, nguồn cấp biểu mẫu và tab dọc

Định dạng chuỗi tùy chỉnh

Lớp chuỗi dựng sẵn cung cấp khả năng thực hiện thay thế biến phức tạp và định dạng giá trị thông qua phương thức được mô tả trong PEP 3101. Lớp trong mô-đun cho phép bạn tạo và tùy chỉnh các hành vi định dạng chuỗi của riêng mình bằng cách sử dụng cách triển khai giống như phương thức tích hợp sẵn

lớp chuỗi. Trình định dạng

Lớp có các phương thức công khai sau

định dạng(chuỗi_định dạng , /, *args, **kwargs)

Phương pháp API chính. Nó nhận một chuỗi định dạng và một tập hợp tùy ý các đối số vị trí và từ khóa. Nó chỉ là một trình bao bọc gọi

Đã thay đổi trong phiên bản 3. 7. Đối số chuỗi định dạng hiện có.

vformat(format_string , args, kwargs)

Chức năng này thực hiện công việc định dạng thực tế. Nó được hiển thị dưới dạng một hàm riêng biệt cho các trường hợp bạn muốn chuyển vào một từ điển các đối số được xác định trước, thay vì giải nén và đóng gói lại từ điển dưới dạng các đối số riêng lẻ bằng cách sử dụng cú pháp

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
7 và
format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
8. thực hiện công việc chia nhỏ chuỗi định dạng thành dữ liệu ký tự và các trường thay thế. Nó gọi các phương thức khác nhau được mô tả bên dưới

Ngoài ra, định nghĩa một số phương thức được dự định thay thế bởi các lớp con

phân tích cú pháp(format_string)

Lặp lại format_string và trả về một bộ lặp có thể lặp lại (literal_text, field_name, format_spec, chuyển đổi). Điều này được sử dụng để ngắt chuỗi thành văn bản bằng chữ hoặc trường thay thế

Các giá trị trong bộ dữ liệu biểu thị một cách khái niệm một khoảng văn bản theo sau là một trường thay thế duy nhất. Nếu không có văn bản bằng chữ (điều này có thể xảy ra nếu hai trường thay thế xảy ra liên tiếp), thì văn bản bằng chữ sẽ là một chuỗi có độ dài bằng không. Nếu không có trường thay thế thì giá trị của field_name, format_spec và chuyển đổi sẽ là

>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'
>>> '{}, {}, {}'.format('a', 'b', 'c')  # 3.1+ only
'a, b, c'
>>> '{2}, {1}, {0}'.format('a', 'b', 'c')
'c, b, a'
>>> '{2}, {1}, {0}'.format(*'abc')      # unpacking argument sequence
'c, b, a'
>>> '{0}{1}{0}'.format('abra', 'cad')   # arguments' indices can be repeated
'abracadabra'
2

get_field(field_name , args, kwargs)

Đã cho field_name như được trả về bởi (xem ở trên), chuyển đổi nó thành một đối tượng được định dạng. Trả về một bộ (obj, used_key). Phiên bản mặc định lấy các chuỗi có dạng được xác định trong PEP 3101, chẳng hạn như “0[tên]” hoặc “nhãn. Tiêu đề". args và kwargs như được truyền vào. Giá trị trả về used_key có cùng ý nghĩa với tham số chính để

get_value(key , args, kwargs)

Truy xuất một giá trị trường đã cho. Đối số chính sẽ là một số nguyên hoặc một chuỗi. Nếu nó là một số nguyên, nó đại diện cho chỉ mục của đối số vị trí trong args;

Tham số args được đặt thành danh sách các đối số vị trí thành và tham số kwargs được đặt thành từ điển của các đối số từ khóa

Đối với tên trường ghép, các hàm này chỉ được gọi cho thành phần đầu tiên của tên trường;

Vì vậy, ví dụ, biểu thức trường '0. name' sẽ được gọi với đối số chính là 0. Thuộc tính

>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'
>>> '{}, {}, {}'.format('a', 'b', 'c')  # 3.1+ only
'a, b, c'
>>> '{2}, {1}, {0}'.format('a', 'b', 'c')
'c, b, a'
>>> '{2}, {1}, {0}'.format(*'abc')      # unpacking argument sequence
'c, b, a'
>>> '{0}{1}{0}'.format('abra', 'cad')   # arguments' indices can be repeated
'abracadabra'
8 sẽ được tra cứu sau khi trả về bằng cách gọi hàm tích hợp

Nếu chỉ mục hoặc từ khóa đề cập đến một mục không tồn tại, thì nên tăng hoặc

check_unused_args(used_args , args, kwargs)

Thực hiện kiểm tra các đối số không sử dụng nếu muốn. Đối số của hàm này là tập hợp tất cả các khóa đối số thực sự được tham chiếu trong chuỗi định dạng (số nguyên cho đối số vị trí và chuỗi cho đối số được đặt tên) và tham chiếu đến đối số và kwargs đã được chuyển đến vformat. Tập hợp các đối số không sử dụng có thể được tính từ các tham số này. được cho là đưa ra một ngoại lệ nếu kiểm tra không thành công

format_field(giá trị , format_spec)

chỉ cần gọi tích hợp toàn cầu. Phương thức được cung cấp để các lớp con có thể ghi đè lên nó

convert_field(giá trị , chuyển đổi)

Chuyển đổi giá trị (được trả về bởi ) cho một loại chuyển đổi (như trong bộ dữ liệu được trả về bởi phương thức). Phiên bản mặc định hiểu các loại chuyển đổi 's' (str), 'r' (repr) và 'a' (ascii)

Cú pháp chuỗi định dạng

Phương thức và lớp chia sẻ cùng một cú pháp cho các chuỗi định dạng (mặc dù trong trường hợp của , các lớp con có thể xác định cú pháp chuỗi định dạng của riêng chúng). Cú pháp có liên quan đến cú pháp của , nhưng nó kém phức tạp hơn và đặc biệt là không hỗ trợ các biểu thức tùy ý

Chuỗi định dạng chứa “trường thay thế” được bao quanh bởi dấu ngoặc nhọn

>>> c = 3-5j
>>> ('The complex number {0} is formed from the real part {0.real} '
..  'and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>> class Point:
..     def __init__(self, x, y):
..         self.x, self.y = x, y
..     def __str__(self):
..         return 'Point({self.x}, {self.y})'.format(self=self)
...
>>> str(Point(4, 2))
'Point(4, 2)'
1. Bất cứ thứ gì không có trong dấu ngoặc nhọn được coi là văn bản theo nghĩa đen, được sao chép không thay đổi vào đầu ra. Nếu bạn cần bao gồm một ký tự ngoặc nhọn trong văn bản chữ, nó có thể được thoát ra bằng cách nhân đôi.
>>> c = 3-5j
>>> ('The complex number {0} is formed from the real part {0.real} '
..  'and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>> class Point:
..     def __init__(self, x, y):
..         self.x, self.y = x, y
..     def __str__(self):
..         return 'Point({self.x}, {self.y})'.format(self=self)
...
>>> str(Point(4, 2))
'Point(4, 2)'
2 và
>>> c = 3-5j
>>> ('The complex number {0} is formed from the real part {0.real} '
..  'and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>> class Point:
..     def __init__(self, x, y):
..         self.x, self.y = x, y
..     def __str__(self):
..         return 'Point({self.x}, {self.y})'.format(self=self)
...
>>> str(Point(4, 2))
'Point(4, 2)'
3

Ngữ pháp cho trường thay thế như sau

replacement_field ::=  "{" [field_name] ["!" conversion] [":" format_spec] "}"
field_name        ::=  arg_name ("." attribute_name | "[" element_index "]")*
arg_name          ::=  [identifier | digit+]
attribute_name    ::=  identifier
element_index     ::=  digit+ | index_string
index_string      ::=  <any source character except "]"> +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  <described in the next section>

Nói một cách ít trang trọng hơn, trường thay thế có thể bắt đầu bằng tên_trường chỉ định đối tượng có giá trị sẽ được định dạng và chèn vào đầu ra thay vì trường thay thế. Trường_tên tùy chọn được theo sau bởi trường chuyển đổi, đứng trước dấu chấm than

>>> c = 3-5j
>>> ('The complex number {0} is formed from the real part {0.real} '
..  'and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>> class Point:
..     def __init__(self, x, y):
..         self.x, self.y = x, y
..     def __str__(self):
..         return 'Point({self.x}, {self.y})'.format(self=self)
...
>>> str(Point(4, 2))
'Point(4, 2)'
4 và định dạng_spec, đứng trước dấu hai chấm
>>> c = 3-5j
>>> ('The complex number {0} is formed from the real part {0.real} '
..  'and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>> class Point:
..     def __init__(self, x, y):
..         self.x, self.y = x, y
..     def __str__(self):
..         return 'Point({self.x}, {self.y})'.format(self=self)
...
>>> str(Point(4, 2))
'Point(4, 2)'
5. Chúng chỉ định định dạng không mặc định cho giá trị thay thế

Xem thêm phần

Bản thân field_name bắt đầu bằng arg_name là một số hoặc một từ khóa. Nếu đó là một số, nó đề cập đến một đối số vị trí và nếu đó là một từ khóa, thì nó đề cập đến một đối số từ khóa được đặt tên. Nếu arg_names số trong một chuỗi định dạng là 0, 1, 2, … theo thứ tự, tất cả chúng có thể được bỏ qua (không chỉ một số) và các số 0, 1, 2, … sẽ tự động được chèn vào theo thứ tự đó. Vì arg_name không được phân tách bằng dấu ngoặc kép nên không thể chỉ định các khóa từ điển tùy ý (e. g. , các chuỗi

>>> c = 3-5j
>>> ('The complex number {0} is formed from the real part {0.real} '
..  'and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>> class Point:
..     def __init__(self, x, y):
..         self.x, self.y = x, y
..     def __str__(self):
..         return 'Point({self.x}, {self.y})'.format(self=self)
...
>>> str(Point(4, 2))
'Point(4, 2)'
6 hoặc
>>> c = 3-5j
>>> ('The complex number {0} is formed from the real part {0.real} '
..  'and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>> class Point:
..     def __init__(self, x, y):
..         self.x, self.y = x, y
..     def __str__(self):
..         return 'Point({self.x}, {self.y})'.format(self=self)
...
>>> str(Point(4, 2))
'Point(4, 2)'
7) trong một chuỗi định dạng. Arg_name có thể được theo sau bởi bất kỳ số lượng biểu thức thuộc tính hoặc chỉ mục nào. Biểu thức có dạng
>>> c = 3-5j
>>> ('The complex number {0} is formed from the real part {0.real} '
..  'and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>> class Point:
..     def __init__(self, x, y):
..         self.x, self.y = x, y
..     def __str__(self):
..         return 'Point({self.x}, {self.y})'.format(self=self)
...
>>> str(Point(4, 2))
'Point(4, 2)'
8 chọn thuộc tính có tên bằng cách sử dụng , trong khi biểu thức có dạng
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
50 thực hiện tra cứu chỉ mục bằng cách sử dụng
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
51

Đã thay đổi trong phiên bản 3. 1. Có thể bỏ qua các chỉ định đối số vị trí cho , do đó,

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
53 tương đương với
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
54.

Đã thay đổi trong phiên bản 3. 4. Có thể bỏ qua các chỉ định đối số vị trí cho.

Một số ví dụ chuỗi định dạng đơn giản

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
9

Trường chuyển đổi gây ra sự ép buộc kiểu trước khi định dạng. Thông thường, công việc định dạng một giá trị được thực hiện bằng phương thức

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
56 của chính giá trị đó. Tuy nhiên, trong một số trường hợp, nên buộc một loại được định dạng dưới dạng một chuỗi, ghi đè định nghĩa định dạng của chính nó. Bằng cách chuyển đổi giá trị thành chuỗi trước khi gọi
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
56, logic định dạng thông thường được bỏ qua

Ba cờ chuyển đổi hiện được hỗ trợ.

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
58 gọi giá trị,
format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
30 gọi và
format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
32 gọi

Vài ví dụ

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first

Trường format_spec chứa thông số kỹ thuật về cách trình bày giá trị, bao gồm các chi tiết như độ rộng trường, căn chỉnh, phần đệm, độ chính xác thập phân, v.v. Mỗi loại giá trị có thể xác định “ngôn ngữ nhỏ định dạng” của riêng mình hoặc diễn giải định dạng_spec

Hầu hết các loại tích hợp đều hỗ trợ một ngôn ngữ nhỏ định dạng phổ biến, được mô tả trong phần tiếp theo

Trường format_spec cũng có thể bao gồm các trường thay thế lồng nhau bên trong nó. Các trường thay thế lồng nhau này có thể chứa tên trường, cờ chuyển đổi và đặc tả định dạng nhưng không được phép lồng sâu hơn. Các trường thay thế trong format_spec được thay thế trước khi chuỗi format_spec được diễn giải. Điều này cho phép định dạng của một giá trị được chỉ định động

Xem phần cho một số ví dụ

Đặc tả định dạng Ngôn ngữ nhỏ

“Thông số kỹ thuật định dạng” được sử dụng trong các trường thay thế có trong chuỗi định dạng để xác định cách trình bày các giá trị riêng lẻ (xem và ). Chúng cũng có thể được chuyển trực tiếp đến hàm tích hợp. Mỗi loại có thể định dạng có thể xác định cách diễn giải đặc tả định dạng

Hầu hết các loại tích hợp đều triển khai các tùy chọn sau cho thông số kỹ thuật định dạng, mặc dù một số tùy chọn định dạng chỉ được hỗ trợ bởi các loại số

Một quy ước chung là một đặc tả định dạng trống tạo ra kết quả giống như khi bạn gọi giá trị. Đặc tả định dạng không trống thường sửa đổi kết quả

Hình thức chung của một công cụ xác định định dạng tiêu chuẩn là

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

Nếu một giá trị căn chỉnh hợp lệ được chỉ định, nó có thể được bắt đầu bằng một ký tự điền có thể là bất kỳ ký tự nào và mặc định là khoảng trắng nếu bị bỏ qua. Không thể sử dụng dấu ngoặc nhọn theo nghĩa đen (”

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
36” hoặc “
format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
37”) làm ký tự điền vào a hoặc khi sử dụng phương thức. Tuy nhiên, có thể chèn dấu ngoặc nhọn với trường thay thế lồng nhau. Hạn chế này không ảnh hưởng đến chức năng

Ý nghĩa của các tùy chọn căn chỉnh khác nhau như sau

Tùy chọn

Nghĩa

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
90

Buộc trường phải được căn trái trong không gian có sẵn (đây là mặc định cho hầu hết các đối tượng)

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
91

Buộc trường phải được căn phải trong khoảng trống có sẵn (đây là giá trị mặc định cho các số)

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
92

Buộc đặt phần đệm sau dấu (nếu có) nhưng trước các chữ số. Điều này được sử dụng để in các trường ở dạng '+000000120'. Tùy chọn căn chỉnh này chỉ hợp lệ cho các loại số. Nó trở thành mặc định cho các số khi '0' ngay trước độ rộng trường

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
93

Buộc trường được căn giữa trong không gian có sẵn

Lưu ý rằng trừ khi độ rộng trường tối thiểu được xác định, chiều rộng trường sẽ luôn có cùng kích thước với dữ liệu để điền vào, do đó, tùy chọn căn chỉnh không có ý nghĩa gì trong trường hợp này

Tùy chọn ký hiệu chỉ hợp lệ đối với các loại số và có thể là một trong các tùy chọn sau

Tùy chọn

Nghĩa

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
94

chỉ ra rằng một dấu hiệu nên được sử dụng cho cả số dương cũng như số âm

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
95

chỉ ra rằng một dấu hiệu chỉ nên được sử dụng cho các số âm (đây là hành vi mặc định)

khoảng trống

chỉ ra rằng nên sử dụng khoảng trắng ở đầu trên các số dương và dấu trừ trên các số âm

Tùy chọn

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
96 ép buộc các giá trị dấu phẩy động 0 âm thành 0 dương sau khi làm tròn đến độ chính xác của định dạng. Tùy chọn này chỉ hợp lệ cho các kiểu trình bày dấu phẩy động

Đã thay đổi trong phiên bản 3. 11. Đã thêm tùy chọn

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
96 (xem thêm PEP 682).

Tùy chọn

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
98 khiến “dạng thay thế” được sử dụng để chuyển đổi. Hình thức thay thế được xác định khác nhau cho các loại khác nhau. Tùy chọn này chỉ hợp lệ cho các loại số nguyên, float và phức tạp. Đối với số nguyên, khi đầu ra nhị phân, bát phân hoặc thập lục phân được sử dụng, tùy chọn này sẽ thêm tiền tố tương ứng
format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
99,
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
900,
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
901 hoặc
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
902 vào giá trị đầu ra. Đối với float và phức, dạng thay thế khiến kết quả chuyển đổi luôn chứa ký tự dấu thập phân, ngay cả khi không có chữ số nào theo sau nó. Thông thường, một ký tự dấu thập phân chỉ xuất hiện trong kết quả của những chuyển đổi này nếu một chữ số theo sau nó. Ngoài ra, đối với chuyển đổi
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
903 và
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
904, các số 0 ở cuối không bị xóa khỏi kết quả

Tùy chọn

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
905 báo hiệu việc sử dụng dấu phẩy cho dấu phân cách hàng nghìn. Đối với dấu tách nhận biết ngôn ngữ, thay vào đó hãy sử dụng kiểu trình bày số nguyên
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
906

Đã thay đổi trong phiên bản 3. 1. Đã thêm tùy chọn

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
905 (xem thêm PEP 378).

Tùy chọn

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
908 báo hiệu việc sử dụng dấu gạch dưới cho dấu phân cách hàng nghìn đối với kiểu trình bày dấu chấm động và kiểu trình bày số nguyên
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
909. Đối với các kiểu trình bày số nguyên
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
910,
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
911,
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
912 và
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
913, dấu gạch dưới sẽ được chèn sau mỗi 4 chữ số. Đối với các loại bản trình bày khác, việc chỉ định tùy chọn này là một lỗi

Đã thay đổi trong phiên bản 3. 6. Đã thêm tùy chọn

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
908 (xem thêm PEP 515).

chiều rộng là một số nguyên thập phân xác định tổng chiều rộng trường tối thiểu, bao gồm mọi tiền tố, dấu phân cách và các ký tự định dạng khác. Nếu không được chỉ định, thì độ rộng trường sẽ được xác định bởi nội dung

Khi không căn chỉnh rõ ràng, đặt trước trường chiều rộng một ký tự số 0 (

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
915) sẽ bật tính năng đệm số 0 nhận biết dấu hiệu cho các loại số. Điều này tương đương với ký tự điền là
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
915 với kiểu căn chỉnh là
format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
92

Đã thay đổi trong phiên bản 3. 10. Đặt trước trường chiều rộng bằng

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
915 không còn ảnh hưởng đến căn chỉnh mặc định cho chuỗi.

Độ chính xác là một số nguyên thập phân cho biết có bao nhiêu chữ số sẽ được hiển thị sau dấu thập phân đối với kiểu trình bày

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
919 và
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
920 hoặc trước và sau dấu thập phân đối với kiểu trình bày
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
903 hoặc
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
904. Đối với các kiểu trình bày chuỗi, trường cho biết kích thước trường tối đa - nói cách khác, có bao nhiêu ký tự sẽ được sử dụng từ nội dung trường. Độ chính xác không được phép đối với các kiểu trình bày số nguyên

Cuối cùng, loại xác định cách trình bày dữ liệu

Các kiểu trình bày chuỗi có sẵn là

Loại

Nghĩa

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
923

định dạng chuỗi. Đây là kiểu mặc định cho chuỗi và có thể bỏ qua

Không có

Giống như

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
923

Các kiểu trình bày số nguyên có sẵn là

Loại

Nghĩa

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
910

định dạng nhị phân. Xuất ra số trong cơ sở 2

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
926

Nhân vật. Chuyển đổi số nguyên thành ký tự unicode tương ứng trước khi in

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
909

số nguyên thập phân. Xuất ra số trong cơ số 10

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
911

định dạng bát phân. Xuất ra số trong cơ số 8

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
912

định dạng hex. Xuất số trong cơ số 16, sử dụng chữ cái viết thường cho các chữ số trên 9

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
913

định dạng hex. Xuất số trong cơ số 16, sử dụng chữ in hoa cho các chữ số trên 9. Trong trường hợp

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
98 được chỉ định, tiền tố
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
901 cũng sẽ được viết hoa thành
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
902

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
906

Con số. Điều này giống như

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
909, ngoại trừ việc nó sử dụng cài đặt ngôn ngữ hiện tại để chèn các ký tự phân tách số thích hợp

Không có

Giống như

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
909

Ngoài các kiểu trình bày ở trên, các số nguyên có thể được định dạng bằng các kiểu trình bày dấu phẩy động được liệt kê bên dưới (ngoại trừ

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
906 và
>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'
>>> '{}, {}, {}'.format('a', 'b', 'c')  # 3.1+ only
'a, b, c'
>>> '{2}, {1}, {0}'.format('a', 'b', 'c')
'c, b, a'
>>> '{2}, {1}, {0}'.format(*'abc')      # unpacking argument sequence
'c, b, a'
>>> '{0}{1}{0}'.format('abra', 'cad')   # arguments' indices can be repeated
'abracadabra'
2). Khi làm như vậy, được sử dụng để chuyển đổi số nguyên thành số dấu phẩy động trước khi định dạng

Các loại bản trình bày có sẵn cho và các giá trị là

Loại

Nghĩa

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
942

Ký hiệu khoa học. Đối với một độ chính xác nhất định

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
943, định dạng số theo ký hiệu khoa học bằng chữ 'e' ngăn cách hệ số với số mũ. Hệ số có một chữ số trước và ________ 1943 chữ số sau dấu thập phân, tổng cộng là ________ 1945 chữ số có nghĩa. Không đưa ra độ chính xác, sử dụng độ chính xác của
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
946 chữ số sau dấu thập phân cho , và hiển thị tất cả các chữ số hệ số cho. Nếu không có chữ số nào theo sau dấu thập phân, thì dấu thập phân cũng bị xóa trừ khi sử dụng tùy chọn
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
949

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
950

Ký hiệu khoa học. Giống như

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
942 ngoại trừ nó sử dụng chữ hoa 'E' làm ký tự phân cách

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
919

Ký hiệu điểm cố định. Đối với một độ chính xác nhất định _______ 1943, định dạng số dưới dạng số thập phân có chính xác _______ 1943 chữ số sau dấu thập phân. Không cung cấp độ chính xác, sử dụng độ chính xác của

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
946 chữ số sau dấu thập phân cho , và sử dụng độ chính xác đủ lớn để hiển thị tất cả các chữ số hệ số cho. Nếu không có chữ số nào theo sau dấu thập phân, thì dấu thập phân cũng bị xóa trừ khi sử dụng tùy chọn
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
949

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
920

Ký hiệu điểm cố định. Tương tự như

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
919, nhưng chuyển đổi ________ 1961 thành ________ 1962 và ________ 1963 thành ________ 1964

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
903

định dạng chung. Đối với một độ chính xác nhất định

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
966, điều này làm tròn số thành
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
943 chữ số có nghĩa và sau đó định dạng kết quả ở định dạng điểm cố định hoặc theo ký hiệu khoa học, tùy thuộc vào độ lớn của nó. Độ chính xác của
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
968 được coi là tương đương với độ chính xác của
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
969

Các quy tắc chính xác như sau. giả sử rằng kết quả được định dạng với kiểu trình bày

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
942 và độ chính xác
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
971 sẽ có số mũ
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
972. Sau đó, nếu
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
973, trong đó
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
974 là -4 cho số float và -6 cho , thì số được định dạng với kiểu trình bày
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
919 và độ chính xác
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
977. Mặt khác, số được định dạng với kiểu trình bày
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
942 và độ chính xác
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
971. Trong cả hai trường hợp, các số không ở cuối không đáng kể sẽ bị xóa khỏi ý nghĩa và dấu thập phân cũng bị xóa nếu không còn chữ số nào theo sau nó, trừ khi tùy chọn
format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
98 được sử dụng

Không có độ chính xác nhất định, sử dụng độ chính xác của

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
946 chữ số có nghĩa cho. Đối với , hệ số của kết quả được hình thành từ các chữ số hệ số của giá trị;

Vô cực dương và âm, 0 dương và âm, và nans, được định dạng lần lượt là

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
963,
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
986,
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
968,
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
988 và
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
961, bất kể độ chính xác là bao nhiêu

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
904

định dạng chung. Tương tự như

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
903 ngoại trừ chuyển sang
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
950 nếu số quá lớn. Các biểu diễn của vô cực và NaN cũng được viết hoa

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
906

Con số. Điều này giống như

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
903, ngoại trừ việc nó sử dụng cài đặt ngôn ngữ hiện tại để chèn các ký tự phân cách số thích hợp

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
995

tỷ lệ phần trăm. Nhân một số với 100 và hiển thị ở định dạng cố định (______1919), theo sau là dấu phần trăm

Không có

Đối với điều này giống như

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
903, ngoại trừ khi ký hiệu điểm cố định được sử dụng để định dạng kết quả, nó luôn bao gồm ít nhất một chữ số sau dấu thập phân. Độ chính xác được sử dụng càng lớn càng tốt để biểu thị giá trị đã cho một cách trung thực

Đối với , điều này cũng giống như

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
903 hoặc
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
904 tùy thuộc vào giá trị của
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
02 cho ngữ cảnh thập phân hiện tại

Hiệu quả tổng thể là để khớp với đầu ra khi được thay đổi bởi các công cụ sửa đổi định dạng khác

định dạng ví dụ

Phần này chứa các ví dụ về cú pháp và so sánh với định dạng

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
05 cũ

Trong hầu hết các trường hợp, cú pháp tương tự như định dạng

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
05 cũ, với việc bổ sung
>>> c = 3-5j
>>> ('The complex number {0} is formed from the real part {0.real} '
..  'and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>> class Point:
..     def __init__(self, x, y):
..         self.x, self.y = x, y
..     def __str__(self):
..         return 'Point({self.x}, {self.y})'.format(self=self)
...
>>> str(Point(4, 2))
'Point(4, 2)'
1 và với
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
08 được sử dụng thay vì
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
05. Ví dụ,
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
10 có thể được dịch sang
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
11

Cú pháp định dạng mới cũng hỗ trợ các tùy chọn mới và khác nhau, được hiển thị trong các ví dụ sau

Truy cập đối số theo vị trí

>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'
>>> '{}, {}, {}'.format('a', 'b', 'c')  # 3.1+ only
'a, b, c'
>>> '{2}, {1}, {0}'.format('a', 'b', 'c')
'c, b, a'
>>> '{2}, {1}, {0}'.format(*'abc')      # unpacking argument sequence
'c, b, a'
>>> '{0}{1}{0}'.format('abra', 'cad')   # arguments' indices can be repeated
'abracadabra'

Truy cập đối số theo tên

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
38

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

>>> c = 3-5j
>>> ('The complex number {0} is formed from the real part {0.real} '
..  'and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>> class Point:
..     def __init__(self, x, y):
..         self.x, self.y = x, y
..     def __str__(self):
..         return 'Point({self.x}, {self.y})'.format(self=self)
...
>>> str(Point(4, 2))
'Point(4, 2)'

Truy cập các mục của đối số

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
5

Thay thế

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
12 và
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
13

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
3

Căn chỉnh văn bản và chỉ định chiều rộng

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
9

Thay thế

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
14,
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
15, và
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
16 và ghi rõ dấu hiệu

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
90

Thay thế

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
17 và
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
18 và chuyển đổi giá trị sang các cơ sở khác nhau

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
91

Sử dụng dấu phẩy làm dấu tách hàng nghìn

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
92

Thể hiện một tỷ lệ phần trăm

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
93

Sử dụng định dạng dành riêng cho loại

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
94

Các đối số lồng nhau và các ví dụ phức tạp hơn

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
95

Chuỗi mẫu

Các chuỗi mẫu cung cấp các thay thế chuỗi đơn giản hơn như được mô tả trong PEP 292. Trường hợp sử dụng chính cho chuỗi mẫu là để quốc tế hóa (i18n) vì trong ngữ cảnh đó, cú pháp và chức năng đơn giản hơn giúp dịch dễ dàng hơn các phương tiện định dạng chuỗi tích hợp sẵn khác trong Python. Để làm ví dụ về thư viện được xây dựng trên các chuỗi mẫu cho i18n, hãy xem lưu lượng. gói i18n

Chuỗi mẫu hỗ trợ thay thế dựa trên

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
19, sử dụng các quy tắc sau

  • "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    20 là một lối thoát;

  • "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    22 đặt tên cho trình giữ chỗ thay thế khớp với khóa ánh xạ của
    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    23. Theo mặc định,
    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    23 bị hạn chế đối với mọi chuỗi ký tự chữ và số ASCII phân biệt chữ hoa chữ thường (bao gồm cả dấu gạch dưới) bắt đầu bằng dấu gạch dưới hoặc ký tự ASCII. Ký tự không định danh đầu tiên sau ký tự
    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    19 chấm dứt thông số kỹ thuật giữ chỗ này

  • "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    26 tương đương với
    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    22. Nó được yêu cầu khi các ký tự định danh hợp lệ đi theo trình giữ chỗ nhưng không phải là một phần của trình giữ chỗ, chẳng hạn như
    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    28

Bất kỳ sự xuất hiện nào khác của

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
19 trong chuỗi sẽ dẫn đến việc tăng

Mô-đun cung cấp một lớp thực hiện các quy tắc này. Các phương pháp là

lớp chuỗi. Mẫu(mẫu)

Hàm tạo nhận một đối số duy nhất là chuỗi mẫu

thay thế(ánh xạ={}, /, **kwds)

Thực hiện thay thế mẫu, trả về một chuỗi mới. ánh xạ là bất kỳ đối tượng giống như từ điển nào có khóa khớp với phần giữ chỗ trong mẫu. Ngoài ra, bạn có thể cung cấp các đối số từ khóa, trong đó các từ khóa là phần giữ chỗ. Khi cả ánh xạ và kwds được cung cấp và có các bản sao, trình giữ chỗ từ kwds được ưu tiên

safe_substitute(ánh xạ={}, /, **kwds)

Giống như , ngoại trừ nếu trình giữ chỗ bị thiếu trong ánh xạ và kwds, thay vì đưa ra một ngoại lệ, trình giữ chỗ ban đầu sẽ xuất hiện nguyên vẹn trong chuỗi kết quả. Ngoài ra, không giống như với , bất kỳ lần xuất hiện nào khác của

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
19 sẽ chỉ trả về
"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
19 thay vì tăng

Mặc dù các ngoại lệ khác vẫn có thể xảy ra, nhưng phương thức này được gọi là “an toàn” vì nó luôn cố gắng trả về một chuỗi có thể sử dụng được thay vì đưa ra một ngoại lệ. Theo một nghĩa khác, có thể là bất kỳ thứ gì khác ngoài an toàn, vì nó sẽ âm thầm bỏ qua các mẫu không đúng định dạng có chứa dấu phân cách lơ lửng, dấu ngoặc nhọn chưa khớp hoặc trình giữ chỗ không phải là mã định danh Python hợp lệ

is_valid()

Trả về false nếu mẫu có phần giữ chỗ không hợp lệ sẽ khiến tăng

Mới trong phiên bản 3. 11

get_identifiers()

Trả về danh sách các số nhận dạng hợp lệ trong mẫu, theo thứ tự chúng xuất hiện lần đầu, bỏ qua mọi số nhận dạng không hợp lệ

Mới trong phiên bản 3. 11

các phiên bản cũng cung cấp một thuộc tính dữ liệu công khai

mẫu

Đây là đối tượng được truyền cho đối số mẫu của hàm tạo. Nói chung, bạn không nên thay đổi nó, nhưng quyền truy cập chỉ đọc không được thực thi

Dưới đây là một ví dụ về cách sử dụng Mẫu

"Harold's a clever {0!s}"        # Calls str() on the argument first
"Bring out the holy {name!r}"    # Calls repr() on the argument first
"More {!a}"                      # Calls ascii() on the argument first
96

Sử dụng nâng cao. bạn có thể lấy các lớp con của để tùy chỉnh cú pháp trình giữ chỗ, ký tự phân cách hoặc toàn bộ biểu thức chính quy được sử dụng để phân tích các chuỗi mẫu. Để làm điều này, bạn có thể ghi đè các thuộc tính lớp này

  • dấu phân cách - Đây là chuỗi ký tự mô tả một trình giữ chỗ giới thiệu dấu phân cách. Giá trị mặc định là

    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    19. Lưu ý rằng đây không phải là một biểu thức chính quy, vì việc triển khai sẽ gọi chuỗi này khi cần. Lưu ý thêm rằng bạn không thể thay đổi dấu phân cách sau khi tạo lớp (i. e. một dấu phân cách khác phải được đặt trong không gian tên lớp của lớp con)

  • idpattern – Đây là biểu thức chính quy mô tả mẫu dành cho trình giữ chỗ không có dấu ngoặc. Giá trị mặc định là biểu thức chính quy

    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    47. Nếu điều này được đưa ra và niềng răng là
    >>> '{0}, {1}, {2}'.format('a', 'b', 'c')
    'a, b, c'
    >>> '{}, {}, {}'.format('a', 'b', 'c')  # 3.1+ only
    'a, b, c'
    >>> '{2}, {1}, {0}'.format('a', 'b', 'c')
    'c, b, a'
    >>> '{2}, {1}, {0}'.format(*'abc')      # unpacking argument sequence
    'c, b, a'
    >>> '{0}{1}{0}'.format('abra', 'cad')   # arguments' indices can be repeated
    'abracadabra'
    
    2 thì mẫu này cũng sẽ áp dụng cho các trình giữ chỗ có niềng răng

    Ghi chú

    Vì các cờ mặc định là

    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    49, nên mẫu
    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    50 có thể khớp với một số ký tự không phải ASCII. Đó là lý do tại sao chúng tôi sử dụng cờ địa phương
    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    51 ở đây

    Đã thay đổi trong phiên bản 3. 7. mẫu niềng răng có thể được sử dụng để xác định các mẫu riêng biệt được sử dụng bên trong và bên ngoài dấu ngoặc nhọn.

  • cú đúp - Điều này giống như idpattern nhưng mô tả mẫu cho các trình giữ chỗ có dấu ngoặc nhọn. Mặc định là

    >>> '{0}, {1}, {2}'.format('a', 'b', 'c')
    'a, b, c'
    >>> '{}, {}, {}'.format('a', 'b', 'c')  # 3.1+ only
    'a, b, c'
    >>> '{2}, {1}, {0}'.format('a', 'b', 'c')
    'c, b, a'
    >>> '{2}, {1}, {0}'.format(*'abc')      # unpacking argument sequence
    'c, b, a'
    >>> '{0}{1}{0}'.format('abra', 'cad')   # arguments' indices can be repeated
    'abracadabra'
    
    2 có nghĩa là quay trở lại idpattern (i. e. cùng một mẫu được sử dụng cả bên trong và bên ngoài dấu ngoặc nhọn). Nếu được cung cấp, điều này cho phép bạn xác định các mẫu khác nhau cho các trình giữ chỗ có thanh giằng và không có thanh giằng

    Mới trong phiên bản 3. 7

  • cờ - Các cờ biểu thức chính quy sẽ được áp dụng khi biên dịch biểu thức chính quy được sử dụng để nhận dạng thay thế. Giá trị mặc định là

    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    49. Lưu ý rằng
    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    54 sẽ luôn được thêm vào các cờ, do đó, các mẫu id tùy chỉnh phải tuân theo các quy ước cho các biểu thức chính quy dài dòng

    Mới trong phiên bản 3. 2

Ngoài ra, bạn có thể cung cấp toàn bộ mẫu biểu thức chính quy bằng cách ghi đè mẫu thuộc tính lớp. Nếu bạn làm điều này, giá trị phải là một đối tượng biểu thức chính quy với bốn nhóm chụp được đặt tên. Các nhóm chụp tương ứng với các quy tắc được đưa ra ở trên, cùng với quy tắc giữ chỗ không hợp lệ

  • đã thoát - Nhóm này khớp với chuỗi thoát, e. g.

    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    "More {!a}"                      # Calls ascii() on the argument first
    
    20, theo mẫu mặc định

  • có tên – Nhóm này khớp với tên giữ chỗ không có dấu ngoặc;

  • niềng răng - Nhóm này khớp với tên giữ chỗ kèm theo dấu ngoặc nhọn;

  • không hợp lệ - Nhóm này khớp với bất kỳ mẫu dấu phân cách nào khác (thường là một dấu phân cách duy nhất) và nó sẽ xuất hiện cuối cùng trong biểu thức chính quy

Các phương thức trên lớp này sẽ tăng nếu mẫu khớp với mẫu mà không có một trong các nhóm được đặt tên này khớp

chức năng trợ giúp

chuỗi. capwords(s , sep=None)

Tách đối số thành các từ bằng cách sử dụng , viết hoa từng từ bằng cách sử dụng và nối các từ viết hoa bằng cách sử dụng. Nếu đối số thứ hai tùy chọn sep không có hoặc

>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'
>>> '{}, {}, {}'.format('a', 'b', 'c')  # 3.1+ only
'a, b, c'
>>> '{2}, {1}, {0}'.format('a', 'b', 'c')
'c, b, a'
>>> '{2}, {1}, {0}'.format(*'abc')      # unpacking argument sequence
'c, b, a'
>>> '{0}{1}{0}'.format('abra', 'cad')   # arguments' indices can be repeated
'abracadabra'
2, các ký tự khoảng trắng sẽ được thay thế bằng một khoảng trắng và khoảng trắng ở đầu và cuối sẽ bị xóa, nếu không thì sep được sử dụng để tách và nối các từ

Các ký tự có thể in được trong Python là gì?

Trong Python các ký tự chiếm không gian in trên màn hình hiển thị được coi là ký tự in được. Đây có thể là - chữ cái, ký hiệu, chữ số, dấu chấm câu, khoảng trắng, v.v. Mặt khác, các ký tự không in được là những ký tự không nhìn thấy được và không chiếm bất kỳ không gian in nào.

Là Python chuỗi có thể in được?

Phương thức Python String isprintable() . Hàm này được sử dụng để kiểm tra xem đối số có chứa bất kỳ ký tự có thể in nào không, chẳng hạn như. Chữ số ( 0123456789 )The isprintable() method returns “True” if all characters in the string are printable or the string is empty, Otherwise, It returns “False”. This function is used to check if the argument contains any printable characters such as: Digits ( 0123456789 )

Các ký tự có thể in riêng lẻ là gì?

Ký tự in được bao gồm chữ cái, chữ số và dấu chấm câu đặc biệt như dấu phẩy, dấu ngoặc và dấu chấm hỏi . Các ký tự không in được tương ứng với các mã biểu thị một chức năng đặc biệt, chẳng hạn như nguồn cấp dữ liệu, tab hoặc xuống dòng.

Những ký tự nào không in được?

Một số ký tự không in được phổ biến nhất là dấu xuống dòng, nạp biểu mẫu, nạp dòng, xóa lùi, thoát, tab ngang và tab dọc . Chúng có thể không có hình dạng rõ ràng nhưng sẽ có tác dụng đối với đầu ra.