Đôi khi có những phần của văn bản mà bạn không kiểm soát được, có thể chúng đến từ cơ sở dữ liệu hoặc đầu vào của người dùng?
Để kiểm soát các giá trị như vậy, hãy thêm phần giữ chỗ [dấu ngoặc nhọn
str.format[*args, **kwargs]4] trong văn bản và chạy các giá trị thông qua phương thức
str.format[*args, **kwargs]5
Thí dụ
Thêm trình giữ chỗ nơi bạn muốn hiển thị giá
price = 49
txt = "Giá là {} đô la"
print[txt. định dạng[giá]]
Bạn có thể thêm các tham số bên trong dấu ngoặc nhọn để chỉ định cách chuyển đổi giá trị
Thí dụ
Định dạng giá sẽ được hiển thị dưới dạng số có hai chữ số thập phân
txt = "Giá là {. 2f} đô la"
Tự mình thử »Kiểm tra tất cả các loại định dạng trong String format[] Tham khảo của chúng tôi
Nhiều giá trị
Nếu bạn muốn sử dụng nhiều giá trị hơn, chỉ cần thêm nhiều giá trị hơn vào phương thức format[]
in [txt. định dạng [giá, số mặt hàng, số lượng]]
Và thêm nhiều trình giữ chỗ hơn
Thí dụ
số lượng = 3
itemno = 567
price = 49
myorder = "Tôi muốn {} miếng . 2f} đô la. "
print[myorder. định dạng [số lượng, mã hàng, giá]]
Số chỉ mục
Bạn có thể sử dụng các số chỉ mục [một số bên trong dấu ngoặc nhọn
str.format[*args, **kwargs]6] để đảm bảo các giá trị được đặt vào đúng chỗ dành sẵn
Thí dụ
số lượng = 3
itemno = 567
price = 49
myorder = "Tôi muốn {0} cái . 2f} đô la. "
print[myorder. định dạng [số lượng, mã hàng, giá]]
Ngoài ra, nếu bạn muốn tham chiếu đến cùng một giá trị nhiều lần, hãy sử dụng số chỉ mục
Thí dụ
age = 36
name = "John"
txt = "Tên anh ấy là {1}. {1} là {0} tuổi. "
in[txt. định dạng [tuổi, tên]]
Chỉ mục được đặt tên
Bạn cũng có thể sử dụng các chỉ mục được đặt tên bằng cách nhập tên bên trong dấu ngoặc nhọn
str.format[*args, **kwargs]7, nhưng sau đó bạn phải sử dụng tên khi chuyển các giá trị tham số
str.format[*args, **kwargs]8
Một 'r' trước một chuỗi yêu cầu trình thông dịch Python coi các dấu gạch chéo ngược là một ký tự chữ [thô]. Thông thường, Python sử dụng dấu gạch chéo ngược làm ký tự thoát. Đặt trước định nghĩa chuỗi bằng 'r' là một cách hữu ích để xác định chuỗi mà bạn cần dấu gạch chéo ngược là dấu gạch chéo ngược thực tế và không phải là một phần của mã thoát có nghĩa là một thứ khác trong chuỗi
ví dụ
1. Trong ví dụ này, Python sẽ diễn giải mỗi '\t' được tìm thấy trong chuỗi này dưới dạng một tab. Nghĩa là, dấu gạch chéo ngược+t được hiểu là một chuỗi thoát với mục đích đặc biệt
>>> 'path\to\the\thing' 'path\to\the\thing' >>> print['path\to\the\thing'] path o he hing >>>
2. Bằng cách thêm r ở đầu, Python sẽ biết rằng các dấu gạch chéo ngược sẽ được hiểu là các ký tự chữ chứ không phải các chuỗi thoát. Thật thú vị, hãy lưu ý cách Python biểu thị dấu gạch chéo ngược theo nghĩa đen–như một chuỗi thoát của dấu gạch chéo ngược + dấu gạch chéo ngược
>>> r'path\to\the\thing' 'path\\to\\the\\thing' >>> print[r'path\to\the\thing'] path\to\the\thing >>>
3. Điều này có nghĩa là một cách khác để xử lý vấn đề dấu gạch chéo ngược theo nghĩa đen là sử dụng dấu gạch chéo ngược + dấu gạch chéo ngược trong định nghĩa chuỗi của bạn. Tuy nhiên, đối với tôi, đây giống như một cách phức tạp hơn để xác định chuỗi khi so sánh với việc sử dụng 'r'. Tôi nghĩ rằng việc sử dụng 'r' làm cho mã dễ đọc hơn
Phương thức format[] được sử dụng để thực hiện thao tác định dạng chuỗi. Chuỗi mà phương thức này được gọi có thể chứa văn bản bằng chữ hoặc các trường thay thế được phân tách bằng dấu ngoặc nhọn {}. Mỗi trường thay thế chứa chỉ mục số của đối số vị trí hoặc tên của đối số từ khóa
cú pháp
str.format[*args, **kwargs]
Trả về một bản sao của chuỗi trong đó mỗi trường thay thế được thay thế bằng giá trị chuỗi của đối số tương ứng
nội dung
- Định dạng cơ bản
- chuyển đổi giá trị
- Đệm và căn chỉnh chuỗi
- Cắt chuỗi dài
- Kết hợp cắt ngắn và đệm
- Số
- Số đệm
- Số đã ký
- Trình giữ chỗ được đặt tên
- Ngày giờ
Định dạng cơ bản
Ví dụ 1
>>> '{} {}'.format['Python', 'Format']
'Python Format'
>>>
>>> '{} {}'.format[10, 30]
'10 30'
>>>
Câu lệnh sau đây cho phép sắp xếp lại thứ tự hiển thị mà không thay đổi các đối số
Ví dụ-2
>>> '{1} {0}'.format['Python', 'Format']
'Format Python'
>>>
chuyển đổi giá trị
Trình định dạng đơn giản kiểu mới theo mặc định gọi phương thức __format__[] của một đối tượng để biểu diễn nó. Nếu bạn chỉ muốn hiển thị đầu ra của str[. ] hoặc đại diện [. ] bạn có thể dùng. s hoặc. cờ chuyển đổi r
Trong %-style, bạn thường sử dụng %s để biểu diễn chuỗi nhưng có %r cho repr[. ] chuyển đổi
Thành lập
class Data[object]: def __str__[self]: return 'str' def __repr__[self]: return 'repr'
Ví dụ 1
class Data[object]:
def __str__[self]:
return 'str'
def __repr__[self]:
return 'repr'
x='{0!s} {0!r}'.format[Data[]]
print [x]
đầu ra
________số 8Trong Python 3 tồn tại một cờ chuyển đổi bổ sung sử dụng đầu ra của repr[. ] nhưng sử dụng ascii[. ] thay vì
Ví dụ-2
class Data[object]:
def __repr__[self]:
return 'räpr'
x='{0!r} {0!a}'.format[Data[]]
print[x]
đầu ra
>>> r'path\to\the\thing' 'path\\to\\the\\thing' >>> print[r'path\to\the\thing'] path\to\the\thing >>>0
Đệm và căn chỉnh chuỗi
Một giá trị có thể được đệm theo một độ dài cụ thể. Xem các ví dụ sau trong đó giá trị '15' được mã hóa như một phần của chuỗi định dạng
Ghi chú. Ký tự đệm có thể là khoảng trắng hoặc một ký tự được chỉ định
Thí dụ
Sắp xếp đúng
>>> r'path\to\the\thing' 'path\\to\\the\\thing' >>> print[r'path\to\the\thing'] path\to\the\thing >>>1
Căn trái
>>> '{} {}'.format['Python', 'Format']
'Python Format'
>>>
0Bằng lập luận
Trong ví dụ trước, giá trị '15' được mã hóa như một phần của chuỗi định dạng. Cũng có thể cung cấp các giá trị như một đối số
Thí dụ
>>> '{} {}'.format['Python', 'Format']
'Python Format'
>>>
1Trong ví dụ sau, chúng tôi đã sử dụng '*' làm ký tự đệm
Thí dụ
>>> '{} {}'.format['Python', 'Format']
'Python Format'
>>>
2Căn giữa
Thí dụ
>>> '{} {}'.format['Python', 'Format']
'Python Format'
>>>
3Cắt chuỗi dài
Trong ví dụ sau, chúng tôi đã cắt bớt mười ký tự từ phía bên trái của một chuỗi đã chỉ định
Thí dụ
>>> '{} {}'.format['Python', 'Format']
'Python Format'
>>>
4Bằng lập luận
Thí dụ
>>> '{} {}'.format['Python', 'Format']
'Python Format'
>>>
5Kết hợp cắt ngắn và đệm
Trong ví dụ sau, chúng tôi đã kết hợp cắt xén và đệm
Thí dụ
>>> '{} {}'.format['Python', 'Format']
'Python Format'
>>>
6Số
số nguyên
>>> '{} {}'.format['Python', 'Format']
'Python Format'
>>>
7phao nổi
>>> '{} {}'.format['Python', 'Format']
'Python Format'
>>>
8Số đệm
Tương tự với chuỗi số
Ví dụ 1
>>> '{} {}'.format['Python', 'Format']
'Python Format'
>>>
9Giá trị đệm đại diện cho độ dài của đầu ra hoàn chỉnh cho dấu phẩy động. Trong ví dụ sau '{. 05. 2f}' sẽ hiển thị số float bằng năm ký tự có hai chữ số sau dấu thập phân
Ví dụ-2
>>> '{} {}'.format[10, 30]
'10 30'
>>>
0Số đã ký
Theo mặc định, chỉ các số âm được thêm tiền tố bằng dấu, nhưng bạn cũng có thể hiển thị các số có tiền tố bằng dấu dương
Ví dụ 1
>>> '{} {}'.format[10, 30]
'10 30'
>>>
1Bạn có thể sử dụng ký tự khoảng trắng để cho biết rằng các số âm [phải có ký hiệu dấu trừ ở đầu] và nên sử dụng khoảng trắng ở đầu cho các số dương