Hướng dẫn f-string not working python - F-string không hoạt động python

Tôi đang nhận được một thông báo lỗi với trình đọc Atom của tôi ở đây, nơi nó gợi ý

my_name= "raushan"
print(f"Let's talk about {my_name}.")
1 đầu tiên đang cung cấp một lỗi:

File "/Users/permanentmajority/Desktop/Coding/learnpythonbook.py", line 75
    print(f"Let's talk about {my_name}.")
                                       ^
SyntaxError: invalid syntax
[Finished in 0.077s]

Code:

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")

Hướng dẫn f-string not working python - F-string không hoạt động python

SMCI

30.6K18 Huy hiệu vàng110 Huy hiệu bạc145 Huy hiệu đồng18 gold badges110 silver badges145 bronze badges18 gold badges110 silver badges145 bronze badges

Khi được hỏi ngày 17 tháng 5 năm 2018 lúc 23:04May 17, 2018 at 23:04May 17, 2018 at 23:04

9

Tôi nghĩ rằng bạn có một phiên bản cũ của Python. Hãy thử nâng cấp lên phiên bản mới nhất của Python. Các chữ F-String đã được thêm vào Python kể từ Python 3.6. Bạn có thể kiểm tra thêm về nó ở đây

Đã trả lời ngày 17 tháng 5 năm 2018 lúc 23:12May 17, 2018 at 23:12May 17, 2018 at 23:12

Đây là một vấn đề phiên bản Python.

Thay vì sử dụng

print(f"Let's talk about {my_name}."

sử dụng

print("Let's talk about {}.".format(my_name))

trong Python2.

Mã của bạn hoạt động trên Python3.7.

Kiểm tra nó ở đây:

my_name= "raushan"
print(f"Let's talk about {my_name}.")

https://repl.it/languages/python3

Gino Mempin

21.1K25 Huy hiệu vàng87 Huy hiệu bạc115 Huy hiệu đồng25 gold badges87 silver badges115 bronze badges25 gold badges87 silver badges115 bronze badges

Đã trả lời ngày 13 tháng 9 năm 2019 lúc 2:48Sep 13, 2019 at 2:48Sep 13, 2019 at 2:48

Thông dịch viên Python gây ra vấn đề sau vì phiên bản Python sai mà bạn gọi khi thực hiện chương trình vì chuỗi F là một phần của Python 3 chứ không phải Python 2. & nbsp; Bạn có thể làm điều này

my_name= "raushan"
print(f"Let's talk about {my_name}.")
2, nó sẽ hoạt động. Để khắc phục sự cố này, hãy thay đổi trình thông dịch Python từ 2 thành 3. & NBSP;

Đã trả lời ngày 17 tháng 4 năm 2020 lúc 3:52Apr 17, 2020 at 3:52Apr 17, 2020 at 3:52

Balaji.J.BBalaji.J.BBalaji.J.BBalaji.J.B

5386 Huy hiệu bạc14 Huy hiệu Đồng6 silver badges14 bronze badges6 silver badges14 bronze badges

Tôi nghĩ rằng điều này là do phiên bản cũ. Tôi đã thử trong phiên bản mới và thực hiện tốt. Và kết quả là như mong đợi.

Đã trả lời ngày 12 tháng 7 năm 2018 lúc 10:44Jul 12, 2018 at 10:44Jul 12, 2018 at 10:44

2

Tôi tin rằng vấn đề bạn đang gặp phải ở đây là do bạn sử dụng Python 2 mà không nhận ra nó. Nếu bạn chưa thiết lập nó trên máy của mình để có Python 3 làm phiên bản mặc định của bạn, bạn nên thực thi Python3 trong thiết bị đầu cuối của bạn thay vì lệnh 'Python' tiêu chuẩn.

Tôi đã có vấn đề này nên hy vọng, câu trả lời này có thể giúp đỡ những người tìm kiếm nó.

Đã trả lời ngày 7 tháng 5 năm 2020 lúc 21:07May 7, 2020 at 21:07May 7, 2020 at 21:07

Tôi nghĩ rằng họ đã gõ

python file.py

Để chạy chương trình trong Mac hoặc Linux chạy trực tiếp phiên bản Python 2 vì OS mặc định chứa phiên bản Python 2, vì vậy chúng tôi cần gõ

python3 file.py

Đó là giải pháp cho vấn đề python2 và python3 lệnh chạy

Đã trả lời ngày 1 tháng 3 lúc 5:51Mar 1 at 5:51Mar 1 at 5:51

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à

my_name= "raushan"
print(f"Let's talk about {my_name}.")
3. 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

Đây là OG của định dạng Python và đã có trong ngôn ngữ kể từ khi bắt đầu. Bạn có thể đọc thêm trong các tài liệu Python. Hãy nhớ rằng %-formatting không được khuyến nghị bởi các tài liệu, trong đó có lưu ý sau:

Các hoạt động định dạng được mô tả ở đây thể hiện một loạt các kỳ quặc dẫn đến một số lỗi phổ biến (chẳng hạn như không hiển thị chính xác các bộ dữ liệu và từ điển).

Sử dụng các chuỗi chữ được định dạng mới hơn hoặc giao diện

my_name= "raushan"
print(f"Let's talk about {my_name}.")
3 giúp tránh các lỗi này. Những lựa chọn thay thế này cũng cung cấp các phương pháp tiếp cận mạnh mẽ, linh hoạt và mở rộng hơn để định dạng văn bản. (Nguồn)

Cách sử dụng %-formatting

Các đối tượng chuỗi có hoạt động tích hợp bằng toán tử

my_name= "raushan"
print(f"Let's talk about {my_name}.")
5 mà bạn có thể sử dụng để định dạng chuỗi. Ở đây, những gì trông giống như trong thực tế:

>>>

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

Để chèn nhiều hơn một biến, bạn phải sử dụng một bộ biến số của các biến đó. Đây là cách bạn sẽ làm điều đó:

>>>

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

Tại sao %-Formatting là tuyệt vời

Các ví dụ mã mà bạn vừa thấy ở trên là đủ có thể đọc được. Tuy nhiên, một khi bạn bắt đầu sử dụng một số tham số và chuỗi dài hơn, mã của bạn sẽ nhanh chóng trở nên dễ đọc hơn nhiều. Mọi thứ đang bắt đầu trông hơi lộn xộn rồ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.'

Thật không may, loại định dạng này không phải là tuyệt vời bởi vì nó là dài dòng và dẫn đến lỗi, như không hiển thị chính xác các bộ dữ liệu hoặc từ điển. May mắn thay, có những ngày tươi sáng phía trước.

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

Cách hoàn thành công việc mới hơn này đã được giới thiệu trong Python 2.6. Bạn có thể kiểm tra hướng dẫn về các kỹ thuật định dạng chuỗi Python mới hơn để biết thêm thông tin.

Cách sử dụng str.format ()

my_name= "raushan"
print(f"Let's talk about {my_name}.")
3 là một cải tiến về %-formatting. Nó sử dụng cú pháp cuộc gọi chức năng bình thường và có thể mở rộng thông qua phương thức
my_name= "raushan"
print(f"Let's talk about {my_name}.")
7 trên đối tượng được chuyển đổi thành một chuỗi.

Với

my_name= "raushan"
print(f"Let's talk about {my_name}.")
3, các trường thay thế được đánh dấu bằng niềng răng xoăn:

>>>

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")
0

Bạn có thể tham chiếu các biến theo bất kỳ thứ tự nào bằng cách tham chiếu chỉ mục của họ:

>>>

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")
1

Nhưng nếu bạn chèn các tên biến, bạn sẽ có thêm perk về việc có thể truyền các đối tượng và sau đó tham chiếu tham chiếu và phương thức ở giữa niềng răng:

>>>

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")
2

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

my_name= "raushan"
print(f"Let's talk about {my_name}.")
9 để thực hiện thủ thuật gọn gàng này với từ điển:

>>>

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")
3

my_name= "raushan"
print(f"Let's talk about {my_name}.")
3 chắc chắn là một bản nâng cấp khi so sánh với %hình thức, nhưng nó không phải là tất cả hoa hồng và ánh nắng mặt trời.

Tại sao str.format () isn tuyệt vời

Mã sử ​​dụng

my_name= "raushan"
print(f"Let's talk about {my_name}.")
3 dễ đọc hơn nhiều so với mã sử dụng %-formatting, nhưng
my_name= "raushan"
print(f"Let's talk about {my_name}.")
3 vẫn có thể khá dài dòng khi bạn xử lý nhiều tham số và chuỗi dài hơn. Hãy xem này:

>>>

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")
4

Nếu bạn có các biến bạn muốn chuyển sang

python file.py
3 trong từ điển, thì bạn có thể giải nén nó bằng
python file.py
4 và tham chiếu các giá trị bằng khóa trong chuỗi, nhưng phải có một cách tốt hơn để làm điều này.

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ữ

python file.py
5 ở đầ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
python file.py
6. 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

my_name= "raushan"
print(f"Let's talk about {my_name}.")
3 nhưng ít dài dòng hơn. Nhìn vào cách dễ đọc này:

>>>

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")
5

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

python file.py
8:

>>>

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")
6

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

python file.py
9.

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ụ:

>>>

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")
7

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

>>>

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")
8

Bạn thậm chí có thể sử dụng các đối tượng được tạo từ các lớp có chuỗi F. Hãy tưởng tượng bạn đã có lớp học sau:

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")
9

Bạn có thể làm điều này:

>>>

print(f"Let's talk about {my_name}."
0

Các phương thức

python3 file.py
0 và
python3 file.py
1 xử lý cách các đối tượng được trình bày dưới dạng chuỗi, do đó, bạn sẽ cần đảm bảo rằng bạn bao gồm ít nhất một trong các phương thức đó trong định nghĩa lớp của bạn. Nếu bạn phải chọn một, hãy đi với
python3 file.py
1 vì nó có thể được sử dụng thay cho
python3 file.py
0.

Chuỗi được trả về bởi

python3 file.py
0 là biểu diễn chuỗi không chính thức của một đối tượng và có thể đọc được. Chuỗi được trả về bởi
python3 file.py
1 là đại diện chính thức và nên không rõ ràng. Gọi
python3 file.py
6 và
python3 file.py
7 tốt hơn là sử dụng trực tiếp
python3 file.py
0 và
python3 file.py
1.

Theo mặc định, các chuỗi F sẽ sử dụng

python3 file.py
0, nhưng bạn có thể đảm bảo rằng họ sử dụng
python3 file.py
1 nếu bạn bao gồm cờ chuyển đổi
>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
2:

>>>

print(f"Let's talk about {my_name}."
1

Nếu bạn muốn đọc một số cuộc trò chuyện dẫn đến các chuỗi F hỗ trợ các biểu thức python đầy đủ, bạn có thể làm như vậy ở đây.

Multiline F-String

Bạn có thể có chuỗi đa dòng:

>>>

print(f"Let's talk about {my_name}."
2

Nhưng hãy nhớ rằng bạn cần đặt một

python file.py
5 trước mỗi dòng của một chuỗi đa dòng. Mã sau đây đã giành được công việc:

>>>

print(f"Let's talk about {my_name}."
3

Nếu bạn không đặt một

python file.py
5 trước mỗi dòng riêng lẻ, thì bạn sẽ có các chuỗi thường xuyên, cũ, trong vườn và không sáng bóng, mới, ưa thích.

Nếu bạn muốn lan truyền các chuỗi trên nhiều dòng, bạn cũng có tùy chọn thoát khỏi sự trở lại với

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

>>>

print(f"Let's talk about {my_name}."
4

Nhưng đây là những gì sẽ xảy ra nếu bạn sử dụng

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

>>>

print(f"Let's talk about {my_name}."
5

Đọc về hướng dẫn thụt vào trong PEP 8.

Tốc độ, vận tốc

python file.py
5 trong F-String cũng có thể đứng cho Fast Fast.

Các chuỗi F nhanh hơn cả %-formatting và

my_name= "raushan"
print(f"Let's talk about {my_name}.")
3. Như bạn đã thấy, các chuỗi F là các biểu thức được đánh giá trong thời gian chạy thay vì các giá trị không đổi. Ở đây, một đoạn trích từ các tài liệu:

Các dây F F cung cấp một cách để nhúng các biểu thức bên trong các chữ viết, sử dụng cú pháp tối thiểu. Cần lưu ý rằng một chuỗi F thực sự là một biểu thức được đánh giá tại thời điểm chạy, không phải là một giá trị không đổi. Trong mã nguồn Python, một chuỗi F là một chuỗi theo nghĩa đen, có tiền tố với

python file.py
5, chứa các biểu thức bên trong niềng răng. Các biểu thức được thay thế bằng các giá trị của chúng. (Nguồn)

Trong thời gian chạy, biểu thức bên trong niềng răng xoăn được đánh giá trong phạm vi riêng của nó và sau đó đặt cùng với phần theo nghĩa đen của chuỗi F. Chuỗi kết quả sau đó được trả về. Đó là tất cả những gì nó cần.

Ở đây, một so sánh tốc độ:

>>>

print(f"Let's talk about {my_name}."
6

>>>

print(f"Let's talk about {my_name}."
7

>>>

print(f"Let's talk about {my_name}."
8

Như bạn có thể thấy, F-String xuất hiện trên đầu.

Tuy nhiên, đó không phải là trường hợp luôn như vậy. Khi chúng được thực hiện lần đầu tiên, họ có một số vấn đề về tốc độ và cần được thực hiện nhanh hơn

my_name= "raushan"
print(f"Let's talk about {my_name}.")
3. Một opcode
>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
1 đặc biệt đã được giới thiệu.

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

Bây giờ bạn đã học được tất cả về lý do tại sao F-String lại tuyệt vời, tôi chắc chắn bạn muốn ra khỏi đó và bắt đầu sử dụng chúng. Dưới đây là một vài chi tiết cần ghi nhớ khi bạn mạo hiểm vào thế giới mới dũng cảm này.

Dấu ngoặc kép

Bạn có thể sử dụng các loại dấu ngoặc kép khác nhau bên trong các biểu thức. Chỉ cần đảm bảo rằng bạn không sử dụng cùng một loại dấu ngoặc kép ở bên ngoài chuỗi F như bạn đang sử dụng trong biểu thức.

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

>>>

print(f"Let's talk about {my_name}."
9

Như bạn có thể thấy, F-String xuất hiện trên đầu.

>>>

print("Let's talk about {}.".format(my_name))
0

Tuy nhiên, đó không phải là trường hợp luôn như vậy. Khi chúng được thực hiện lần đầu tiên, họ có một số vấn đề về tốc độ và cần được thực hiện nhanh hơn

my_name= "raushan"
print(f"Let's talk about {my_name}.")
3. Một opcode
>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
1 đặc biệt đã được giới thiệu.

>>>

print("Let's talk about {}.".format(my_name))
1

>>>

print("Let's talk about {}.".format(my_name))
2

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

>>>

print("Let's talk about {}.".format(my_name))
3

Bây giờ bạn đã học được tất cả về lý do tại sao F-String lại tuyệt vời, tôi chắc chắn bạn muốn ra khỏi đó và bắt đầu sử dụng chúng. Dưới đây là một vài chi tiết cần ghi nhớ khi bạn mạo hiểm vào thế giới mới dũng cảm này.

Dấu ngoặc kép

Bạn có thể sử dụng các loại dấu ngoặc kép khác nhau bên trong các biểu thức. Chỉ cần đảm bảo rằng bạn không sử dụng cùng một loại dấu ngoặc kép ở bên ngoài chuỗi F như bạn đang sử dụng trong biểu thức.

>>>

print("Let's talk about {}.".format(my_name))
4

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

>>>

print("Let's talk about {}.".format(my_name))
5

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

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

>>>

print("Let's talk about {}.".format(my_name))
6

Từ điển

>>>

print("Let's talk about {}.".format(my_name))
7

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.

>>>

print("Let's talk about {}.".format(my_name))
8

Đ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:

>>>

print("Let's talk about {}.".format(my_name))
9

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.

>>>

my_name= "raushan"
print(f"Let's talk about {my_name}.")
0

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:

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:

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:

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