Hướng dẫn what does backslash b mean in python? - Dấu gạch chéo ngược b có nghĩa là gì trong python?


Ký tự thoát

Để chèn các ký tự là bất hợp pháp trong một chuỗi, hãy sử dụng một ký tự thoát.

Show

Một nhân vật thoát là một dấu gạch chéo ngược

# vim:fileencoding=
7 theo sau là nhân vật bạn muốn chèn.

Một ví dụ về một ký tự bất hợp pháp là một trích dẫn kép bên trong một chuỗi được bao quanh bởi các trích dẫn kép:

Thí dụ

Bạn sẽ gặp lỗi nếu bạn sử dụng dấu ngoặc kép bên trong một chuỗi được bao quanh bởi các trích dẫn kép:

txt = "Chúng tôi là người được gọi là" người Viking "từ phía bắc."

Hãy tự mình thử »

Để khắc phục sự cố này, hãy sử dụng ký tự thoát

# vim:fileencoding=
8:

Thí dụ

Bạn sẽ gặp lỗi nếu bạn sử dụng dấu ngoặc kép bên trong một chuỗi được bao quanh bởi các trích dẫn kép:

txt = "Chúng tôi là người được gọi là" người Viking "từ phía bắc."

Hãy tự mình thử »

Để khắc phục sự cố này, hãy sử dụng ký tự thoát

# vim:fileencoding=
8:

Nhân vật thoát cho phép bạn sử dụng trích dẫn kép khi bạn thường không được phép: TXT = "Chúng tôi là người được gọi là \" Vikings \ "từ phía bắc."Các nhân vật thoát khác được sử dụng trong Python:
Mã sốKết quảThử nó
\ 'Trích dẫn duy nhấtThử nó
\ 'Trích dẫn duy nhấtThử nó
\ 'Trích dẫn duy nhấtThử nó
\ 'Trích dẫn duy nhấtThử nó
\ 'Trích dẫn duy nhấtThử nó
\ 'Trích dẫn duy nhất
Thử nó "\\Thử nó
\ 'Trích dẫn duy nhấtThử nó



In có nghĩa là gì trong Python?

Bên trong một phạm vi ký tự, \ B đại diện cho ký tự backspace, để tương thích với các chữ viết của Python.

# \b is considered as an escape sequence in python
# It's is a Non-Graphic character used to replicate backspace
print("Helloi\b") #--> equivalent to print("Hello")
print("Hai\t\b") #--> equivalent to 1 tab + 1 backspace

.T làm gì trong Python?

Chức năng t () trong Python. gấu trúc. Khung dữ liệu. Thuộc tính T được sử dụng để chuyển đổi chỉ mục và cột của khung dữ liệu.

\ B trong Python với các ví dụ mã

Với bài viết này, chúng tôi sẽ kiểm tra một số trường hợp khác nhau về cách giải quyết vấn đề Python.

Nhiều ví dụ trong thế giới thực minh họa cách đối phó với \ B trong vấn đề Python.

\ R có nghĩa là python là gì?

vận chuyển trở lại

B Encode trong Python là gì?

Một tiền tố của 'B' hoặc 'B' bị bỏ qua trong Python 2. Trong Python 3, chữ byte luôn được đặt trước với 'B' hoặc 'B'; Họ tạo ra một thể hiện của loại byte thay vì loại STR. Chúng chỉ có thể chứa các ký tự ASCII; Byte có giá trị số từ 128 trở lên phải được biểu thị bằng Escapes.30-JUL-2019

$% S có nghĩa là gì trong Python?

%s đặc biệt được sử dụng để thực hiện kết nối các chuỗi với nhau. Nó cho phép chúng ta định dạng một giá trị bên trong một chuỗi. Nó được sử dụng để kết hợp một chuỗi khác trong một chuỗi. Nó tự động cung cấp chuyển đổi loại từ giá trị sang chuỗi.02-feb-2021

Tìm kiếm lại RE trở lại trong Python là gì?

Hàm RE.Search () sẽ tìm kiếm mẫu biểu thức thông thường và trả về lần xuất hiện đầu tiên. Không giống như Python Re. Match (), nó sẽ kiểm tra tất cả các dòng của chuỗi đầu vào. Nếu mẫu được tìm thấy, đối tượng khớp sẽ được trả về, nếu không thì NULL, được trả về.28-Dec-2020

Encode () làm gì trong Python?

Phương thức mã hóa () mã hóa chuỗi, sử dụng mã hóa được chỉ định. Nếu không có mã hóa được chỉ định, UTF-8 sẽ được sử dụng.

Việc sử dụng %D trong Python là gì?

%D làm gì trong Python? Toán tử %D được sử dụng làm trình giữ chỗ để chỉ định các giá trị số nguyên, số thập phân hoặc số. Nó cho phép chúng tôi in các số trong chuỗi hoặc các giá trị khác. Toán tử %D được đặt trong đó số nguyên sẽ được chỉ định.08-SEPT-2022

Làm thế nào để bạn chuyển đổi B thành chuỗi trong Python?

Python cung cấp phương thức decode () tích hợp, được sử dụng để chuyển đổi byte thành chuỗi.convert byte thành chuỗi trong python

  • bytedata = b "Hãy ăn A \ xf0 \ x9f \ x8d \ x95!"
  • # Hãy kiểm tra loại.
  • print(type(byteData))
  • str1 = bytedata.decode ('UTF-8')
  • print(type(str1))
  • print(str1)

Sự khác biệt giữa Tiêu đề () và Viết hoa () là gì?

Sự khác biệt giữa chúng là rằng TITEL () Phương thức chuỗi Python trả về một bản sao của chuỗi trong đó các ký tự đầu tiên của tất cả các từ được viết hoa trong khi phương thức chuỗi viết tắt () trả về một bản sao của chuỗi trong đó chỉ từ đầu tiên của từ đầu tiên của Toàn bộ chuỗi được viết hoa.09-Jun-2022

In có nghĩa là gì trong Python?

Bên trong một phạm vi ký tự, \ B đại diện cho ký tự backspace, để tương thích với các chữ viết của Python.PEP 3120 for details. If the source file cannot be decoded, a

# vim:fileencoding=
9 is raised.

.T làm gì trong Python?Line structure¶

Chức năng t () trong Python. gấu trúc. Khung dữ liệu. Thuộc tính T được sử dụng để chuyển đổi chỉ mục và cột của khung dữ liệu.

Một chương trình Python được đọc bởi một trình phân tích cú pháp. Đầu vào cho trình phân tích cú pháp là một luồng mã thông báo, được tạo bởi máy phân tích từ vựng. Chương này mô tả cách trình phân tích từ vựng chia một tệp vào mã thông báo.Logical lines¶

Python đọc văn bản chương trình dưới dạng điểm mã Unicode; Việc mã hóa một tệp nguồn có thể được đưa ra bằng cách khai báo mã hóa và mặc định là UTF-8, xem PEP 3120 để biết chi tiết. Nếu tệp nguồn không thể được giải mã, một

# vim:fileencoding=
9 sẽ được nâng lên.

2.1. Cấu trúc dòngPhysical lines¶

Một chương trình Python được chia thành một số dòng logic.

2.1.1. Dòng logic

Phần cuối của một dòng logic được biểu thị bằng đường dây mới. Các câu lệnh không thể vượt qua các ranh giới dòng logic ngoại trừ khi đường mới được phép bởi cú pháp (ví dụ: giữa các câu lệnh trong các câu lệnh ghép). Một dòng logic được xây dựng từ một hoặc nhiều dòng vật lý bằng cách tuân theo các quy tắc tham gia dòng rõ ràng hoặc tiềm ẩn.Encoding declarations¶

2.1.2. Các dòng vật lý

# -*- coding:  -*-

cũng được công nhận bởi GNU Emacs, và

# vim:fileencoding=

được công nhận bởi Bram Moolenaar từ VIM.

Nếu không tìm thấy khai báo mã hóa, mã hóa mặc định là UTF-8. Ngoài ra, nếu các byte đầu tiên của tệp là dấu đặt hàng byte UTF-8 (

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
2), mã hóa tệp được khai báo là UTF-8 (điều này được hỗ trợ, trong số những người khác, bởi Microsoft Microsoft Notepad).notepad).

Nếu một mã hóa được khai báo, tên mã hóa phải được nhận dạng bởi Python (xem mã hóa tiêu chuẩn). Mã hóa được sử dụng cho tất cả các phân tích từ vựng, bao gồm các chữ, nhận xét và định danh.Standard Encodings). The encoding is used for all lexical analysis, including string literals, comments and identifiers.

2.1.5. Dòng rõ ràng tham giaExplicit line joining¶

Hai hoặc nhiều dòng vật lý có thể được nối thành các dòng logic bằng cách sử dụng các ký tự dấu gạch chéo ngược (

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
3), như sau: Khi một dòng vật lý kết thúc trong một dấu gạch chéo ngược không phải là một phần của chuỗi theo nghĩa đen hoặc nhận xét, nó được nối với hình thành một Dòng, xóa dấu gạch chéo ngược và ký tự kết thúc sau. Ví dụ:

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1

Một dòng kết thúc trong một dấu gạch chéo ngược không thể mang một bình luận. Một dấu gạch chéo ngược không tiếp tục bình luận. Một dấu gạch chéo ngược không tiếp tục mã thông báo ngoại trừ các chữ cái (nghĩa là, các mã thông báo khác với các chữ cái có thể được phân chia trên các dòng vật lý bằng cách sử dụng dấu gạch chéo ngược). Một dấu gạch chéo ngược là bất hợp pháp ở những nơi khác trên một dòng bên ngoài một chuỗi theo nghĩa đen.

2.1.6. Dòng tiềm ẩn tham giaImplicit line joining¶

Biểu thức trong ngoặc đơn, dấu ngoặc vuông hoặc niềng răng xoăn có thể được phân chia trên nhiều dòng vật lý mà không cần sử dụng dấu gạch chéo ngược. Ví dụ:

month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year

Các dòng tiếp tục ngầm có thể mang ý kiến. Việc thụt dòng của các dòng tiếp tục không quan trọng. Các dòng tiếp tục trống được cho phép. Không có mã thông báo mới giữa các dòng tiếp tục ngầm. Các dòng tiếp tục ngầm cũng có thể xảy ra trong các chuỗi được trích dẫn ba (xem bên dưới); Trong trường hợp đó họ không thể mang ý kiến.

2.1.7. Các dòng trốngBlank lines¶

Một dòng logic chỉ chứa các khoảng trắng, tab, formfeed và có thể là một nhận xét, bị bỏ qua (tức là, không có mã thông báo mới nào được tạo ra). Trong quá trình đầu vào tương tác của các câu lệnh, việc xử lý một dòng trống có thể khác nhau tùy thuộc vào việc thực hiện vòng lặp in-eval in. Trong trình thông dịch tương tác tiêu chuẩn, một dòng logic hoàn toàn trống (nghĩa là một dòng không chứa khoảng trắng hoặc bình luận) chấm dứt một câu lệnh đa dòng.

2.1.8. Vết lõmIndentation¶

Khoảng cách hàng đầu (khoảng trắng và tab) ở đầu một đường logic được sử dụng để tính toán mức thụt của dòng, từ đó được sử dụng để xác định nhóm các câu lệnh.

Các tab được thay thế (từ trái sang phải) bằng một đến tám khoảng trống sao cho tổng số ký tự lên đến và bao gồm cả sự thay thế là bội số của tám (điều này được dự định là quy tắc tương tự như được sử dụng bởi UNIX). Tổng số không gian trước ký tự không trống đầu tiên sau đó xác định thụt dòng. Thắng không thể được phân chia trên nhiều dòng vật lý bằng cách sử dụng dấu gạch chéo ngược; khoảng trắng lên đến dấu gạch chéo ngược đầu tiên xác định thụt lề.

Thắng bị từ chối là không nhất quán nếu một tệp nguồn trộn các tab và không gian theo cách làm cho ý nghĩa phụ thuộc vào giá trị của một tab trong không gian; Một

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
4 được nâng lên trong trường hợp đó.

Lưu ý tương thích đa nền tảng: Do tính chất của các trình chỉnh sửa văn bản trên các nền tảng không phải là Unix, việc sử dụng hỗn hợp các khoảng trống và tab cho thụt vào một tệp nguồn duy nhất là không khôn ngoan. Cũng cần lưu ý rằng các nền tảng khác nhau có thể hạn chế rõ ràng mức thụt tối đa. because of the nature of text editors on non-UNIX platforms, it is unwise to use a mixture of spaces and tabs for the indentation in a single source file. It should also be noted that different platforms may explicitly limit the maximum indentation level.

Một ký tự FormFeed có thể có mặt ở đầu dòng; Nó sẽ được bỏ qua cho các tính toán thụt vào trên. Các ký tự FormFeed xảy ra ở những nơi khác trong khoảng trắng hàng đầu có hiệu ứng không xác định (ví dụ, chúng có thể đặt lại số lượng không gian về 0).

Các cấp độ thụt của các dòng liên tiếp được sử dụng để tạo ra các mã thông báo thụt lề và cống hiến, sử dụng một ngăn xếp, như sau.

Trước khi dòng đầu tiên của tệp được đọc, một số 0 được đẩy trên ngăn xếp; Điều này sẽ không bao giờ được bật ra nữa. Các số được đẩy trên ngăn xếp sẽ luôn tăng nghiêm ngặt từ dưới lên trên. Ở đầu mỗi đường logic, mức thụt dòng của dòng được so sánh với đỉnh của ngăn xếp. Nếu nó bằng nhau, không có gì xảy ra. Nếu nó lớn hơn, nó được đẩy lên ngăn xếp và một mã thông báo thụt lề được tạo ra. Nếu nó nhỏ hơn, nó phải là một trong những con số xảy ra trên ngăn xếp; Tất cả các số trên ngăn xếp lớn hơn được bật ra và đối với mỗi số đã xuất hiện một mã thông báo khấu trừ được tạo ra. Vào cuối tệp, một mã thông báo dành cho một số còn lại trên ngăn xếp lớn hơn 0.

Dưới đây là một ví dụ về một mảnh ghép chính xác (mặc dù khó hiểu) của mã Python:

def perm(l):
        # Compute the list of all permutations of l
    if len(l) <= 1:
                  return [l]
    r = []
    for i in range(len(l)):
             s = l[:i] + l[i+1:]
             p = perm(s)
             for x in p:
              r.append(l[i:i+1] + x)
    return r

Ví dụ sau đây cho thấy các lỗi thụt khác nhau:

 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent

.

2.1.9. Khoảng trắng giữa mã thông báoWhitespace between tokens¶

Ngoại trừ khi bắt đầu một dòng logic hoặc trong các chuỗi chữ, không gian, tab và formfeed của SETESPACE có thể được sử dụng thay thế cho các mã thông báo tách biệt. Chỉ cần khoảng trắng giữa hai mã thông báo nếu cách ghép của chúng có thể được hiểu là một mã thông báo khác nhau (ví dụ: AB là một mã thông báo, nhưng A B là hai mã thông báo).

2.2. Token khácOther tokens¶

Bên cạnh dòng mới, thụt lề và cống hiến, các loại mã thông báo sau đây tồn tại: định danh, từ khóa, nghĩa đen, người vận hành và phân định. Các ký tự khoảng trắng (trừ các thiết bị đầu hàng dòng, được thảo luận trước đó) không phải là mã thông báo, mà phục vụ để phân định mã thông báo. Khi sự mơ hồ tồn tại, một mã thông báo bao gồm chuỗi dài nhất có thể tạo thành mã thông báo hợp pháp, khi được đọc từ trái sang phải.

2.3. Số nhận dạng và từ khóaIdentifiers and keywords¶

Định danh (còn được gọi là tên) được mô tả bởi các định nghĩa từ vựng sau đây.

Cú pháp của các định danh trong Python dựa trên Phụ lục Unicode Phụ lục UAX-31, với sự xây dựng và thay đổi như được định nghĩa dưới đây; Xem thêm PEP 3131 để biết thêm chi tiết.PEP 3131 for further details.

Trong phạm vi ASCII (U+0001..U+007F), các ký tự hợp lệ cho các định danh giống như trong Python 2.x: chữ hoa và chữ thường

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
6 đến
if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
7, dấu gạch dưới
if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
8 và, ngoại trừ ký tự đầu tiên, Các chữ số
if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
9 đến
month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year
0.

Python 3.0 giới thiệu các ký tự bổ sung từ bên ngoài phạm vi ASCII (xem PEP 3131). Đối với các ký tự này, phân loại sử dụng phiên bản của cơ sở dữ liệu ký tự Unicode như được bao gồm trong mô -đun

month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year
1.PEP 3131). For these characters, the classification uses the version of the Unicode Character Database as included in the
month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year
1 module.

Định danh là không giới hạn về chiều dài. Trường hợp là đáng kể.

identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">

Các mã danh mục Unicode được đề cập ở trên là viết tắt của:

  • LU - chữ hoa

  • LL - chữ thường

  • LT - Thư Titlecase

  • LM - Các chữ cái sửa đổi

  • LO - Các chữ cái khác

  • NL - Số thư

  • MN - Dấu không định vị

  • MC - Khoảng cách kết hợp đánh dấu

  • ND - Số thập phân

  • PC - Trọng tâm kết nối

  • Khác_id_start - Danh sách rõ ràng các ký tự trong proplist.txt để hỗ trợ khả năng tương thích ngược

  • Khác_id_continue - Tương tự như vậy

Tất cả các định danh được chuyển đổi thành NFKC dạng bình thường trong khi phân tích cú pháp; So sánh các định danh dựa trên NFKC.

Tệp HTML không quy tắc danh sách tất cả các ký tự định danh hợp lệ cho Unicode 14.0.0 có thể được tìm thấy tại https://www.unicode.org/public/14.0.0/ucd/derivingcoreproperies.txt

2.3.1. Từ khóaKeywords¶

Các định danh sau đây được sử dụng làm từ dành riêng, hoặc từ khóa của ngôn ngữ và không thể được sử dụng làm số nhận dạng thông thường. Chúng phải được đánh vần chính xác như viết ở đây:

False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield

2.3.2. Từ khóa mềmSoft Keywords¶

Mới trong phiên bản 3.10.

Một số định danh chỉ được bảo lưu trong các bối cảnh cụ thể. Chúng được gọi là từ khóa mềm. Các định danh

month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year
2,
month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year
3 và
if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
8 có thể đóng vai trò là từ khóa trong các bối cảnh liên quan đến câu lệnh khớp mẫu, nhưng sự khác biệt này được thực hiện ở cấp độ phân tích cú pháp, chứ không phải khi mã hóa.

Vì các từ khóa mềm, việc sử dụng của chúng với việc khớp mẫu là có thể trong khi vẫn bảo tồn khả năng tương thích với mã hiện có sử dụng

month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year
2,
month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year
3 và
if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
8 làm tên định danh.

2.3.3. Các lớp định danh dành riêngReserved classes of identifiers¶

Một số lớp định danh (bên cạnh từ khóa) có ý nghĩa đặc biệt. Các lớp này được xác định bởi các mô hình của các ký tự dẫn đầu và dấu vết nhấn mạnh:

month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year
8

Không được nhập khẩu bởi

month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year
9.

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
8

Trong mẫu

month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year
3 trong câu lệnh
month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               'Oktober', 'November', 'December']   # of the year
2,
if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
8 là một từ khóa mềm biểu thị thẻ đại diện.soft keyword that denotes a wildcard.

Một cách riêng biệt, trình thông dịch tương tác làm cho kết quả của đánh giá cuối cùng có sẵn trong biến

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
8. (Nó được lưu trữ trong mô-đun
def perm(l):
        # Compute the list of all permutations of l
    if len(l) <= 1:
                  return [l]
    r = []
    for i in range(len(l)):
             s = l[:i] + l[i+1:]
             p = perm(s)
             for x in p:
              r.append(l[i:i+1] + x)
    return r
5, cùng với các chức năng tích hợp như
def perm(l):
        # Compute the list of all permutations of l
    if len(l) <= 1:
                  return [l]
    r = []
    for i in range(len(l)):
             s = l[:i] + l[i+1:]
             p = perm(s)
             for x in p:
              r.append(l[i:i+1] + x)
    return r
6.)

Ở những nơi khác,

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
8 là một định danh thường xuyên. Nó thường được sử dụng để đặt tên cho các mặt hàng đặc biệt của người Viking, nhưng nó không đặc biệt đối với chính Python.

Ghi chú

Tên

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
8 thường được sử dụng cùng với quốc tế hóa; Tham khảo tài liệu cho mô -đun
def perm(l):
        # Compute the list of all permutations of l
    if len(l) <= 1:
                  return [l]
    r = []
    for i in range(len(l)):
             s = l[:i] + l[i+1:]
             p = perm(s)
             for x in p:
              r.append(l[i:i+1] + x)
    return r
9 để biết thêm thông tin về quy ước này.

Nó cũng thường được sử dụng cho các biến không sử dụng.

 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
0

Các tên được xác định bởi hệ thống, được gọi một cách không chính thức là tên của Dund Dunder. Các tên này được xác định bởi thông dịch viên và việc triển khai của nó (bao gồm thư viện tiêu chuẩn). Tên hệ thống hiện tại được thảo luận trong phần Tên phương thức đặc biệt và các nơi khác. Nhiều khả năng sẽ được xác định trong các phiên bản tương lai của Python. Bất kỳ việc sử dụng tên

 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
0, trong bất kỳ ngữ cảnh nào, không tuân theo việc sử dụng được ghi lại rõ ràng, có thể bị phá vỡ mà không có cảnh báo.Special method names section and elsewhere. More will likely be defined in future versions of Python. Any use of
 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
0 names, in any context, that does not follow explicitly documented use, is subject to breakage without warning.

 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
2

Tên-tư nhân. Các tên trong danh mục này, khi được sử dụng trong bối cảnh của một định nghĩa lớp, được viết lại để sử dụng một biểu mẫu bị xáo trộn để giúp tránh các cuộc đụng độ tên giữa các thuộc tính riêng tư của cơ sở và các lớp có nguồn gốc. Xem phần Định danh (Tên).Identifiers (Names).

2.4. Theo nghĩa chữLiterals¶

Biết chữ là các ký hiệu cho các giá trị không đổi của một số loại tích hợp.

2.4.1. Chuỗi và byte theo nghĩa chữString and Bytes literals¶

Chuỗi chữ được mô tả bởi các định nghĩa từ vựng sau:

stringliteral   ::=  [stringprefix](shortstring | longstring)
stringprefix    ::=  "r" | "u" | "R" | "U" | "f" | "F"
                     | "fr" | "Fr" | "fR" | "FR" | "rf" | "rF" | "Rf" | "RF"
shortstring     ::=  "'" shortstringitem* "'" | '"' shortstringitem* '"'
longstring      ::=  "'''" longstringitem* "'''" | '"""' longstringitem* '"""'
shortstringitem ::=  shortstringchar | stringescapeseq
longstringitem  ::=  longstringchar | stringescapeseq
shortstringchar ::=  
longstringchar  ::=  
stringescapeseq ::=  "\" 
# -*- coding:  -*-
0

Một hạn chế cú pháp không được chỉ định bởi các sản phẩm này là không được phép là khoảng trắng giữa

 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
3 hoặc
 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
4 và phần còn lại của nghĩa đen. Bộ ký tự nguồn được xác định bởi khai báo mã hóa; đó là UTF-8 nếu không có khai báo mã hóa nào được đưa ra trong tệp nguồn; Xem phần Tuyên bố mã hóa.Encoding declarations.

Trong tiếng Anh đơn giản: Cả hai loại chữ có thể được đặt trong các trích dẫn đơn (

 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
5) hoặc trích dẫn kép (
 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
6). Chúng cũng có thể được đặt trong các nhóm phù hợp gồm ba trích dẫn đơn hoặc đôi (chúng thường được gọi là các chuỗi được trích dẫn ba). Ký tự dấu gạch chéo ngược (
if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
3) được sử dụng để thoát khỏi các ký tự có ý nghĩa đặc biệt, chẳng hạn như Newline, chính bản sao lại hoặc ký tự trích dẫn.

Byte theo nghĩa đen luôn được đặt trước với

 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
8 hoặc
 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
9; Họ tạo ra một thể hiện của loại
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
0 thay vì loại
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
1. Chúng chỉ có thể chứa các ký tự ASCII; Các byte có giá trị số từ 128 trở lên phải được biểu thị bằng lối thoát.

Cả hai chuỗi và byte theo nghĩa đen có thể tùy ý được đặt tiền tố với chữ cái

identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
2 hoặc
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
3; Các chuỗi như vậy được gọi là chuỗi thô và coi dấu gạch chéo ngược là ký tự theo nghĩa đen. Kết quả là, trong các chuỗi chữ,
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
4 và
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
5 trốn thoát trong các chuỗi thô không được xử lý đặc biệt. Cho rằng các chữ Unicode thô của Python 2.x, hành xử khác với Python 3.x, cú pháp
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
6 không được hỗ trợ.

Mới trong phiên bản 3.3: Tiền tố

identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
7 của các byte RAW đã được thêm vào như một từ đồng nghĩa của
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
8.The
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
7 prefix of raw bytes literals has been added as a synonym of
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
8.

Mới trong phiên bản 3.3: Hỗ trợ cho Unicode Legacy Literal (

identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
9) đã được giới thiệu lại để đơn giản hóa việc duy trì các cơ sở mã Python 2.x và 3.x kép. Xem PEP 414 để biết thêm thông tin.Support for the unicode legacy literal (
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
9) was reintroduced to simplify the maintenance of dual Python 2.x and 3.x codebases. See PEP 414 for more information.

Một chuỗi theo nghĩa đen với

False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield
0 hoặc
False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield
1 trong tiền tố của nó là một chuỗi được định dạng theo nghĩa đen; Xem các chuỗi chữ được định dạng.
False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield
0 có thể được kết hợp với
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
2, nhưng không phải với
 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
8 hoặc
False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield
5, do đó các chuỗi được định dạng thô là có thể, nhưng các byte được định dạng là không.Formatted string literals. The
False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield
0 may be combined with
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
2, but not with
 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
8 or
False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield
5, therefore raw formatted strings are possible, but formatted bytes literals are not.

Trong các nghĩa đen được trích dẫn ba, các dòng mới và trích dẫn không được cho phép (và được giữ lại), ngoại trừ ba trích dẫn không được phân loại trong một hàng chấm dứt theo nghĩa đen. (Một trích dẫn của người Viking là nhân vật được sử dụng để mở theo nghĩa đen, tức là

 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
5 hoặc
 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
6.)

Trừ khi có tiền tố

identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
2 hoặc
identifier   ::=  xid_start xid_continue*
id_start     ::=  
id_continue  ::=  id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  id_continue whose NFKC normalization is in "id_continue*">
3, các chuỗi thoát theo chuỗi và byte theo nghĩa đen được giải thích theo các quy tắc tương tự như các quy tắc được sử dụng bởi Standard C. Các chuỗi thoát được công nhận là:

Trình tự thoát

Nghĩa

Ghi chú

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
3

Backslash và Newline bị bỏ qua

(1)

stringliteral   ::=  [stringprefix](shortstring | longstring)
stringprefix    ::=  "r" | "u" | "R" | "U" | "f" | "F"
                     | "fr" | "Fr" | "fR" | "FR" | "rf" | "rF" | "Rf" | "RF"
shortstring     ::=  "'" shortstringitem* "'" | '"' shortstringitem* '"'
longstring      ::=  "'''" longstringitem* "'''" | '"""' longstringitem* '"""'
shortstringitem ::=  shortstringchar | stringescapeseq
longstringitem  ::=  longstringchar | stringescapeseq
shortstringchar ::=  
longstringchar  ::=  
stringescapeseq ::=  "\" 
1

Backslash (

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
3)

stringliteral   ::=  [stringprefix](shortstring | longstring)
stringprefix    ::=  "r" | "u" | "R" | "U" | "f" | "F"
                     | "fr" | "Fr" | "fR" | "FR" | "rf" | "rF" | "Rf" | "RF"
shortstring     ::=  "'" shortstringitem* "'" | '"' shortstringitem* '"'
longstring      ::=  "'''" longstringitem* "'''" | '"""' longstringitem* '"""'
shortstringitem ::=  shortstringchar | stringescapeseq
longstringitem  ::=  longstringchar | stringescapeseq
shortstringchar ::=  
longstringchar  ::=  
stringescapeseq ::=  "\" 
3

Trích dẫn đơn (

 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
5)

stringliteral   ::=  [stringprefix](shortstring | longstring)
stringprefix    ::=  "r" | "u" | "R" | "U" | "f" | "F"
                     | "fr" | "Fr" | "fR" | "FR" | "rf" | "rF" | "Rf" | "RF"
shortstring     ::=  "'" shortstringitem* "'" | '"' shortstringitem* '"'
longstring      ::=  "'''" longstringitem* "'''" | '"""' longstringitem* '"""'
shortstringitem ::=  shortstringchar | stringescapeseq
longstringitem  ::=  longstringchar | stringescapeseq
shortstringchar ::=  
longstringchar  ::=  
stringescapeseq ::=  "\" 
5

Báo giá kép (

 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
6)

stringliteral   ::=  [stringprefix](shortstring | longstring)
stringprefix    ::=  "r" | "u" | "R" | "U" | "f" | "F"
                     | "fr" | "Fr" | "fR" | "FR" | "rf" | "rF" | "Rf" | "RF"
shortstring     ::=  "'" shortstringitem* "'" | '"' shortstringitem* '"'
longstring      ::=  "'''" longstringitem* "'''" | '"""' longstringitem* '"""'
shortstringitem ::=  shortstringchar | stringescapeseq
longstringitem  ::=  longstringchar | stringescapeseq
shortstringchar ::=  
longstringchar  ::=  
stringescapeseq ::=  "\" 
7

ASCII Bell (BEL)

stringliteral   ::=  [stringprefix](shortstring | longstring)
stringprefix    ::=  "r" | "u" | "R" | "U" | "f" | "F"
                     | "fr" | "Fr" | "fR" | "FR" | "rf" | "rF" | "Rf" | "RF"
shortstring     ::=  "'" shortstringitem* "'" | '"' shortstringitem* '"'
longstring      ::=  "'''" longstringitem* "'''" | '"""' longstringitem* '"""'
shortstringitem ::=  shortstringchar | stringescapeseq
longstringitem  ::=  longstringchar | stringescapeseq
shortstringchar ::=  
longstringchar  ::=  
stringescapeseq ::=  "\" 
8

ASCII Backspace (BS)

stringliteral   ::=  [stringprefix](shortstring | longstring)
stringprefix    ::=  "r" | "u" | "R" | "U" | "f" | "F"
                     | "fr" | "Fr" | "fR" | "FR" | "rf" | "rF" | "Rf" | "RF"
shortstring     ::=  "'" shortstringitem* "'" | '"' shortstringitem* '"'
longstring      ::=  "'''" longstringitem* "'''" | '"""' longstringitem* '"""'
shortstringitem ::=  shortstringchar | stringescapeseq
longstringitem  ::=  longstringchar | stringescapeseq
shortstringchar ::=  
longstringchar  ::=  
stringescapeseq ::=  "\" 
9

ASCII FormFeed (FF)

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
0

ASCII Linefeed (LF)

# -*- coding:  -*-
01

ASCII Vận chuyển trở lại (CR)

# -*- coding:  -*-
02

Tab ngang ASCII (tab)

# -*- coding:  -*-
03

Tab dọc ASCII (VT)

# -*- coding:  -*-
04

Nhân vật có giá trị bát phân ooo

(2,4)

# -*- coding:  -*-
05

Nhân vật có giá trị hex hh

(3,4)

Trình tự thoát chỉ được công nhận trong các chuỗi chữ là:

Trình tự thoát

Nghĩa

Ghi chú

# -*- coding:  -*-
06

Backslash và Newline bị bỏ qua

(5)

# -*- coding:  -*-
07

Backslash (

if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
3)

(6)

# -*- coding:  -*-
08

Trích dẫn đơn (

 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
5)

(7)

Notes:

  1. Báo giá kép (

     def perm(l):                       # error: first line indented
    for i in range(len(l)):             # error: not indented
        s = l[:i] + l[i+1:]
            p = perm(l[:i] + l[i+1:])   # error: unexpected indent
            for x in p:
                    r.append(l[i:i+1] + x)
                return r                # error: inconsistent dedent
    
    6)

    # -*- coding:  -*-
    
    1

    ASCII Bell (BEL)triple-quoted strings, or parentheses and string literal concatenation.

  2. ASCII Backspace (BS)

    ASCII FormFeed (FF)Octal escapes with value larger than

    # -*- coding:  -*-
    
    09 produce a
    # -*- coding:  -*-
    
    10. In a future Python version they will be a
    # -*- coding:  -*-
    
    11 and eventually a
    # vim:fileencoding=
    
    9.

  3. ASCII Linefeed (LF)

  4. ASCII Vận chuyển trở lại (CR)

  5. Tab ngang ASCII (tab)Support for name aliases 1 has been added.

  6. Tab dọc ASCII (VT)

  7. Nhân vật có giá trị bát phân ooo

Không giống như tiêu chuẩn C, tất cả các chuỗi thoát không được công nhận được để lại trong chuỗi không thay đổi, tức là, dấu gạch chéo ngược được để lại trong kết quả. (Hành vi này rất hữu ích khi gỡ lỗi: Nếu một chuỗi thoát bị nhầm nghĩa đen.

Ngay cả trong một chữ thô, các trích dẫn có thể được thoát ra với một dấu gạch chéo ngược, nhưng kết quả là sự chéo ngược vẫn còn trong đó; Ví dụ,

# -*- coding:  -*-
13 là một chuỗi hợp lệ bao gồm hai ký tự: dấu gạch chéo ngược và báo giá kép;
# -*- coding:  -*-
14 không phải là một chuỗi hợp lệ theo nghĩa đen (ngay cả một chuỗi thô cũng không thể kết thúc bằng một số lượng ngược lẻ). Cụ thể, một chữ thô không thể kết thúc trong một dấu gạch chéo ngược (vì dấu gạch chéo ngược sẽ thoát khỏi ký tự trích dẫn sau). Cũng lưu ý rằng một dấu gạch chéo ngược duy nhất theo sau là một dòng mới được hiểu là hai ký tự đó là một phần của nghĩa đen, không phải là tiếp tục dòng.

2.4.2. Chuỗi theo nghĩa đenString literal concatenation¶

Nhiều chuỗi hoặc byte liền kề (được phân định bởi khoảng trắng), có thể sử dụng các quy ước trích dẫn khác nhau, được cho phép và ý nghĩa của chúng giống như sự kết hợp của chúng. Do đó,

# -*- coding:  -*-
15 tương đương với
# -*- coding:  -*-
16. Tính năng này có thể được sử dụng để giảm số lượng dấu gạch chéo ngược cần thiết, để phân chia các chuỗi dài một cách thuận tiện trên các dòng dài hoặc thậm chí để thêm nhận xét vào các phần của chuỗi, ví dụ::

# -*- coding:  -*-
2

Lưu ý rằng tính năng này được xác định ở cấp độ cú pháp, nhưng được triển khai tại thời điểm biên dịch. Toán tử ‘++phải được sử dụng để kết hợp các biểu thức chuỗi tại thời điểm chạy. Cũng lưu ý rằng sự kết hợp theo nghĩa đen có thể sử dụng các kiểu trích dẫn khác nhau cho từng thành phần (thậm chí trộn các chuỗi thô và chuỗi được trích dẫn ba), và các chuỗi chuỗi được định dạng có thể được nối với các chữ theo chuỗi đơn giản.

2.4.3. Chuỗi được định dạng theo nghĩa chữFormatted string literals¶

Mới trong phiên bản 3.6.

Một chuỗi được định dạng theo nghĩa đen hoặc chuỗi F là một chuỗi theo nghĩa đen được đặt trước với

False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield
0 hoặc
False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield
1. Các chuỗi này có thể chứa các trường thay thế, được các biểu thức được phân định bằng niềng răng xoăn
# -*- coding:  -*-
19. Trong khi các chuỗi chuỗi khác luôn có giá trị không đổi, các chuỗi được định dạng thực sự là biểu thức được đánh giá tại thời điểm chạy.

Trình tự thoát được giải mã giống như trong các chuỗi chuỗi thông thường (ngoại trừ khi một nghĩa đen cũng được đánh dấu là một chuỗi thô). Sau khi giải mã, ngữ pháp cho nội dung của chuỗi là:

# -*- coding:  -*-
3

Các phần của chuỗi bên ngoài niềng răng xoăn được xử lý theo nghĩa đen, ngoại trừ bất kỳ niềng răng xoăn gấp đôi

# -*- coding:  -*-
20 hoặc
# -*- coding:  -*-
21 được thay thế bằng niềng xoăn đơn tương ứng. Một khung mở nhất ____
# -*- coding:  -*-
22 đánh dấu một trường thay thế, bắt đầu bằng biểu thức python. Để hiển thị cả văn bản biểu thức và giá trị của nó sau khi đánh giá, (hữu ích trong việc gỡ lỗi), một dấu hiệu bằng nhau
# -*- coding:  -*-
23 có thể được thêm vào sau biểu thức. Một trường chuyển đổi, được giới thiệu bởi một dấu chấm than
# -*- coding:  -*-
24 có thể theo sau. Một định dạng định dạng cũng có thể được nối thêm, được giới thiệu bởi một đại tràng
# -*- coding:  -*-
25. Một trường thay thế kết thúc với khung xoăn đóng
# -*- coding:  -*-
26.

Các biểu thức trong các chuỗi chữ được định dạng được đối xử như các biểu thức python thông thường được bao quanh bởi dấu ngoặc đơn, với một vài ngoại lệ. Một biểu thức trống không được phép, và cả các biểu thức

# -*- coding:  -*-
27 và gán
# -*- coding:  -*-
28 phải được bao quanh bởi các dấu ngoặc đơn rõ ràng. Biểu thức thay thế có thể chứa các lần ngắt dòng (ví dụ: trong các chuỗi được trích xuất ba), nhưng chúng không thể chứa các bình luận. Mỗi biểu thức được đánh giá trong bối cảnh mà chuỗi được định dạng xuất hiện theo nghĩa đen, theo thứ tự từ trái sang phải.

Đã thay đổi trong phiên bản 3.7: Trước Python 3.7, biểu thức và sự hiểu biết của

# -*- coding:  -*-
29 có chứa một điều khoản
# -*- coding:  -*-
30 là bất hợp pháp trong các biểu thức trong các chuỗi chữ được định dạng do một vấn đề với việc thực hiện.Prior to Python 3.7, an
# -*- coding:  -*-
29 expression and comprehensions containing an
# -*- coding:  -*-
30 clause were illegal in the expressions in formatted string literals due to a problem with the implementation.

Khi dấu hiệu bằng nhau

# -*- coding:  -*-
23 được cung cấp, đầu ra sẽ có văn bản biểu thức,
# -*- coding:  -*-
23 và giá trị được đánh giá. Không gian sau khi nẹp mở
# -*- coding:  -*-
22, trong biểu thức và sau khi
# -*- coding:  -*-
23 đều được giữ lại trong đầu ra. Theo mặc định,
# -*- coding:  -*-
23 gây ra
# -*- coding:  -*-
36 của biểu thức được cung cấp, trừ khi có một định dạng được chỉ định. Khi một định dạng được chỉ định, nó mặc định là
# -*- coding:  -*-
37 của biểu thức trừ khi chuyển đổi
# -*- coding:  -*-
38 được khai báo.

Mới trong phiên bản 3.8: Dấu hiệu bằng nhau

# -*- coding:  -*-
23.The equal sign
# -*- coding:  -*-
23.

Nếu một chuyển đổi được chỉ định, kết quả của việc đánh giá biểu thức được chuyển đổi trước khi định dạng. Chuyển đổi

# -*- coding:  -*-
40 gọi
# -*- coding:  -*-
37 trên kết quả,
# -*- coding:  -*-
38 gọi
# -*- coding:  -*-
36 và
# -*- coding:  -*-
44 gọi
# -*- coding:  -*-
45.

Kết quả sau đó được định dạng bằng giao thức

# -*- coding:  -*-
46. Trình xác định định dạng được chuyển đến phương thức
# -*- coding:  -*-
47 của biểu thức hoặc kết quả chuyển đổi. Một chuỗi trống được truyền khi trình xác định định dạng bị bỏ qua. Kết quả được định dạng sau đó được bao gồm trong giá trị cuối cùng của toàn bộ chuỗi.

Các nhà xác định định dạng cấp cao nhất có thể bao gồm các trường thay thế lồng nhau. Các trường lồng nhau này có thể bao gồm các trường chuyển đổi và định dạng của riêng chúng, nhưng có thể không bao gồm các trường thay thế được lồng sâu hơn. Trình xác định định dạng Mini-Language giống như phương pháp được sử dụng bởi phương pháp

# -*- coding:  -*-
48.format specifiers, but may not include more deeply nested replacement fields. The format specifier mini-language is the same as that used by the
# -*- coding:  -*-
48 method.

Chuỗi được định dạng có thể được nối, nhưng các trường thay thế không thể được phân chia trên các chữ.

Một số ví dụ về các chuỗi chữ được định dạng:

# -*- coding:  -*-
4

Hậu quả của việc chia sẻ cùng một cú pháp với các chữ cái thông thường là các ký tự trong các trường thay thế không được xung đột với trích dẫn được sử dụng trong chuỗi được định dạng bên ngoài theo nghĩa đen:

# -*- coding:  -*-
5

Backslashes không được phép trong các biểu thức định dạng và sẽ gây ra lỗi:

# -*- coding:  -*-
6

Để bao gồm một giá trị trong đó cần có một lối thoát ngược, hãy tạo một biến tạm thời.

# -*- coding:  -*-
7

Chuỗi được định dạng không thể được sử dụng làm tài liệu, ngay cả khi chúng không bao gồm các biểu thức.

# -*- coding:  -*-
8

Xem thêm PEP 498 để biết đề xuất đã thêm các chuỗi chuỗi được định dạng và

# -*- coding:  -*-
48, sử dụng cơ chế chuỗi định dạng liên quan.PEP 498 for the proposal that added formatted string literals, and
# -*- coding:  -*-
48, which uses a related format string mechanism.

2.4.4. Chữ số chữNumeric literals¶

Có ba loại chữ số: số nguyên, số điểm nổi và số tưởng tượng. Không có chữ viết phức tạp (các số phức tạp có thể được hình thành bằng cách thêm một số thực và một số tưởng tượng).

Lưu ý rằng các chữ số không bao gồm một dấu hiệu; Một cụm từ như

# -*- coding:  -*-
50 thực sự là một biểu thức bao gồm nhà điều hành Unary ‘
# -*- coding:  -*-
51, và nghĩa đen
# -*- coding:  -*-
52.

2.4.5. Integer Ligesals¶Integer literals¶

Các chữ số nguyên được mô tả bằng các định nghĩa từ vựng sau:

# -*- coding:  -*-
9

Không có giới hạn cho độ dài của các chữ số nguyên ngoài những gì có thể được lưu trữ trong bộ nhớ có sẵn.

Dấu gạch dưới được bỏ qua để xác định giá trị số của nghĩa đen. Chúng có thể được sử dụng để nhóm các chữ số để nâng cao khả năng đọc. Một dấu gạch dưới có thể xảy ra giữa các chữ số và sau các nhà xác định cơ sở như

# -*- coding:  -*-
53.

Lưu ý rằng các số không hàng đầu trong một số thập phân khác không được phép. Điều này là để định hướng với các chữ theo nghĩa ba kiểu chữ C, mà Python đã sử dụng trước phiên bản 3.0.

Một số ví dụ về chữ số nguyên:

# vim:fileencoding=
0

Đã thay đổi trong phiên bản 3.6: Dấu gạch dưới hiện được phép nhóm các mục đích nhóm trong nghĩa đen.Underscores are now allowed for grouping purposes in literals.

2.4.6. Bình luận nổiFloating point literals¶

Bình luận điểm nổi được mô tả bằng các định nghĩa từ vựng sau:

# vim:fileencoding=
1

Lưu ý rằng các bộ phận số nguyên và số mũ luôn được giải thích bằng cách sử dụng Radix 10. Ví dụ,

# -*- coding:  -*-
54 là hợp pháp và biểu thị cùng số với
# -*- coding:  -*-
55. Phạm vi cho phép của các chữ ký nổi là phụ thuộc vào thực hiện. Như trong các chữ số nguyên, gạch dưới được hỗ trợ cho nhóm chữ số.

Một số ví dụ về nghĩa đen của điểm nổi:

# vim:fileencoding=
2

Đã thay đổi trong phiên bản 3.6: Dấu gạch dưới hiện được phép nhóm các mục đích nhóm trong nghĩa đen.Underscores are now allowed for grouping purposes in literals.

2.4.6. Bình luận nổiImaginary literals¶

Bình luận điểm nổi được mô tả bằng các định nghĩa từ vựng sau:

# vim:fileencoding=
3

Lưu ý rằng các bộ phận số nguyên và số mũ luôn được giải thích bằng cách sử dụng Radix 10. Ví dụ,

# -*- coding:  -*-
54 là hợp pháp và biểu thị cùng số với
# -*- coding:  -*-
55. Phạm vi cho phép của các chữ ký nổi là phụ thuộc vào thực hiện. Như trong các chữ số nguyên, gạch dưới được hỗ trợ cho nhóm chữ số.

# vim:fileencoding=
4

Một số ví dụ về nghĩa đen của điểm nổi:Operators¶

2.4.7. Văn học tưởng tượng

# vim:fileencoding=
5

Văn học tưởng tượng được mô tả bởi các định nghĩa từ vựng sau:Delimiters¶

Một nghĩa đen tưởng tượng mang lại một số phức với một phần thực là 0,0. Các số phức được thể hiện dưới dạng một cặp số điểm nổi và có cùng một hạn chế trong phạm vi của chúng. Để tạo một số phức với một phần thực khác không, hãy thêm một số điểm nổi vào nó, ví dụ:

# -*- coding:  -*-
56. Một số ví dụ về văn học tưởng tượng:

# vim:fileencoding=
6

2.5. Người điều khiển trong

Các mã thông báo sau đây là người vận hành:

2.6. Phân loại

Các mã thông báo sau đây đóng vai trò là người phân định trong ngữ pháp:

1

https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt

B có nghĩa là gì trong chuỗi python?

Trong Python, ký tự 'B' trước khi một chuỗi được sử dụng để chỉ định chuỗi dưới dạng chuỗi byte byte.Ví dụ: b_str = b'hey tôi là một chuỗi byte 'byte string“. For example: b_str = b'Hey I am a byte String'

\\ có nghĩa là gì trong Python?

Trong các chuỗi Python, dấu gạch chéo ngược "\" là một nhân vật đặc biệt, còn được gọi là nhân vật "Escape".Nó được sử dụng để thể hiện các ký tự khoảng trắng nhất định: "\ t" là một tab, "\ n" là một dòng mới và "\ r" là một sự trở lại vận chuyển.the backslash "\" is a special character, also called the "escape" character. It is used in representing certain whitespace characters: "\t" is a tab, "\n" is a newline, and "\r" is a carriage return.

In có nghĩa là gì trong Python?

Bên trong một phạm vi ký tự, \ B đại diện cho ký tự backspace, để tương thích với các chữ viết của Python.backspace character, for compatibility with Python's string literals.

.T làm gì trong Python?

Chức năng t () trong Python.gấu trúc.Khung dữ liệu.Thuộc tính T được sử dụng để chuyển đổi chỉ mục và cột của khung dữ liệu.transpose index and columns of the data frame.