Hướng dẫn python pad left - miếng lót trăn còn lại

Tôi đã tự hỏi nếu có một cách trong Python> 3.6, sử dụng các chuỗi F, để đạt được những điều sau: Tôi có một số

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
6 mà tôi muốn in là
>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
7 nhưng đồng thời tôi muốn có nó trung tâm hợp lý ví dụ. Sử dụng chuỗi F
>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
8. Có cách nào để đạt được điều đó trong một lệnh duy nhất, ví dụ:
>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
9 hoặc một cái gì đó tương tự?

Nội phân chính

  • Chuỗi của trường cũ ở trường học ở Python
  • Tùy chọn số 1: %-Formatting
  • Tùy chọn #2: str.format ()
  • F-Strings: Một cách mới và được cải tiến để định dạng chuỗi trong Python
  • Cú pháp đơn giản
  • Biểu thức tùy ý
  • Multiline F-String
  • Python F-Strings: Các chi tiết phiền phức
  • Dấu ngoặc kép
  • Từ điển
  • Dấu gạch chéo ngược
  • Đi ra và định dạng!
  • Đọc thêm

Cảm ơn bạn trước!

hỏi ngày 28 tháng 6 lúc 18:55Jun 28 at 18:55

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

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
0 trong chuỗi F:

num = 2451545.00000
print(repr(f"{num:^20.5f}")) # '   2451545.00000    '

Bạn có thể đọc tài liệu để biết thông tin liên quan.

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
0 được liệt kê là tùy chọn "Align".

Đã trả lời ngày 28 tháng 6 lúc 19:02Jun 28 at 19:02

j1-leej1-leej1-lee

12.7k3 Huy hiệu vàng12 Huy hiệu bạc24 Huy hiệu đồng3 gold badges12 silver badges24 bronze badges

0

Tôi nghĩ những gì bạn sẽ làm có thể được viết như sau:

my_string = "{0:^20.5f}".format(2451545.00000000)
print(my_string)

Hy vọng nó giúp.

Đã trả lời ngày 28 tháng 6 lúc 19:03Jun 28 at 19:03

Hướng dẫn python pad left - miếng lót trăn còn lại

0

Kể từ Python 3.6, dây F là một cách mới tuyệt vời để định dạng chuỗi. Họ không chỉ dễ đọc hơn, súc tích hơn và ít bị lỗi hơn so với các cách định dạng khác, mà chúng còn nhanh hơn!

Đến cuối bài viết này, bạn sẽ tìm hiểu cách thức và lý do bắt đầu sử dụng F-Strings ngay hôm nay.

Nhưng trước tiên, ở đây, cuộc sống như thế nào trước F-String, trở lại khi bạn phải đi bộ đến trường lên dốc cả hai cách trong tuyết.

Chuỗi của trường cũ ở trường học ở Python

Trước Python 3.6, bạn đã có hai cách chính để nhúng các biểu thức python bên trong các chuỗi chữ để định dạng: %-formatting và

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
2. Bạn có thể xem cách sử dụng chúng và những hạn chế của chúng là gì.

Tùy chọn số 1: %-Formatting

Tùy chọn #2: str.format ()

F-Strings: Một cách mới và được cải tiến để định dạng chuỗi trong Python

Cú pháp đơn giản

Biểu thức tùy ý

Multiline F-String

Python F-Strings: Các chi tiết phiền phức

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'

Dấu ngoặc kép

Python F-Strings: Các chi tiết phiền phức

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'

Dấu ngoặc kép

Từ điển

Python F-Strings: Các chi tiết phiền phức

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'

Dấu ngoặc kép

Tùy chọn #2: str.format ()

Từ điển

Dấu gạch chéo ngược

Đi ra và định dạng!

Đọc thêm

Python F-Strings: Các chi tiết phiền phức

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'

Dấu ngoặc kép

Python F-Strings: Các chi tiết phiền phức

>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'

Dấu ngoặc kép

Python F-Strings: Các chi tiết phiền phức

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'

Dấu ngoặc kép

Python F-Strings: Các chi tiết phiền phức

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(**person)
'Hello, Eric. You are 74.'

Dấu ngoặc kép

Từ điển

Dấu gạch chéo ngược

Python F-Strings: Các chi tiết phiền phức

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> print(("Hello, {first_name} {last_name}. You are {age}. " + 
>>>        "You are a {profession}. You were a member of {affiliation}.") \
>>>        .format(first_name=first_name, last_name=last_name, age=age, \
>>>                profession=profession, affiliation=affiliation))
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'

Dấu ngoặc kép

F-Strings: Một cách mới và được cải tiến để định dạng chuỗi trong Python

Tin tốt là F-Strings ở đây để cứu ngày. Họ cắt lát! Họ xúc xắc! Họ làm khoai tây chiên Julienne! Được rồi, họ không làm những điều đó, nhưng họ làm cho định dạng dễ dàng hơn. Họ tham gia bữa tiệc trong Python 3.6. Bạn có thể đọc tất cả về nó trong PEP 498, được viết bởi Eric V. Smith vào tháng 8 năm 2015.

Còn được gọi là các chuỗi chữ được định dạng trên mạng, các chuỗi F F là các chữ cái có chữ

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
4 ở đầu và niềng răng xoăn chứa các biểu thức sẽ được thay thế bằng các giá trị của chúng. Các biểu thức được đánh giá trong thời gian chạy và sau đó được định dạng bằng giao thức
>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
5. Như mọi khi, các tài liệu Python là bạn của bạn khi bạn muốn tìm hiểu thêm.

Dưới đây là một số cách mà F-String có thể làm cho cuộc sống của bạn dễ dàng hơn.

Cú pháp đơn giản

Cú pháp tương tự như cái bạn đã sử dụng với

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
2 nhưng ít dài dòng hơn. Nhìn vào cách dễ đọc này:

>>>

my_string = "{0:^20.5f}".format(2451545.00000000)
print(my_string)
0

Nó cũng sẽ có hiệu lực khi sử dụng một chữ cái viết hoa

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
7:

>>>

my_string = "{0:^20.5f}".format(2451545.00000000)
print(my_string)
1

Nó cũng sẽ có hiệu lực khi sử dụng một chữ cái viết hoa

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
7:

Bạn có yêu F-String chưa? Tôi hy vọng rằng, vào cuối bài viết này, bạn sẽ trả lời >>> "Hello, {}. You are {}.".format(name, age) 'Hello, Eric. You are 74.' 8.

Biểu thức tùy ý

Bởi vì các chuỗi F được đánh giá trong thời gian chạy, bạn có thể đặt bất kỳ và tất cả các biểu thức python hợp lệ trong chúng. Điều này cho phép bạn làm một số điều tiện lợi.

Bạn có thể làm một cái gì đó khá đơn giản, như thế này:

>>>

my_string = "{0:^20.5f}".format(2451545.00000000)
print(my_string)
2

Nó cũng sẽ có hiệu lực khi sử dụng một chữ cái viết hoa

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
7:

>>>

my_string = "{0:^20.5f}".format(2451545.00000000)
print(my_string)
3

Nó cũng sẽ có hiệu lực khi sử dụng một chữ cái viết hoa

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
7:

my_string = "{0:^20.5f}".format(2451545.00000000)
print(my_string)
4

Bạn có yêu F-String chưa? Tôi hy vọng rằng, vào cuối bài viết này, bạn sẽ trả lời

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
8.

>>>

my_string = "{0:^20.5f}".format(2451545.00000000)
print(my_string)
5

Nó cũng sẽ có hiệu lực khi sử dụng một chữ cái viết hoa

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
7:

Bạn có yêu F-String chưa? Tôi hy vọng rằng, vào cuối bài viết này, bạn sẽ trả lời

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
8.

Biểu thức tùy ý

>>>

my_string = "{0:^20.5f}".format(2451545.00000000)
print(my_string)
6

Nó cũng sẽ có hiệu lực khi sử dụng một chữ cái viết hoa

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
7:

Bạn có yêu F-String chưa? Tôi hy vọng rằng, vào cuối bài viết này, bạn sẽ trả lời >>> "Hello, {}. You are {}.".format(name, age) 'Hello, Eric. You are 74.' 8.

Biểu thức tùy ý

>>>

my_string = "{0:^20.5f}".format(2451545.00000000)
print(my_string)
7

Nó cũng sẽ có hiệu lực khi sử dụng một chữ cái viết hoa

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
7:

>>>

my_string = "{0:^20.5f}".format(2451545.00000000)
print(my_string)
8

Nó cũng sẽ có hiệu lực khi sử dụng một chữ cái viết hoa

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
7:

Bạn có yêu F-String chưa? Tôi hy vọng rằng, vào cuối bài viết này, bạn sẽ trả lời

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
8.

>>>

my_string = "{0:^20.5f}".format(2451545.00000000)
print(my_string)
9

Nó cũng sẽ có hiệu lực khi sử dụng một chữ cái viết hoa

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
7:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
0

Nó cũng sẽ có hiệu lực khi sử dụng một chữ cái viết hoa

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
7:

Bạn có yêu F-String chưa? Tôi hy vọng rằng, vào cuối bài viết này, bạn sẽ trả lời >>> "Hello, {}. You are {}.".format(name, age) 'Hello, Eric. You are 74.' 8.

Biểu thức tùy ý

Bởi vì các chuỗi F được đánh giá trong thời gian chạy, bạn có thể đặt bất kỳ và tất cả các biểu thức python hợp lệ trong chúng. Điều này cho phép bạn làm một số điều tiện lợi.

Bạn có thể làm một cái gì đó khá đơn giản, như thế này:

Nhưng bạn cũng có thể gọi các chức năng. Đây là một ví dụ:

Bạn cũng có tùy chọn gọi trực tiếp một phương thức:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
1

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
2

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
3

Nó cũng sẽ có hiệu lực khi sử dụng một chữ cái viết hoa

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
7:

Bạn có yêu F-String chưa? Tôi hy vọng rằng, vào cuối bài viết này, bạn sẽ trả lời

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
8.

Biểu thức tùy ý

Bởi vì các chuỗi F được đánh giá trong thời gian chạy, bạn có thể đặt bất kỳ và tất cả các biểu thức python hợp lệ trong chúng. Điều này cho phép bạn làm một số điều tiện lợi.

Bạn có thể làm một cái gì đó khá đơn giản, như thế này:

Nhưng bạn cũng có thể gọi các chức năng. Đây là một ví dụ:

Mã này sẽ hoạt động:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
4

Mã này cũng sẽ hoạt động:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
5

Mã này cũng sẽ hoạt động:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
6

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
7

Mã này cũng sẽ hoạt động:

>>>

Mã này cũng sẽ hoạt động:

Bạn cũng có thể sử dụng Triple Trích dẫn:

Nếu bạn thấy bạn cần sử dụng cùng một loại dấu ngoặc kép ở cả bên trong và bên ngoài chuỗi, thì bạn có thể thoát với

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
4:

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
8

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
9

Từ điển

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
0

Nói về dấu ngoặc kép, coi chừng khi bạn đang làm việc với từ điển. Nếu bạn định sử dụng các dấu ngoặc kép cho các khóa của từ điển, thì hãy nhớ đảm bảo rằng bạn sử dụng dấu ngoặc kép cho các chuỗi F có chứa các phím.

Điều này sẽ hoạt động:

Nhưng đây sẽ là một mớ hỗn độn nóng với lỗi cú pháp:

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
1

Nếu bạn sử dụng cùng một loại dấu ngoặc kép xung quanh các khóa từ điển như bạn làm ở bên ngoài chuỗi F, thì dấu ngoặc kép ở đầu khóa từ điển đầu tiên sẽ được hiểu là kết thúc của chuỗi.

>>>

Niềng răng

Để làm cho nẹp xuất hiện trong chuỗi của bạn, bạn phải sử dụng niềng răng đôi:

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
3

Lưu ý rằng sử dụng niềng răng ba sẽ dẫn đến việc chỉ có niềng răng đơn trong chuỗi của bạn:

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
2

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
4

Tuy nhiên, bạn có thể nhận được nhiều niềng răng hơn để hiển thị nếu bạn sử dụng nhiều hơn ba niềng răng:

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
5

Dấu gạch chéo ngược

Như bạn đã thấy trước đó, bạn có thể sử dụng dấu gạch chéo ngược trong phần chuỗi của chuỗi F. Tuy nhiên, bạn có thể sử dụng các dấu gạch chéo ngược để thoát khỏi phần biểu thức của chuỗi F:

Bạn có thể làm việc xung quanh điều này bằng cách đánh giá biểu thức trước và sử dụng kết quả trong chuỗi F:

Đi ra và định dạng!

Bạn vẫn có thể sử dụng các cách định dạng các chuỗi định dạng cũ hơn, nhưng với các chuỗi F, giờ đây bạn có một cách ngắn gọn, dễ đọc hơn và thuận tiện hơn, vừa nhanh hơn và ít bị lỗi hơn. Đơn giản hóa cuộc sống của bạn bằng cách sử dụng F-Strings là một lý do tuyệt vời để bắt đầu sử dụng Python 3.6 nếu bạn đã thực hiện chuyển đổi. (Nếu bạn vẫn đang sử dụng Python 2, đừng quên rằng năm 2020 sẽ sớm ở đây!)

Theo Zen of Python, khi bạn cần quyết định cách làm một cái gì đó, thì ở đây, ở đây sẽ là một cách và tốt nhất là chỉ có một cách để làm điều đó. Mặc dù các chuỗi F không phải là cách duy nhất có thể để bạn định dạng chuỗi, nhưng chúng ở một vị trí tuyệt vời để trở thành một cách rõ ràng để hoàn thành công việc.

  • Đọc thêm
  • Nếu bạn muốn đọc một cuộc thảo luận mở rộng về nội suy chuỗi, hãy xem PEP 502. Ngoài ra, bản nháp PEP 536 có thêm một số suy nghĩ về tương lai của F-String.

Để có thêm niềm vui với chuỗi, hãy xem các bài viết sau: