Hướng dẫn how does python handle single quotes? - python xử lý các dấu nháy đơn như thế nào?

Consider:

>>> sample = "hello'world"
>>> print sample
hello'world
>>> print sample.replace("'","\'")
hello'world

Trong ứng dụng web của tôi, tôi cần lưu trữ chuỗi Python của mình với tất cả các trích dẫn đơn lẻ thoát ra để thao tác sau đó trong trình duyệt máy khách JavaScript. Rắc rối là Python sử dụng ký hiệu thoát hiểm tương tự, vì vậy hoạt động thay thế như chi tiết ở trên không có hiệu lực.

Có một cách giải quyết đơn giản?

Hướng dẫn how does python handle single quotes? - python xử lý các dấu nháy đơn như thế nào?

Hỏi ngày 14 tháng 9 năm 2010 lúc 10:50Sep 14, 2010 at 10:50

0

Là một giải pháp chung để chuyển dữ liệu từ Python sang JavaScript, hãy xem xét tuần tự hóa nó với thư viện

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
5 (một phần của thư viện tiêu chuẩn trong Python 2.6+).

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"

Đã trả lời ngày 14 tháng 9 năm 2010 lúc 11:56Sep 14, 2010 at 11:56

Daniel Rosemandaniel RosemanDaniel Roseman

575K61 Huy hiệu vàng840 Huy hiệu bạc852 Huy hiệu Đồng61 gold badges840 silver badges852 bronze badges

6

Use:

sample.replace("'", r"\'")

hoặc

sample.replace("'", "\\'")

Đã trả lời ngày 14 tháng 9 năm 2010 lúc 10:52Sep 14, 2010 at 10:52

2

Ảnh của Yann Allegre trên Unplash

Nó luôn luôn tốt để có các lựa chọn thay thế - trích dẫn đơn và đôi về cơ bản được sử dụng thay thế cho nhau trong Python.

Tất cả các lập trình viên Python của chúng tôi đều biết rằng có việc sử dụng các trích dẫn đơn và đôi liên quan đến tuyên bố của các chuỗi trong Python. Tuy nhiên, không phải tất cả chúng ta đều biết rằng có một số cách sử dụng nhất định liên quan đến trích dẫn ba.

Bài viết ngắn gọn này xem xét việc sử dụng các trích dẫn đơn, gấp đôi và ba trong Python.

Trích dẫn đơn và đôi

Cách sử dụng cơ bản

Việc sử dụng phổ biến nhất của các trích dẫn đơn và đôi là thể hiện các chuỗi bằng cách kèm theo một loạt các ký tự. Như được hiển thị trong mã bên dưới, chúng tôi tạo hai chuỗi này bằng cách sử dụng trích dẫn đơn và đôi, tương ứng.

>>> quotes_single = 'a_string'
>>> quotes_double = "a_string"
>>> quotes_single == quotes_double
True

Như bạn nhận thấy, các chuỗi được tạo bằng cách sử dụng trích dẫn đơn và đôi là như nhau. Nói cách khác, chúng ta có thể sử dụng trích dẫn đơn và đôi có thể thay thế cho nhau khi chúng ta khai báo một chuỗi. Tuy nhiên, cần lưu ý rằng chúng tôi không muốn trộn chúng vì đó là một lỗi cú pháp.

>>> "mixed quotes'
File "", line 1
"mixed quotes'
^
SyntaxError: EOL while scanning string literal
>>> 'mixed quotes"
File "", line 1
'mixed quotes"
^
SyntaxError: EOL while scanning string literal

Thoát khỏi hành vi

Giống như các ngôn ngữ lập trình khác, khi một chuỗi chứa các ký tự đặc biệt như trích dẫn, chúng ta cần thoát khỏi chúng. Một ví dụ về việc không trốn thoát được hiển thị dưới đây.

>>> 'It's a bad example.'
File "", line 1
'It's a bad example.'
^
SyntaxError: invalid syntax

Làm thế nào chúng ta có thể khắc phục lỗi này? Một là thoát khỏi trích dẫn duy nhất bằng cách đặt một dấu gạch chéo ngược trước nó. Cái còn lại là sử dụng dấu ngoặc kép thay vì trích dẫn đơn như các trích dẫn kèm theo. Cả hai cách được hiển thị dưới đây.

>>> 'It\'s a good example.'
"It's a good example."
>>> "It's a good example."
"It's a good example."

Tương tự, nếu chuỗi chứa các trích dẫn kép, chúng ta có thể sử dụng các trích dẫn đơn để biểu diễn chuỗi sao cho chúng ta không phải thoát khỏi trích dẫn kép. Một ví dụ được đưa ra dưới đây.

>>> 'She said, "Thank you!"'
'She said, "Thank you!"'

Tuy nhiên, nếu có cả trích dẫn đơn và đôi trong chuỗi, thì đó là một lỗi cú pháp nếu bạn không thoát khỏi các trích dẫn giống như các trích dẫn được sử dụng bởi toàn bộ chuỗi.

>>> print('She said, "Thank you! It's mine."')
File "", line 1
print('She said, "Thank you! It's mine."')
^
SyntaxError: invalid syntax
>>> print('She said, "Thank you! It\'s mine."')
She said, "Thank you! It's mine."

Báo giá ba lần

Đưa các chuỗi chứa cả trích dẫn đơn và đôi sao cho không cần thoát.

Kèm theo chuỗi nhiều dòng.

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
0

Cảm ơn bạn đã đọc bài viết này, và mã hóa hạnh phúc trong Python.when a string starts or ends with a single or double quote and we want to use the triple quotes for the string, we need to use the ones that differ from the starting or ending one. For example, for the string in the above code snippet, using triple double quotes would result in a syntactical error. In this case, we want to use the triple single quotes as above.

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
1

Bạn có thể sử dụng các trích dẫn đơn trong Python không?

Trong Python, chuỗi các ký tự như vậy được bao gồm bên trong các trích dẫn đơn hoặc đôi. Theo như cú pháp ngôn ngữ có liên quan, không có sự khác biệt trong chuỗi được trích dẫn đơn hoặc kép. Cả hai đại diện có thể được sử dụng thay thế cho nhau.

Làm thế nào để Python xử lý dấu nháy đơn?

Bằng cách sử dụng ký tự Escape \ ", chúng tôi có thể sử dụng dấu ngoặc kép để gửi kèm một chuỗi bao gồm văn bản được trích dẫn giữa các trích dẫn kép. Tương tự, chúng tôi có thể sử dụng ký tự thoát \ 'để thêm một dấu nháy đơn trong một chuỗi được đặt trong các trích dẫn đơn: In ('Sammy \' s Balloon có màu đỏ. ')

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
3

Các dấu ngoặc kép có quan trọng trong Python không?

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
4

Chúng ta có thể nói rõ những ý kiến ​​cho chức năng là gì.

Kết luận

Bài viết này đã xem xét việc sử dụng phổ biến của các trích dẫn đơn, gấp đôi và ba trong Python. Ở đây, một bản tóm tắt nhanh chóng về các trường hợp sử dụng này.

Trích dẫn đơn và đôi

  • Đưa dây. Trích dẫn đơn hoặc đôi là tốt.
  • Sử dụng các trích dẫn đơn làm trích dẫn bao quanh để loại bỏ nhu cầu thoát khỏi trích dẫn kép trong một chuỗi và ngược lại.

Báo giá ba lần

  • Đưa các chuỗi chứa cả trích dẫn đơn và đôi sao cho không cần thoát.
  • Kèm theo chuỗi nhiều dòng.

Cảm ơn bạn đã đọc bài viết này, và mã hóa hạnh phúc trong Python.

Bạn có thể sử dụng các trích dẫn đơn trong Python không?

Trong Python, chuỗi các ký tự như vậy được bao gồm bên trong các trích dẫn đơn hoặc đôi.Theo như cú pháp ngôn ngữ có liên quan, không có sự khác biệt trong chuỗi được trích dẫn đơn hoặc kép.Cả hai đại diện có thể được sử dụng thay thế cho nhau.Both representations can be used interchangeably.

Làm thế nào để Python xử lý dấu nháy đơn?

Bằng cách sử dụng ký tự Escape \ ", chúng tôi có thể sử dụng dấu ngoặc kép để gửi kèm một chuỗi bao gồm văn bản được trích dẫn giữa các trích dẫn kép. Tương tự, chúng tôi có thể sử dụng ký tự thoát \ 'để thêm một dấu nháy đơn trong một chuỗi được đặt trong các trích dẫn đơn:In ('Sammy \' s Balloon có màu đỏ. ')use the escape character \' to add an apostrophe in a string that is enclosed in single quotes: print('Sammy\'s balloon is red. ')

Các dấu ngoặc kép có quan trọng trong Python không?

Trong Python, bạn có thể tạo một chuỗi với dấu ngoặc kép hoặc dấu ngoặc kép.Không có sự khác biệt.Khi sử dụng dấu ngoặc kép bên trong một chuỗi, hãy đảm bảo thoát chúng không gây ra lỗi cú pháp.Một dấu ngoặc kép ba trong chuỗi được sử dụng làm chuỗi tài liệu.There is no difference. When using quotation marks inside a string, make sure to escape them not to cause syntax errors. A triple quotation mark in the string is used as a documentation string.