Python thích dấu ngoặc đơn hay dấu ngoặc kép?

Một chuỗi dưới dạng một chuỗi các ký tự không nhằm mục đích có giá trị số. Trong Python, dãy ký tự như vậy được bao gồm trong dấu ngoặc đơn hoặc dấu ngoặc kép. Theo như cú pháp ngôn ngữ có liên quan, không có sự khác biệt trong chuỗi trích dẫn đơn hoặc kép. Cả hai đại diện có thể được sử dụng thay thế cho nhau. Tuy nhiên, nếu dấu ngoặc đơn hoặc dấu ngoặc kép là một phần của chính chuỗi, thì chuỗi đó phải được đặt trong dấu ngoặc kép hoặc dấu ngoặc đơn tương ứng

Ví dụ

Ví dụ: một văn bản Xin chào “Python” sẽ được lưu trữ dưới dạng một chuỗi, thì người dùng nên sử dụng

str1='Hello "Python"'

Mặt khác, nếu chuỗi giống như Hello 'Python' thì nó sẽ được khai báo như sau

Str2="Hello 'Python'"

Dù bạn nghĩ gì về Twitter ngày nay, việc các nhà phát triển chúng tôi đặt câu hỏi và nhận ý kiến ​​đóng góp là điều khá hữu ích 💡

Tuần trước tôi đã hỏi về dấu ngoặc đơn và dấu ngoặc kép trong Python

Bạn thích chuỗi trích dẫn đơn hay trích dẫn kép trong #Python?

– Bob Belderbos [@bbelderbos] ngày 12 tháng 9 năm 2022

Tôi nghĩ rằng dấu ngoặc kép là một dấu ngoặc kép nhất định, màu đen - “Trình định dạng mã không thỏa hiệp”, được đặt mặc định cho chúng và cá nhân tôi thấy chúng vừa mắt

Cho đến khi tôi đọc về một trình định dạng khác trong Fluent Python [tái bản lần thứ 2] có tên là blue [“một trình định dạng mã ít kiên quyết hơn một chút so với màu đen”] và sở thích của nó đối với dấu nháy đơn

Với mục tiêu thực thi kiểu mã hóa “tiêu chuẩn”, màu xanh lam tốt hơn màu đen vì nó theo phong cách riêng của Python là sử dụng dấu ngoặc đơn theo mặc định, dấu ngoặc kép thay thế… [ví dụ về mã bị cắt bớt]… Ưu tiên cho dấu ngoặc đơn được nhúng trong . Mô-đun doctest phụ thuộc vào repr[] sử dụng dấu nháy đơn theo mặc định. Một trong những tác giả của màu xanh lam là Barry Warsaw, đồng tác giả của PEP 8, nhà phát triển lõi Python từ năm 1994 và là thành viên của Hội đồng chỉ đạo Python từ năm 2019 đến nay [tháng 7 năm 2021]. Chúng tôi đang ở trong một công ty rất tốt khi chúng tôi chọn dấu nháy đơn theo mặc định. Nếu bạn phải sử dụng màu đen, hãy sử dụng tùy chọn black -S. Sau đó, nó sẽ để lại dấu ngoặc kép của bạn như hiện tại

Thông thạo Python [tái bản lần 2] của Luciano Ramalho

Vì vậy, bây giờ tôi bị rách, tôi có nên thay đổi dấu nháy đơn không?

Dưới đây là tóm tắt một số câu trả lời thú vị cho câu hỏi của tôi trên Twitter

- Đơn. Nhưng nó phụ thuộc vào bối cảnh. + Tôi không có sở thích nào, cái nào cũng được, miễn là nhất quán trong toàn bộ hồ sơ.  

Đây là điểm tuyệt vời. Dù bạn muốn thực thi PEP8, các tiêu chuẩn và do đó việc sử dụng dấu ngoặc đơn so với dấu ngoặc kép, nhưng nếu bạn bị ràng buộc với một cơ sở mã hiện có, thì bạn muốn ưu tiên tính nhất quán hơn bất kỳ điều gì khác

– Độc, nhưng không đủ khiến tôi cảm thấy bắt buộc phải chỉnh/thay màu đen 🙂

Đúng, sử dụng black là một đối số mạnh mẽ cho việc sử dụng dấu ngoặc kép. Nhưng nhờ có Fluent Python mà tôi đã biết về -S để bỏ dấu ngoặc kép [hoặc chuyển sang blue, tôi vẫn phải thử…]

– Dấu nháy đơn luôn là lựa chọn đầu tiên của tôi vì chúng chỉ yêu cầu một lần nhấn phím.  

Đây thực sự là một lợi thế mà tôi đang thử nghiệm. nó tăng tốc hành động viết mã thực tế lên bao nhiêu?

- Gấp đôi. Cho phép sử dụng dấu nháy đơn trong chuỗi và làm cho câu lệnh chuỗi trông rõ ràng và dứt khoát hơn. Và mã nhìn tổng thể dễ đọc hơn và chuyên nghiệp hơn. Các dấu nháy đơn nằm rải rác khắp nơi làm cho mã trông lộn xộn như thể nó đã được viết nhanh lại với nhau. Nó có mùi. + Nếu là chuỗi f có dấu ngoặc kép bên trong dấu ngoặc nhọn thì đó là dấu ngoặc kép thay vì dấu ngoặc đơn thoát.  

Việc nhúng các dấu ngoặc đơn [và không phải thoát khỏi chúng như \', khá xấu] là một trong những lý do chính khiến tôi gắn bó với dấu ngoặc kép cho đến nay [ngoài thói quen khó bỏ 😅]

- Dấu nháy đơn. Giống như Python thích [tính bằng đại diện].  

Tuân theo các quy ước của Python luôn là một lý lẽ tuyệt vời và là một điều nổi bật so với trích dẫn Fluent Python ở trên

Tôi thấy thú vị khi ít nhất suy nghĩ một chút về điều này. May mắn thay, nhờ có các trình định dạng tự động, bạn hầu như có thể bỏ qua điều này [“đặt và quên“]. Ví dụ: bằng cách sử dụng trình định dạng tự động yêu thích của bạn với một công cụ như cam kết trước [bạn có thể thấy tôi thiết lập nó tại đây]. Vì vậy, bạn có thể sử dụng bất cứ thứ gì bạn thích khi viết mã, để nó được định dạng tự động một cách nhất quán khi cam kết mã của bạn

Bạn có thể sử dụng ký tự thoát dấu gạch chéo ngược \ để sử dụng chuỗi thoát e. g. "\n" cho một dòng mới hoặc để thoát các ký tự đặc biệt như dấu ngoặc kép để chúng được in ra thay vì được diễn giải, e. g

print['Here\'s an example']

Đối với ví dụ đã cho, chúng tôi không phải sử dụng \ và thay vào đó, chúng tôi có thể sử dụng các trích dẫn khác nhau để tạo chuỗi ký tự của mình [theo ví dụ ban đầu] nhưng khi bạn trộn cả hai, sử dụng thoát có thể dễ dàng hơn

Trên thực tế, bạn muốn làm cho nó dễ đọc nhất có thể và lý tưởng nhất là nhất quán về phong cách với phần còn lại của dự án

Python có chỉ cho phép trích dẫn kép không?

Câu chuyện dài - sự khác biệt giữa chuỗi trích dẫn đơn và kép trong Python là tối thiểu. Bạn có thể sử dụng một trong hai cho bất kỳ thứ gì - chỉ cần đảm bảo tuân thủ các quy ước lập trình của bạn

Tôi nên sử dụng mã hóa dấu nháy đơn hay kép?

Cả dấu ngoặc đơn [' '] và dấu ngoặc kép [" "] đều được sử dụng để biểu thị một chuỗi trong Javascript . Chọn một phong cách trích dẫn là tùy thuộc vào bạn và không có ngữ nghĩa đặc biệt nào cho phong cách này so với phong cách kia. Tuy nhiên, điều quan trọng cần lưu ý là không có loại ký tự đơn nào trong javascript, mọi thứ luôn là một chuỗi.

Ngôn ngữ Python có thể sử dụng dấu ngoặc kép nào?

Python chấp nhận dấu nháy đơn ['], gấp đôi ["] và gấp ba [''' hoặc """] để biểu thị chuỗi ký tự . word = 'word' câu = "Đây là một câu. " đoạn = """Đây là một đoạn. Nó được tạo thành từ nhiều dòng và câu. """

Chủ Đề