Hướng dẫn python f-string escape single quote - python f-string thoát trích dẫn đơn

Tôi không thể bao gồm các dấu ngoặc kép trong bộ nội suy chuỗi sau:

f"foo ${math.abs(-0.9876f)*100}%1.1f%%"

Đầu ra là

foo 98.8%

Bây giờ đầu ra mong muốn là

foo "98.8%"

Chèn

foo 98.8%
5 không hoạt động, chỉ tạo ra các lỗi "Chuỗi không được phát hiện".

Đã hỏi ngày 13 tháng 6 năm 2013 lúc 10:58Jun 13, 2013 at 10:58

6

Có vẻ như vấn đề này sẽ không được khắc phục. Bạn có thể sử dụng một trong những cách giải quyết sau:

  1. chuỗi đa dòng:

    foo 98.8%
    
    6

  2. foo 98.8%
    
    7:

    foo 98.8%
    
    8

  3. foo 98.8%
    
    9:

    foo "98.8%"
    
    0

Đã trả lời ngày 13 tháng 6 năm 2013 lúc 12:54Jun 13, 2013 at 12:54

Hướng dẫn python f-string escape single quote - python f-string thoát trích dẫn đơn

Tenshitenshitenshi

25.8k8 Huy hiệu vàng74 Huy hiệu bạc90 Huy hiệu Đồng8 gold badges74 silver badges90 bronze badges

Cuộc sống, họ nói, là một sự tiến bộ ổn định. Ngày xửa ngày xưa, các nhà phát triển và lập trình viên đều phải đưa ra hai cách định dạng python nguyên thủy: định dạng % và str.format (). Đó là những thời điểm đen tối và mã viết có thể là nhiệm vụ khó khăn nhất vào thời điểm đó. Rồi đột nhiên, đó là năm 2015 và Python 3.6 được giới thiệu và, với nó, Python F String. Python fstring mới didn chỉ làm cho các mã viết dễ dàng và nhanh chóng, nó cũng giúp các nhà phát triển có thể viết các mã có thể mang các biểu thức nhúng, cú pháp đơn giản hơn cũng như hoạt động với tốc độ đáng kinh ngạc khi chạy. & NBSP; & NBSP;

Định dạng chuỗi F là gì

Trước khi chúng tôi tìm ra định dạng chuỗi F là gì, chúng tôi chắc chắn bạn đang hỏi, chuỗi F là gì? Chuỗi F là viết tắt của chuỗi được định dạng. Đây là một ngôn ngữ theo nghĩa đen trong ngôn ngữ lập trình Python đi kèm với chữ cái F F F FE lúc bắt đầu cũng như niềng răng xoăn có chứa các biểu thức. Sau này chúng ta có thể thay thế các biểu thức này bằng các giá trị của chúng trong niềng răng xoăn.

Do đó, định dạng chuỗi F có nghĩa là định dạng một chuỗi mã bằng cách chỉ có tiền tố nó với chữ cái F F, và sau đó bao gồm niềng răng xoăn sẽ chứa các biểu thức. Bao gồm các biểu thức trong niềng răng xoăn cho phép nhà phát triển kiểm soát mã hơn đối với mã.

Định dạng F-String là một yêu thích cho nhiều nhà phát triển vì rất nhiều lý do. Một số trong số chúng bao gồm:

  • Nó có cú pháp đơn giản hơn

Cú pháp được sử dụng trong định dạng chuỗi F trông gần giống như loại được sử dụng trong str.format () nhưng nó dễ đọc hơn. Chuỗi cũng tối thiểu với ít dòng hơn. Tuy nhiên, ‘\, và‘#, không được phép là một phần của các biểu thức trong fstring python. Có nhiều thông tin hơn về điều này và nhiều hơn trong tài liệu Python F-String.

  • Nó nhanh, linh hoạt và súc tích

Vì các chuỗi F hoạt động với các đánh giá thời gian chạy thay vì giá trị không đổi, nên có mọi xu hướng mã sẽ chạy nhanh và đầu ra sẽ được trả về trong thời gian ghi. Làm việc với các chuỗi F chỉ là linh hoạt và súc tích nhưng nó cũng nhanh hơn những gì có thể đạt được với các ngôn ngữ lập trình khác.

  • Nó có các biểu thức/biến tùy ý được đánh giá trong thời gian chạy

F-String hỗ trợ nhiều biến và hầu như tất cả các biểu thức được tìm thấy trên Python có thể được sử dụng trên nó. Các biến bao gồm chuỗi, danh sách, số nguyên, từ điển và bộ dữ liệu. Ngoài ra, các biểu thức thường được đánh giá trong thời gian chạy, đảm bảo ít lỗi hơn khi so sánh với các cách định dạng cũ hơn.

  • Nó cho phép các chuỗi đa dòng

Một lý do khác tại sao Python F-String được yêu thích là vì cách nó cung cấp cơ hội bao gồm nhiều dòng chuỗi trong một đoạn mã. Điều này có thể được thực hiện rất dễ dàng theo hai cách; bằng cách sử dụng Trích dẫn ba hoặc bằng cách sử dụng lệnh Newline (\ n) để báo hiệu việc tạo ra một dòng mới. Tuy nhiên, để đảm bảo đầu ra xuất hiện như dự định, chúng ta phải nhớ sử dụng chữ cái F F vì tiền tố của mỗi dòng vì không làm như vậy sẽ dẫn đến một cái gì đó khác.

Các tính năng riêng biệt của định dạng chuỗi F trong Python

Ngoài nhiều lợi thế mà F String Formating trong Python còn có các loại định dạng khác, nhiều tính năng là duy nhất cho định dạng F-String một mình. Một số tính năng này được giải thích dưới đây;

  1. Việc sử dụng dấu ngoặc kép

Tính năng khác biệt đầu tiên bạn nhận thấy về F String Python là cách chúng tôi được phép sử dụng các trích dẫn trong các biểu thức. Có thể là độc thân (‘. Chỉ có hai quy tắc ở đây; Kết thúc với cùng một dấu ngoặc kép bạn bắt đầu và không sử dụng cùng một loại dấu trích dẫn bên trong và bên ngoài chuỗi F.

Hãy cho chúng tôi xem các ví dụ về mã python chuỗi F với các dấu ngoặc kép khác nhau.

Với các trích dẫn đơn:

>>> f"{'Kelvin Klein'}"
'Kelvin Klein'

Với dấu ngoặc kép:

>>> f'{"Kelvin Klein"}'
'Kelvin Klein'

Với trích dẫn ba:

>>> f"""Kelvin Klein"""
'Kelvin Klein'
>>> f'''Kelvin Klein'''
'Kelvin Klein'

2. Việc sử dụng từ điểnThe Use of Dictionaries

Việc sử dụng từ điển cũng là một tính năng độc đáo khác của định dạng F-String. Từ điển thường chứa các giá trị và bất kỳ biến chuỗi python nào khác mà chúng tôi có thể đang làm việc. Nhưng để tính năng này hoạt động chính xác, chúng ta phải nhớ sử dụng các trích dẫn đơn xung quanh các biến từ điển và trích dẫn kép xung quanh chuỗi F. Không làm như vậy sẽ dẫn đến lỗi cú pháp.

Xem bên dưới một đoạn mã chứa một từ điển được viết chính xác:

>>> designer = {'name': 'Kelvin Klein', 'age': 86}
>>> f"The designer is {designer['name']}, aged {designer['age']}."
The designer is Kelvin Klein, aged 86.

Và dưới đây là một đoạn mã chứa một từ điển nhưng với các trích dẫn sai. Chúng tôi thấy rằng nó dẫn đến một cú pháp:

>>> designer = {'name': 'Kelvin Klein', 'age': 86}
>>> f'The designer is {designer['name']}, aged {designer['age']}.'
  File "", line 1
    f'The designer is {designer['name']}, aged {designer['age']}.'
SyntaxError: invalid syntax

3. Việc sử dụng niềng răng xoănThe Use of Curly Braces

Cũng có thể tạo ra một đầu ra python với niềng răng. Đây là một cái gì đó chỉ có thể được nhìn thấy với F-String. Để xem niềng răng xoăn ở đầu ra, chỉ cần sử dụng niềng răng đôi trong mã như hình dưới đây:

>>> f"{{8 + 4}}"
'{8 + 4}'

Nếu bạn muốn nhìn thấy đầu ra của mình được đặt bên trong niềng răng xoăn kép, thì bạn cần sử dụng bốn niềng răng xoăn ở mỗi bên trong mã của bạn. Giống như những gì bạn thấy dưới đây:

foo 98.8%
0

4. Việc sử dụng phản ứng dữ dộiThe Use of Backlashes

Một tính năng độc đáo khác của định dạng Python FString. Backslash (\) thường được sử dụng để thoát một dòng đến một dòng mới. Điều đáng để lưu ý rằng các phản ứng dữ dội không thể được sử dụng bên trong niềng răng xoăn có chứa biểu thức của chúng tôi. Nó chỉ có thể được sử dụng bên ngoài niềng răng, nghĩa là, trong phần F-String của mã. Để làm khác sẽ dẫn đến cú pháp như đã thấy dưới đây:

foo 98.8%
1

5. Việc sử dụng các bình luận nội tuyếnThe Use of Inline Comments

Nhận xét nội tuyến cũng là một điều với Python F-Strings. Họ cho phép chúng tôi đưa ra ít ý kiến ​​về dòng mã của chúng tôi. Bạn thậm chí có thể gọi chúng là giải thích mã của Google nếu bạn thích. Để bao gồm một nhận xét nội tuyến, chỉ cần đặt một dấu hiệu hashtag (#) trên dòng mã bạn muốn nhận xét và sau đó nhập bình luận của bạn bên cạnh nó. Nhưng bạn không bao giờ nên bao gồm nhận xét nội tuyến trong biểu thức vì điều đó sẽ dẫn đến một lỗi như đã thấy trong mã dưới đây:

foo 98.8%
2

Ví dụ về làm việc với F-String trong Python

Sau đây là các ví dụ về làm việc với định dạng F-String trong Python.

Ví dụ 1. Một mã đơn giản trả về đầu ra định dạng Python đơn giản:

foo 98.8%
3

Ví dụ 2: Một mã hiển thị các chuỗi đa dòng:

foo 98.8%
4

Ví dụ 3: Một Python đánh giá chuỗi hiển thị kết quả của ngày hôm nay:

# In ngày hôm nay ngày với sự giúp đỡ

# của thư viện DateTime

Nhập dữ liệu

hôm nay = datetime.datetime.today ()

in (fv {hôm nay: %b %d, %y}))

Đối với điều này, đầu ra định dạng Python sẽ là:

Ngày 14 tháng 11 năm 2020

Cạm bẫy của chuỗi python f và các giải pháp của chúng

So với các phương pháp định dạng khác, các chuỗi Python F là sự lựa chọn ưa thích nhất. Điều này đặc biệt là do cú pháp đơn giản cũng như tốc độ mà nó có thể được đánh giá. Tuy nhiên, điều này không có nghĩa là không có nhược điểm nào đối với việc sử dụng định dạng chuỗi F. Chúng ta hãy nhìn vào một vài cạm bẫy của nó cũng như các giải pháp của họ

  • Chỉ nhỏ gọn với Python 3.6 trở lên

Định dạng chuỗi Python F trong tất cả vinh quang của nó chỉ hoạt động trên phiên bản 3.6 của Python và các phiên bản mới hơn. Nó không thể được sử dụng trên các phiên bản Python cũ hơn và đây có thể là một thách thức nghiêm trọng đối với các nhà phát triển mà máy tính chỉ có thể chạy các phiên bản cũ hơn. Giải pháp cho vấn đề này rất đơn giản: nâng cấp phiên bản Python nếu có thể.

  • Các vấn đề về trình biên dịch

Trình biên dịch Python thấy nó thách thức các biểu thức đánh giá trong các chuỗi được nội suy. Nó thường đòi hỏi chúng ta phải biểu thị cụ thể chuỗi nào chúng ta muốn nó đánh giá. Ngoài ra, khi các tiền tố khác như B B ,, R R, hoặc, I I I được sử dụng, trình biên dịch có thể thấy rất khó để đọc chính xác mã tại thời điểm biên dịch do đó thay đổi hoàn toàn ý nghĩa. Đây là một vấn đề lớn với Python String.format. Để giải quyết vấn đề này, tất cả những gì chúng ta cần làm là đặt chữ cái F F trước chuỗi trung tâm Python. Điều này không chỉ biểu thị những gì chúng tôi muốn trình biên dịch đánh giá mà còn giúp trình biên dịch đọc chính xác mã cũng như cung cấp đầu ra chính xác.

Sự kết luận

Có rất nhiều điều tuyệt vời về ngôn ngữ lập trình Python và Python FString chỉ đơn giản là một trong số đó. Nó làm cho mã hóa thú vị hơn cho các nhà phát triển và có nhiều tính năng riêng biệt như chúng ta đã thấy ở trên. Nếu bạn đã bắt đầu sử dụng nó, bạn có thể muốn thử ngay lập tức. Nhưng trước tiên, hãy xem khóa học mã hóa của chúng tôi để tăng cường kiến ​​thức nền tảng của bạn về tất cả những điều cơ bản của Python.

Hãy nhớ cũng đăng ký nhận bản tin email của chúng tôi để bạn có thể là người đầu tiên biết nó bất cứ khi nào chúng tôi bỏ các bài viết mới giống như bài này.

Làm thế nào để bạn thoát khỏi một trích dẫn trong f

Chúng ta có thể sử dụng bất kỳ dấu ngoặc kép nào {Single hoặc Double hoặc Triple} trong chuỗi F.Chúng ta phải sử dụng ký tự thoát để in dấu ngoặc kép.Biểu thức chuỗi F không cho phép chúng tôi sử dụng dấu gạch chéo ngược.Chúng ta phải đặt nó bên ngoài {}.use the escape character to print quotation marks. The f-string expression doesn't allow us to use the backslash. We have to place it outside the { }.

.2f trong Python là gì?

Đúng như dự đoán, số điểm nổi (1.9876) đã được làm tròn lên đến hai vị trí thập phân - 1,99.Vì thế %.2F có nghĩa là làm tròn đến hai vị trí thập phân.Bạn có thể chơi xung quanh với mã để xem điều gì xảy ra khi bạn thay đổi số trong định dạng.to round up to two decimal places. You can play around with the code to see what happens as you change the number in the formatter.

%D và %f trong python là gì?

Ví dụ: "In %D" %(3,78) # Điều này sẽ xuất ra 3 num1 = 5 num2 = 10 " %d + %d bằng %d" %(num1, num2, num1 + num2) # Điều này sẽ xuất hiện #5 + 10 bằng 15. %F Formatter được sử dụng để nhập các giá trị float hoặc số có giá trị sau vị trí thập phân.The %f formatter is used to input float values, or numbers with values after the decimal place.

%D %s trong python là gì?

%s hoạt động một trình giữ chỗ cho một chuỗi trong khi %D hoạt động như một trình giữ chỗ cho một số.Các giá trị liên quan của chúng được truyền qua thông qua một tuple bằng toán tử %.. Their associated values are passed in via a tuple using the % operator.