Hướng dẫn how do you import a string into python? - làm thế nào để bạn nhập một chuỗi vào python?

Mô -đun chuỗi Python chứa một số hằng số, hàm tiện ích và các lớp để thao tác chuỗi.

Mô -đun chuỗi Python

Nó là một mô-đun tích hợp và chúng tôi phải nhập nó trước khi sử dụng bất kỳ hằng số và lớp nào của nó.

Hằng số mô -đun chuỗi

Hãy cùng nhìn vào các hằng số được xác định trong mô -đun chuỗi.

import string

# string module constants
print(string.ascii_letters)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.digits)
print(string.hexdigits)
print(string.whitespace)  # ' \t\n\r\x0b\x0c'
print(string.punctuation)

Output:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~

Hướng dẫn how do you import a string into python? - làm thế nào để bạn nhập một chuỗi vào python?

Chuỗi capwords () hàm

Mô -đun chuỗi Python chứa một hàm tiện ích duy nhất - Capwords (s, sep = none). Hàm này chia chuỗi được chỉ định thành các từ bằng cách sử dụng str.split (). Sau đó, nó tận dụng từng từ bằng hàm

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
3. Cuối cùng, nó tham gia các từ viết hoa bằng cách sử dụng str.join (). Nếu đối số tùy chọn SEP không được cung cấp hoặc không có, thì các không gian trắng dẫn và dấu vết được loại bỏ và các từ được phân tách bằng khoảng trắng đơn lẻ. Nếu nó được cung cấp thì bộ tách được sử dụng để phân chia và tham gia các từ.

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))

Đầu ra:

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
4
Hướng dẫn how do you import a string into python? - làm thế nào để bạn nhập một chuỗi vào python?

Các lớp mô -đun chuỗi Python

Mô -đun chuỗi Python chứa hai lớp - Formatter và Mẫu.

Định hình

Nó hoạt động chính xác giống như hàm str.format (). Lớp này trở nên hữu ích nếu bạn muốn phân lớp nó và xác định cú pháp chuỗi định dạng của riêng bạn. Hãy cùng xem xét một ví dụ đơn giản về việc sử dụng lớp định dạng.

from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))

Output:

Welcome to JournalDev
Welcome to JournalDev

Hướng dẫn how do you import a string into python? - làm thế nào để bạn nhập một chuỗi vào python?

Mẫu

Lớp này được sử dụng để tạo một mẫu chuỗi để thay thế chuỗi đơn giản hơn như được mô tả trong PEP 292. Nó rất hữu ích trong việc thực hiện quốc tế hóa (I18N) trong một ứng dụng mà chúng tôi không cần các quy tắc định dạng phức tạp.

from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)

Đầu ra:

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
5
Hướng dẫn how do you import a string into python? - làm thế nào để bạn nhập một chuỗi vào python?

Bạn có thể kiểm tra toàn bộ tập lệnh Python và nhiều ví dụ về Python từ Kho lưu trữ GitHub của chúng tôi.

Tham khảo: Tài liệu chính thức

Mã nguồn: lib/string.py Lib/string.py


Chuỗi hằng số lor

Các hằng số được xác định trong mô -đun này là:

String.ascii_letters¶ascii_letters

Sự kết hợp của hằng số

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
6 và
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
7 được mô tả dưới đây. Giá trị này không phụ thuộc vào địa phương.

String.ascii_lowercase¶ascii_lowercase

Các chữ cái chữ thường

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
8. Giá trị này không phụ thuộc vào địa phương và sẽ không thay đổi.

String.ascii_uppercase¶ascii_uppercase

Các chữ cái viết hoa

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
9. Giá trị này không phụ thuộc vào địa phương và sẽ không thay đổi.

String.digits¶digits

Chuỗi

from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
0.

String.hexdigits¶hexdigits

Chuỗi

from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
1.

String.octdigits¶octdigits

Chuỗi

from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
2.

Chuỗi.punctuation

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

from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
3:
from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
4.

String.Printable¶printable

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

from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
5,
from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
6,
from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
7 và
from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
8.

String.Whitespace¶whitespace

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, linefeed, return, formFeed và tab dọc.

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

Lớp chuỗi tích hợp cung cấp khả năng thực hiện các thay thế biến đổi phức tạp và định dạng giá trị thông qua phương thức

from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
9 được mô tả trong PEP 3101. Lớp
Welcome to JournalDev
Welcome to JournalDev
0 trong mô-đun
Welcome to JournalDev
Welcome to JournalDev
1 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 bạn bằng cách sử dụng cùng một triển khai như là Phương pháp tích hợp
from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
9.PEP 3101. The
Welcome to JournalDev
Welcome to JournalDev
0 class in the
Welcome to JournalDev
Welcome to JournalDev
1 module allows you to create and customize your own string formatting behaviors using the same implementation as the built-in
from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
9 method.

classString.formatter¶string.Formatter

Lớp

Welcome to JournalDev
Welcome to JournalDev
0 có các phương thức công khai sau:

Định dạng (Format_String, /, *args, ** kwargs) ¶(format_string, /, *args, **kwargs)

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

Welcome to JournalDev
Welcome to JournalDev
4.

Đã thay đổi trong phiên bản 3.7: Đối số chuỗi định dạng hiện chỉ có vị trí.A format string argument is now positional-only.

vformat (format_string, args, kwargs) ¶(format_string, args, kwargs)

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

Welcome to JournalDev
Welcome to JournalDev
5 và
Welcome to JournalDev
Welcome to JournalDev
6.
Welcome to JournalDev
Welcome to JournalDev
4 Công việc chia 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 pháp khác nhau được mô tả dưới đây.

Ngoài ra,

Welcome to JournalDev
Welcome to JournalDev
0 xác định một số phương thức được dự định sẽ được thay thế bằng các lớp con:

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

Vòng lặp qua định dạng_string và trả về một bộ dữ liệu (literal_text, field_name, format_spec, chuyển đổi). Điều này được sử dụng bởi

Welcome to JournalDev
Welcome to JournalDev
4 để chia chuỗi thành văn bản theo nghĩa đen hoặc các trường thay thế.

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

from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
0.

get_field (field_name, args, kwargs) ¶(field_name, args, kwargs)

Cho field_name được trả về bởi

from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
1 (xem ở trên), chuyển đổi nó thành một đối tượng được định dạng. Trả về một tuple (obj, used_key). Phiên bản mặc định có các chuỗi của biểu mẫu được xác định trong PEP 3101, chẳng hạn như là 0 [tên] Args và kwargs được truyền đến
Welcome to JournalDev
Welcome to JournalDev
4. Giá trị trả về đã sử dụng_key có cùng ý nghĩa với tham số chính với
from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
3.PEP 3101, such as “0[name]” or “label.title”. args and kwargs are as passed in to
Welcome to JournalDev
Welcome to JournalDev
4. The return value used_key has the same meaning as the key parameter to
from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
3.

get_value (khóa, args, kwargs) ¶(key, args, kwargs)

Lấy 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ỉ số của đối số vị trí trong Args; Nếu đó là một chuỗi, thì nó đại diện cho một đối số được đặt tên trong kwargs.

Tham số ARGS được đặt thành danh sách các đối số vị trí thành

Welcome to JournalDev
Welcome to JournalDev
4 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 chức năng này chỉ được gọi cho thành phần đầu tiên của tên trường; Các thành phần tiếp theo được xử lý thông qua các hoạt động thuộc tính và lập chỉ mục thông thường.

Vì vậy, ví dụ, biểu thức trường ‘0.Name, sẽ khiến

from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
3 được gọi bằng đối số chính là 0. Thuộc tính
from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
6 sẽ được tra cứu sau khi trả về
from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
3 bằng cách gọi hàm
from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
8 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

from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
9 hoặc
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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
0.

Check_unuse_args (used_args, args, kwargs) ¶(used_args, args, kwargs)

Thực hiện kiểm tra các đối số không sử dụng nếu muốn. Các đối số cho hàm này là tập hợp tất cả các khóa đối số thực sự được đề cập trong chuỗi định dạng (số nguyên cho các đối số vị trí và các chuỗi cho các đối số được đặt tên) và tham chiếu đến ARGS và KWARGS được truyền cho VFormat. Tập hợp các arg không sử dụng có thể được tính từ các tham số này.

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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
1 được giả định để tăng một ngoại lệ nếu kiểm tra không thành công.

format_field (value, format_spec) ¶(value, format_spec)

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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
2 chỉ đơn giản gọi là toàn cầu
from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
9 tích hợp. Phương pháp được cung cấp để các lớp con có thể ghi đè nó.

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

Chuyển đổi giá trị (được trả về bởi

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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
4) được đưa ra một loại chuyển đổi (như trong bộ tuple được trả về bằng phương pháp
from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
1). Phiên bản mặc định hiểu các loại chuyển đổi (STR), ‘R, (repr) và‘ A (ASCII).

Định dạng Chuỗi Cú pháp

Phương pháp

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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
6 và lớp
Welcome to JournalDev
Welcome to JournalDev
0 có chung cú pháp cho các chuỗi định dạng (mặc dù trong trường hợp
Welcome to JournalDev
Welcome to JournalDev
0, 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ác chữ viết được định dạng, nhưng nó kém tinh vi hơn và đặc biệt, không hỗ trợ các biểu thức tùy ý.formatted string literals, but it is less sophisticated and, in particular, does not support arbitrary expressions.

Các chuỗi định dạng có chứa các trường thay thế trên mạng, được bao quanh bởi niềng răng xoăn

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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
9. Bất cứ điều gì không chứa trong niềng răng đều được coi là văn bản theo nghĩa đen, được sao chép không thay đổi với đầu ra. Nếu bạn cần bao gồm một ký tự nẹp trong văn bản theo nghĩa đen, nó có thể được thoát ra bằng cách nhân đôi:
"First, thou shalt count to {0}"  # References first positional argument
"Bring me a {}"                   # Implicitly references the first positional argument
"From {} to {}"                   # Same as "From {0} to {1}"
"My quest is {name}"              # References keyword argument 'name'
"Weight in tons {0.weight}"       # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}"   # First element of keyword argument 'players'.
0 và
"First, thou shalt count to {0}"  # References first positional argument
"Bring me a {}"                   # Implicitly references the first positional argument
"From {} to {}"                   # Same as "From {0} to {1}"
"My quest is {name}"              # References keyword argument 'name'
"Weight in tons {0.weight}"       # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}"   # First element of keyword argument 'players'.
1.

Ngữ pháp cho một 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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  

Trong các thuật ngữ ít chính thức hơn, trường thay thế có thể bắt đầu bằng một field_name chỉ định đối tượng có giá trị được định dạng và chèn vào đầu ra thay vì trường thay thế. Field_name được tùy chọn theo sau bởi một trường chuyển đổi, được đi trước bởi một dấu chấm than

"First, thou shalt count to {0}"  # References first positional argument
"Bring me a {}"                   # Implicitly references the first positional argument
"From {} to {}"                   # Same as "From {0} to {1}"
"My quest is {name}"              # References keyword argument 'name'
"Weight in tons {0.weight}"       # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}"   # First element of keyword argument 'players'.
2 và một định dạng_spec, được đi trước bởi một đại tràng
"First, thou shalt count to {0}"  # References first positional argument
"Bring me a {}"                   # Implicitly references the first positional argument
"From {} to {}"                   # Same as "From {0} to {1}"
"My quest is {name}"              # References keyword argument 'name'
"Weight in tons {0.weight}"       # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}"   # First element of keyword argument 'players'.
3. Chúng chỉ định một định dạng không mặc định cho giá trị thay thế.

Xem thêm phần Đặc tả định dạng Mini-Language.Format Specification Mini-Language section.

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

"First, thou shalt count to {0}"  # References first positional argument
"Bring me a {}"                   # Implicitly references the first positional argument
"From {} to {}"                   # Same as "From {0} to {1}"
"My quest is {name}"              # References keyword argument 'name'
"Weight in tons {0.weight}"       # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}"   # First element of keyword argument 'players'.
4 hoặc
"First, thou shalt count to {0}"  # References first positional argument
"Bring me a {}"                   # Implicitly references the first positional argument
"From {} to {}"                   # Same as "From {0} to {1}"
"My quest is {name}"              # References keyword argument 'name'
"Weight in tons {0.weight}"       # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}"   # First element of keyword argument 'players'.
5) trong chuỗi định dạng. ARG_NAME có thể được theo sau bởi bất kỳ số lượng biểu thức chỉ mục hoặc thuộc tính nào. Một biểu thức của Mẫu
"First, thou shalt count to {0}"  # References first positional argument
"Bring me a {}"                   # Implicitly references the first positional argument
"From {} to {}"                   # Same as "From {0} to {1}"
"My quest is {name}"              # References keyword argument 'name'
"Weight in tons {0.weight}"       # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}"   # First element of keyword argument 'players'.
6 chọn thuộc tính được đặt tên bằng cách sử dụng
from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
8, trong khi biểu thức có dạng
"First, thou shalt count to {0}"  # References first positional argument
"Bring me a {}"                   # Implicitly references the first positional argument
"From {} to {}"                   # Same as "From {0} to {1}"
"My quest is {name}"              # References keyword argument 'name'
"Weight in tons {0.weight}"       # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}"   # First element of keyword argument 'players'.
8 thực hiện tra cứu chỉ mục bằng cách sử dụng
"First, thou shalt count to {0}"  # References first positional argument
"Bring me a {}"                   # Implicitly references the first positional argument
"From {} to {}"                   # Same as "From {0} to {1}"
"My quest is {name}"              # References keyword argument 'name'
"Weight in tons {0.weight}"       # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}"   # First element of keyword argument 'players'.
9.

Đã thay đổi trong phiên bản 3.1: Các nhà xác định đối số vị trí có thể được bỏ qua cho

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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
6, 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
1 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
2.The positional argument specifiers can be omitted for
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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
6, so
"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
1 is equivalent to
"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
2.

Đã thay đổi trong phiên bản 3.4: Các nhà xác định đối số vị trí có thể được bỏ qua cho

Welcome to JournalDev
Welcome to JournalDev
0.The positional argument specifiers can be omitted for
Welcome to JournalDev
Welcome to JournalDev
0.

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

"First, thou shalt count to {0}"  # References first positional argument
"Bring me a {}"                   # Implicitly references the first positional argument
"From {} to {}"                   # Same as "From {0} to {1}"
"My quest is {name}"              # References keyword argument 'name'
"Weight in tons {0.weight}"       # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}"   # First element of keyword argument 'players'.

Trường chuyển đổi gây ra sự ép buộc loại 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
4 của chính giá trị. Tuy nhiên, trong một số trường hợp, mong muốn buộc một loại được định dạng thành một chuỗi, ghi đè lên định nghĩa của chính nó về định dạng. Bằng cách chuyển đổi giá trị thành một 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
4, logic định dạng thông thường được bỏ qua.

Ba cờ chuyển đổi hiện đang đượ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
6 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
7 trên giá 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
8 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
9 và
format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
0 gọi
format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
1.

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 định dạng_spec chứa một đặc điểm kỹ thuật về cách trình bày giá trị, bao gồm các chi tiết như chiều rộng trường, căn chỉnh, đệm, độ chính xác thập phân, v.v. Mỗi loại giá trị có thể xác định định dạng ngôn ngữ nhỏ của riêng mình hoặc giải thích định dạng_spec.

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

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

Xem phần Ví dụ định dạng cho một số ví dụ.Format examples section for some examples.

Đặc điểm kỹ thuật về định dạng Mini-Language¶

Thông số kỹ thuật định dạng của Nhật Bản được sử dụng trong các trường thay thế có trong một chuỗi định dạng để xác định cách trình bày các giá trị riêng lẻ (xem Syntax String Syntax và các chuỗi chuỗi được định dạng). Chúng cũng có thể được chuyển trực tiếp đến chức năng

from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
9 tích hợp. Mỗi loại có thể tạo thành có thể xác định cách giải thích đặc tả định dạng.Format String Syntax and Formatted string literals). They can also be passed directly to the built-in
from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
9 function. Each formattable type may define how the format specification is to be interpreted.

Hầu hết các loại tích hợp thực hiện các tùy chọn sau đây cho các 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ả tương tự như khi bạn đã 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
7 về giá trị. Một đặc tả định dạng không trống thường sửa đổi kết quả.

Hình thức chung của trình xác định định dạng tiêu chuẩn là:

format_spec     ::=  [[fill]align][sign][z][#][0][width][grouping_option][.precision][type]
fill            ::=  
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 đi trước bởi một ký tự điền có thể là bất kỳ ký tự và mặc định nào đối với một không gian nếu bị bỏ qua. Không thể sử dụng niềng răng xoăn theo nghĩa đen (____ ____994, hoặc ____ ____95,) làm ký tự điền theo nghĩa đen được định dạng hoặc khi sử dụng phương pháp

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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
6. Tuy nhiên, có thể chèn một nẹp xoăn với một trường thay thế lồng nhau. Giới hạn này không ảnh hưởng đến chức năng
from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
9.formatted string literal or when using the
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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
6 method. However, it is possible to insert a curly brace with a nested replacement field. This limitation doesn’t affect the
from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
9 function.

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

Quyền mua

Nghĩa

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

Buộc trường phải được liên kết 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            ::=  
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
9

Buộc trường phải được liên kết đúng trong không gian có sẵn (đây là mặc định cho các số).

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
00

Buộc các phần đệm được đặt sau dấu hiệ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 trong mẫu ‘+000000120. Tùy chọn căn chỉnh này chỉ có giá trị cho các loại số. Nó trở thành mặc định cho các số khi ‘0, ngay trước chiều rộng trường.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
01

Buộc các lĩnh vực phải được tập trung trong không gian có sẵn.

Lưu ý rằng trừ khi chiều 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 nó, do đó tùy chọn căn chỉnh không có ý nghĩa trong trường hợp này.

Tùy chọn dấu hiệu chỉ hợp lệ cho các loại số và có thể là một trong những điều sau đây:

Quyền mua

Nghĩa

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
02

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
03

Buộc trường phải được liên kết đúng trong không gian có sẵn (đây là mặc định cho các số).

Buộc các phần đệm được đặt sau dấu hiệ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 trong mẫu ‘+000000120. Tùy chọn căn chỉnh này chỉ có giá trị cho các loại số. Nó trở thành mặc định cho các số khi ‘0, ngay trước chiều rộng trường.

Buộc các lĩnh vực phải được tập trung trong không gian có sẵn.

Lưu ý rằng trừ khi chiều 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 nó, do đó tùy chọn căn chỉnh không có ý nghĩa trong trường hợp này.

Tùy chọn dấu hiệu chỉ hợp lệ cho các loại số và có thể là một trong những điều sau đây:Added the

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
04 option (see also PEP 682).

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.

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).

không gianAdded the

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
13 option (see also PEP 378).

chỉ ra rằng một không gian hàng đầu nên được sử dụng trên các số dương và dấu trừ trên các số âm.

Tùy chọn

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
04 ép buộc các giá trị dấu phẩy động bằng 0 tiêu cực về 0 dương sau khi làm tròn vào độ chính xác định dạng. Tùy chọn này chỉ có giá trị cho các loại trình bày dấu phẩy động.Added the
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
16 option (see also PEP 515).

Đã thay đổi trong phiên bản 3.11: Đã thêm tùy chọn

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
04 (xem thêm PEP 682).

Tùy chọn

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
06 làm cho hình thức thay thế trên mạng đượ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, phao và phức tạp. Đối với các 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 thêm tiền tố tương ứng
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
07,
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
08,
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
09 hoặc
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
10 vào giá trị đầu ra. Đối với float và phức tạp, dạng thay thế gây ra kết quả của quá trình chuyển đổi luôn chứa một ký tự điểm thập phân, ngay cả khi không có chữ số nào tuân theo nó. Thông thường, một ký tự điểm thập phân xuất hiện trong kết quả của các chuyển đổi này chỉ khi một chữ số theo nó. Ngoài ra, đối với các chuyển đổi
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
11 và
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
12, các số không kéo dài không bị xóa khỏi kết quả.

Tùy chọn

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
13 báo hiệu việc sử dụng dấu phẩy cho hàng ngàn người. Đối với một dấu phân cách nhận biết địa phương, thay vào đó hãy sử dụng loại trình bày số nguyên
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
14.Preceding the width field by
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
23 no longer affects the default alignment for strings.

Đã thay đổi trong phiên bản 3.1: Đã thêm tùy chọn

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
13 (xem thêm PEP 378).

Tùy chọn

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
16 báo hiệu việc sử dụng dấu gạch dưới cho hàng ngàn người phân tách cho các loại trình bày điểm nổi và cho loại trình bày số nguyên
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
17. Đối với các loại trình bày số nguyên
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
18,
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
19,
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
20 và
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
21, gạch dưới sẽ được chèn vào mỗi 4 chữ số. Đối với các loại trình bày khá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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
16 (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ì chiều rộng trường sẽ được xác định bởi nội dung.

Nghĩa

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
31

Khi không có sự liên kết rõ ràng được đưa ra, trước trường chiều rộng bằng ký tự bằng 0 (

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
23) cho phép nhận biết dấu hiệu không có dấu hiệu cho các loại số. Điều này tương đương với ký tự điền của
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
23 với loại căn chỉnh là
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
00.

Đã thay đổi trong phiên bản 3.10: Trước trường chiều rộng bằng

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
23 không còn ảnh hưởng đến căn chỉnh mặc định cho các chuỗi.

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
27 và
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
28, hoặc trước và sau điểm thập phân cho các loại trình bày
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
11 hoặc
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
12. Đối với các loại trình bày chuỗi, trường chỉ ra 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 cho các loại 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.

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ì chiều rộng trường sẽ được xác định bởi nội dung.

Nghĩa

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
18

Khi không có sự liên kết rõ ràng được đưa ra, trước trường chiều rộng bằng ký tự bằng 0 (

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
23) cho phép nhận biết dấu hiệu không có dấu hiệu cho các loại số. Điều này tương đương với ký tự điền của
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
23 với loại căn chỉnh là
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
00.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
34

Đã thay đổi trong phiên bản 3.10: Trước trường chiều rộng bằng

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
23 không còn ảnh hưởng đến căn chỉnh mặc định cho các chuỗi.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
17

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
27 và
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
28, hoặc trước và sau điểm thập phân cho các loại trình bày
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
11 hoặc
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
12. Đối với các loại trình bày chuỗi, trường chỉ ra 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 cho các loại trình bày số nguyên.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
19

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
20

Các loại trình bày chuỗi có sẵn là:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
21

Định dạng hex. Đầu ra số lượng trong cơ sở 16, sử dụng các chữ cái trong trường hợp trên cho các chữ số trên 9. Trong trường hợp

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
06 được chỉ định, tiền tố
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
09 cũng sẽ được gắn trên
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
10.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
14

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
17, 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ư

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
17.

Ngoài các loại trình bày trên, các số nguyên có thể được định dạng với các loại trình bày điểm nổi được liệt kê dưới đây (ngoại trừ

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
14 và
from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
0). Khi làm như vậy,
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
47 được sử dụng để chuyển đổi số nguyên thành số điểm nổi trước khi định dạng.

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
48 và
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
49 là:

Loại hình

Nghĩa

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
50

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
51, các định dạng số trong ký hiệu khoa học với chữ cái ‘E, tách hệ số với số mũ. Hệ số có một chữ số trước và
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
51 chữ số sau điểm thập phân, với tổng số các chữ số quan trọng
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
53. Không có độ chính xác, sử dụng độ chính xác của
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
54 chữ số sau điểm thập phân cho
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
48 và hiển thị tất cả các chữ số hệ số cho
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
49. Nếu không có chữ số nào tuân theo điểm thập phân, điểm thập phân cũng được xóa trừ khi tùy chọn
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
57 được sử dụng.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
58

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
50 ngoại trừ nó sử dụng một trường hợp trên ‘E, làm ký tự phân tách.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
27

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
51, định dạng số là số thập phân với chính xác
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
51 chữ số theo điểm thập phân. Không có độ chính xác nào, sử dụng độ chính xác là
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
54 chữ số sau điểm thập phân cho
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
48 và sử dụng độ chính xác đủ lớn để hiển thị tất cả các chữ số hệ số cho
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
49. Nếu không có chữ số nào tuân theo điểm thập phân, điểm thập phân cũng được xóa trừ khi tùy chọn
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
57 được sử dụng.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
28

Ký hiệu điểm cố định. Giống như

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
27, nhưng chuyển đổi
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
69 thành
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
70 và
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
71 thành
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
72.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
11

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
74, điều này làm tròn con số đến
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
51 Các chữ số quan trọng và sau đó định dạng kết quả ở định dạng điểm cố định hoặc trong ký hiệu khoa học, tùy thuộc vào độ lớn của nó. Độ chính xác của
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
76 được coi là tương đương với độ chính xác của
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
77.

Các quy tắc chính xác như sau: Giả sử kết quả được định dạng với loại trình bày

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
50 và độ chính xác
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
79 sẽ có số mũ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
80. Sau đó, nếu
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
81, trong đó
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
82 là -4 cho phao và -6 cho
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
83, số được định dạng với loại trình bày
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
27 và chính xác
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
85. Mặt khác, số được định dạng với loại trình bày
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
50 và độ chính xác
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
79. Trong cả hai trường hợp, các số không có dấu vết không đáng kể được loại bỏ khỏi ý nghĩa và điểm thập phân cũng được loại bỏ nếu không có chữ số nào còn lại theo nó, trừ khi tùy chọn ____106 được sử dụng.

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
54 chữ số quan trọng cho
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
48. Đối với
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
49, hệ số của kết quả được hình thành từ các chữ số hệ số của giá trị; Ký hiệu khoa học được sử dụng cho các giá trị nhỏ hơn
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
92 về giá trị và giá trị tuyệt đối trong đó giá trị vị trí của chữ số ít có ý nghĩa nhất lớn hơn 1 và ký hiệu điểm cố định được sử dụng khác.

Vô cực tích cực và tiêu cực, số 0 dương và âm, và NAN, được định dạng là

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
71,
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
94,
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
76,
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
96 và
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
69, bất kể độ chính xác.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
12

Định dạng chung. Giống như

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
11 ngoại trừ chuyển sang
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
58 nếu số quá lớn. Các đại diện của Infinity và Nan cũng được sử dụng.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
14

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
11, 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.

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
03

Tỷ lệ phần trăm. Nhân số lượng với 100 và hiển thị ở định dạng cố định (

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
27), theo sau là dấu phần trăm.

Không có

Giống như

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
17.

Ngoài các loại trình bày trên, các số nguyên có thể được định dạng với các loại trình bày điểm nổi được liệt kê dưới đây (ngoại trừ

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
14 và
from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
0). Khi làm như vậy,
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
47 được sử dụng để chuyển đổi số nguyên thành số điểm nổi trước khi định dạng.

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
48 và
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
49 là:

Loại hình

Phần này chứa các ví dụ về cú pháp

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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
6 và so sánh với định dạng ____ ____ 213 cũ.

Trong hầu hết các trường hợp, cú pháp tương tự như định dạng ____ 213 cũ, với việc bổ sung

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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
9 và với
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
16 được sử dụng thay vì
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
13. Ví dụ,
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
18 có thể được dịch thành
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
19.

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 các đối số theo vị trí:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
0

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
1

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
2

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
3

Thay thế

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
20 và
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
21:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
4

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
5

Thay thế

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
22,
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
23 và
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
24 và chỉ định một dấu hiệu:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
6

Thay thế

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
25 và
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
26 và chuyển đổi giá trị thành các cơ sở khác nhau:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
7

Sử dụng dấu phẩy làm dấu phân cách hàng ngàn:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
8

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~
9

Sử dụng định dạng cụ thể loại:

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
0

Đối số làm tổ và các ví dụ phức tạp hơn:

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
1

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. Một trường hợp sử dụng chính cho chuỗi mẫu là để quốc tế hóa (I18N) vì trong bối 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 cơ sở định dạng chuỗi tích hợp khác trong Python . Như một ví dụ về thư viện được xây dựng trên chuỗi mẫu cho i18n, hãy xem gói flufl.i18n.PEP 292. A primary use case for template strings is for internationalization (i18n) since in that context, the simpler syntax and functionality makes it easier to translate than other built-in string formatting facilities in Python. As an example of a library built on template strings for i18n, see the flufl.i18n package.

Chuỗi mẫu hỗ trợ thay thế dựa trên 227, sử dụng các quy tắc sau:

  • s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    28 là một lối thoát; Nó được thay thế bằng một
    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    27.

  • s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    30 Đặt tên cho một trình giữ chỗ thay thế phù hợp với khóa ánh xạ của
    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    31. Theo mặc định,
    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    31 bị giới hạn trong bất kỳ chuỗi chữ và số khác không nhạy cảm với trường hợp (bao gồm cả dấu gạch dưới) bắt đầu bằng chữ dấu gạch dưới hoặc ASCII. Nhân vật không nhận dạng đầu tiên sau khi ký tự
    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    27 chấm dứt đặc điểm kỹ thuật giữ chỗ này.

  • s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    34 tương đương với
    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    30. Nó được yêu cầu khi các ký tự định danh hợp lệ tuân 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ư
    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    36.

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

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
27 trong chuỗi sẽ dẫn đến một
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
38 được nâng lên.

Mô -đun

Welcome to JournalDev
Welcome to JournalDev
1 cung cấp một lớp
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
40 thực hiện các quy tắc này. Các phương pháp của
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
40 là:

classString.template (mẫu) ¶ string.Template(template)

Trình xây dựng lấy một đối số duy nhất là chuỗi mẫu.

thay thế (ánh xạ = {}, /, ** kwds) ¶(mapping={}, /, **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 với các khóa phù hợp với trình 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à người giữ chỗ. Khi cả bản đồ và KWD được đưa ra và có những bản sao, các giữ chỗ từ KWD được ưu tiên.

an toàn_subst acad (ánh xạ = {}, /, ** kwds) ¶(mapping={}, /, **kwds)

Giống như

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
42, ngoại trừ nếu người giữ chỗ bị thiếu từ ánh xạ và KWD, thay vì tăng ngoại lệ
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      ::=   +
conversion        ::=  "r" | "s" | "a"
format_spec       ::=  
0, trình giữ chỗ ban đầu sẽ xuất hiện trong chuỗi kết quả nguyên vẹn. Ngoài ra, không giống như với
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
42, bất kỳ sự xuất hiện nào khác của
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
27 sẽ chỉ đơn giản là trả lại
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
27 thay vì tăng
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
38.

Mặc dù các trường hợp ngoại lệ khác vẫn có thể xảy ra, phương pháp 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 thay vì tăng ngoại lệ. Theo một nghĩa khác,

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
48 có thể là bất cứ điều gì khác ngoài an toàn, vì nó sẽ âm thầm bỏ qua các mẫu có hình dạng có chứa các phân định lơ lửng, niềng răng chưa từng có hoặc các trình giữ chỗ không phải là định danh python hợp lệ.

is_valid () ¶()

Trả về sai nếu mẫu có trình giữ chỗ không hợp lệ sẽ khiến

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
42 tăng
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
38.

Mới trong phiên bản 3.11.

get_identifiers () ¶()

Trả về một danh sách các định danh hợp lệ trong mẫu, theo thứ tự chúng xuất hiện lần đầu tiên, bỏ qua bất kỳ định danh không hợp lệ nào.

Mới trong phiên bản 3.11.

get_identifiers () ¶

Trả về một danh sách các định danh hợp lệ trong mẫu, theo thứ tự chúng xuất hiện lần đầu tiên, bỏ qua bất kỳ định danh không hợp lệ nào.

Các phiên bản

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
40 cũng cung cấp một thuộc tính dữ liệu công khai:

mẫu¶

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
2

Đây là đối tượng được truyền đến đối số mẫu của Constructor. 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ột mẫu:

  • IDPOTYN-Đây là biểu thức chính quy mô tả mẫu cho người giữ chỗ không thuận tay. Giá trị mặc định là biểu thức thông thường

    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    55. Nếu điều này được đưa ra và BraceIdPotype là
    from string import Template
    
    t = Template('$name is the $title of $company')
    s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
    print(s)
    
    0, mô hình này cũng sẽ áp dụng cho các trình giữ chỗ giằng.

    Ghi chú

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

    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    57, mẫu
    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    58 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ờ
    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    59 địa phương ở đây.

    Đã thay đổi trong phiên bản 3.7: BraceIdPattern 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 niềng răng.braceidpattern can be used to define separate patterns used inside and outside the braces.

  • BraceIdPotype - Điều này giống như idpattern nhưng mô tả mô hình cho các trình giữ chỗ giằng. Mặc định là

    from string import Template
    
    t = Template('$name is the $title of $company')
    s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
    print(s)
    
    0 có nghĩa là rơi trở lại idpattern (nghĩa là cùng một mẫu được sử dụng cả niềng răng bên trong và bên ngoài). Nếu được đưa ra, điều này cho phép bạn xác định các mẫu khác nhau cho các chỗ giữ chỗ giằng và không thay đổi.

    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 biết các thay thế. Giá trị mặc định là

    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    57. Lưu ý rằng
    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    62 sẽ luôn được thêm vào các lá cờ, vì vậy các idpattern tùy chỉnh phải tuân theo các quy ước cho các biểu thức chính quy verbose.

    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 bắt giữ 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 khỏi - Nhóm này phù hợp với chuỗi thoát, ví dụ:

    s = '  Welcome TO  \n\n JournalDev '
    print(string.capwords(s))
    
    28, trong mẫu mặc định.

  • Được đặt tên - Nhóm này phù hợp với tên giữ chỗ không có mặt; Nó không nên bao gồm các dấu phân cách trong nhóm chụp.

  • BRACED - Nhóm này phù hợp với tên giữ chỗ kín nẹp; Nó không nên bao gồm các dấu phân cách hoặc niềng răng trong nhóm bắt giữ.

  • Không hợp lệ - Nhóm này phù hợp với bất kỳ mẫ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

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
38 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 phù hợp.

Chức năng của người trợ giúp

String.capwords (s, sep = none) ¶capwords(s, sep=None)

Chia đối số thành các từ bằng cách sử dụng

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
65, viết hoa mỗi từ bằng cách sử dụng
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
66 và tham gia các từ được viết hoa bằng cách sử dụng
s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))
67. Nếu đối số thứ hai tùy chọn SEP không có hoặc
from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
0, thì các ký tự khoảng trắng sẽ được thay thế bằng một không gian duy nhất và khoảng trắng dẫn đầu và dấu vết được loại bỏ, nếu không, SEP được sử dụng để chia và tham gia các từ.

Tôi có cần nhập chuỗi trong Python không?

Đó là một mô-đun tích hợp và chúng tôi phải nhập nó trước khi sử dụng bất kỳ hằng số và lớp nào của nó.we have to import it before using any of its constants and classes.

Làm thế nào để bạn thêm chuỗi trong Python?

Python Thêm chuỗi với toán tử + cách dễ nhất để nối các chuỗi là sử dụng toán tử + hoặc + =.Toán tử + được sử dụng cả để thêm số và chuỗi;Trong lập trình, chúng tôi nói rằng toán tử bị quá tải.Hai chuỗi được thêm vào bằng toán tử +.use the + or the += operator. The + operator is used both for adding numbers and strings; in programming we say that the operator is overloaded. Two strings are added using the + operator.

Làm cách nào để nhập vào Python?

Bạn cần sử dụng từ khóa nhập cùng với tên mô -đun mong muốn.Khi thông dịch viên bắt gặp một câu lệnh nhập, nó sẽ nhập mô -đun vào chương trình hiện tại của bạn.Bạn có thể sử dụng các hàm bên trong một mô -đun bằng cách sử dụng toán tử DOT (.) Cùng với tên mô -đun.use the import keyword along with the desired module name. When interpreter comes across an import statement, it imports the module to your current program. You can use the functions inside a module by using a dot(.) operator along with the module name.

Có thư viện chuỗi trong Python không?

Mô-đun chuỗi chứa một số hàm để xử lý chuỗi Python tiêu chuẩn, như được hiển thị trong ví dụ 1-51.Trong Python 1.5. contains a number of functions to process standard Python strings, as shown in Example 1-51. In Python 1.5.