Các ký tự đặc biệt có được phép làm biến trong Python không?

Trang này liệt kê tất cả các ký tự hợp lệ trong Python 3 tên biến. Trong Python 2, tên biến chỉ có thể chứa các ký tự ASCII a-z, A-Z, 0-9 và _, nhưng trong Python 3, một bộ ký tự Unicode lớn hơn nhiều được cho phép

Mã nguồn của trang này có trên GitHub, bao gồm tập lệnh được sử dụng để tạo danh sách ký tự

Chi tiết đầy đủ về các ký tự Unicode được phép được mô tả trong

Được cảnh báo rằng Python luôn áp dụng chuẩn hóa cho các ký tự. Do đó, hai ký tự riêng biệt thực sự có thể tạo ra cùng một tên biến. Ví dụ

>>> ª = 1 # FEMININE ORDINAL INDICATOR (U+00AA)
>>> a # LATIN SMALL LETTER A (i.e., ASCII lowercase 'a', U+0061)
1

Quá trình chuẩn hóa cũng kết hợp các dấu, do đó, tên hợp lệ có thể chứa các ký tự không có bên dưới. Ví dụ:

1>>> print(one)
21
3>>>
7 bao gồm hai ký tự, CHỮ NHỎ LATIN A (i. e. , ASCII chữ thường
1>>> print(one)
21
3>>>
8, U+0061) và KẾT HỢP DẤU CHÍNH (U+0301). Ký tự thứ hai, COMBINING ACUTE ACCENT, không có trong danh sách bên dưới vì bản thân ký tự này không hợp lệ trong mã định danh. Tuy nhiên, khi nó theo sau
1>>> print(one)
21
3>>>
8, hai ký tự NFKC cùng nhau sẽ chuẩn hóa thành một ký tự duy nhất
1>>> print(one)
21
3>>>
0 (CHỮ NHỎ LATIN A VỚI ACUTE, U+00E1)

Bạn có thể chuẩn hóa chuỗi bằng Python bằng mô-đun

1>>> print(one)
21
3>>>
1

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1

Bảng dưới đây liệt kê các ký tự chuẩn hóa thành các ký tự khác, nhưng lưu ý rằng các tổ hợp ký tự khác như kết hợp dấu trọng âm có thể không được liệt kê bên dưới nhưng vẫn có thể chuẩn hóa thành ký tự được liệt kê bên dưới

Ngoài ra, các ký tự Unicode không có trong danh sách này không thể được sử dụng trong tên biến. Các ký tự hợp lệ chủ yếu là những ký tự “giống như” chữ và số + dấu gạch dưới. Nó không bao gồm những thứ như ký hiệu toán học (ngoại trừ các chữ cái Hy Lạp vì đó là các chữ cái) hoặc biểu tượng cảm xúc

>>> ∫x = 1
  File "", line 1
    ∫x = 1
     ^
SyntaxError: invalid character in identifier
>>> 💩 = 'Python 2'
  File "", line 1
    💩 = 'Python 2'
    ^
SyntaxError: invalid character in identifier

Tôi có nên sử dụng các ký tự này trong mã Python của mình không?

chỉ định

Đối với Trăn 3. 0 trở lên, chính sách sau được quy định cho thư viện tiêu chuẩn (xem PEP 3131). Tất cả các mã định danh trong thư viện chuẩn Python PHẢI sử dụng các mã định danh chỉ ASCII và NÊN sử dụng các từ tiếng Anh bất cứ khi nào khả thi (trong nhiều trường hợp, chữ viết tắt và thuật ngữ kỹ thuật được sử dụng không phải tiếng Anh). Ngoài ra, chuỗi ký tự và nhận xét cũng phải ở dạng ASCII. Các ngoại lệ duy nhất là (a) các trường hợp thử nghiệm kiểm tra các tính năng không phải ASCII và (b) tên tác giả. Các tác giả có tên không dựa trên bảng chữ cái Latinh (bộ ký tự latin-1, ISO/IEC 8859-1) PHẢI cung cấp phiên âm tên của họ trong bộ ký tự này

Các dự án nguồn mở với đối tượng toàn cầu được khuyến khích áp dụng chính sách tương tự

Vấn đề chính là đối với nhiều người, việc gõ các ký tự không phải ASCII không dễ dàng. Nó thường chỉ có thể thực hiện được bằng cách sao chép và dán. Nếu bạn chắc chắn 100% rằng mã của bạn sẽ chỉ được đọc và chạy bởi những người nói cùng ngôn ngữ với bạn và có thể dễ dàng nhập các ký tự bạn đang sử dụng, bạn có thể làm như vậy. Một khả năng là cung cấp bí danh cho các tên là một phần của API công khai để người dùng có thể chọn sử dụng tên nào (ví dụ:

1>>> print(one)
21
3>>>
2)

Nếu bạn quyết định sử dụng các ký tự không phải ASCII cho tên biến, hãy lưu ý các vấn đề chuẩn hóa được mô tả ở trên. Bạn nên luôn chèn tên biến vào tệp nguồn bằng cách sử dụng dạng chuẩn hóa của chúng

Có hai loại ký tự hợp lệ, ký tự “bắt đầu” và “tiếp tục”. Các ký tự “Bắt đầu” có thể ở bất kỳ đâu trong mã định danh. Chúng tương ứng với “chữ cái và dấu gạch dưới” trong mã định danh chỉ ASCII cũ. Ký tự “Continue” không được là ký tự đầu tiên trong mã định danh. Chúng tương ứng với “số” theo cách cũ chỉ dùng ASCII. Mã định danh hợp lệ có thể là bất kỳ ký tự “bắt đầu” nào theo sau bởi bất kỳ số lượng ký tự “bắt đầu” hoặc “tiếp tục” nào

Python là một ngôn ngữ tuyệt vời cho nhiều nhiệm vụ. Nó thường được sử dụng cho các công việc quản trị hệ thống cũng như xây dựng website, xử lý dữ liệu, văn bản. Nó cũng đang được định hình là ngôn ngữ được lựa chọn cho Machine Learning (ML), tận dụng các mô-đun mạnh mẽ để thực hiện toán học và để trực quan hóa

Giống như cơ sở của hầu hết các ngôn ngữ lập trình, bạn có thể sử dụng các biến trong Python để giữ và thao tác các giá trị. Hướng dẫn này chỉ cho bạn kiến ​​thức cơ bản về tạo và sử dụng biến trong Python

Để hưởng lợi tốt nhất từ ​​hướng dẫn này, bạn có thể muốn làm theo và chạy các mã ví dụ xuyên suốt hướng dẫn này. Các ví dụ mã được nhập vào trình thông dịch REPL của Python. Nếu hệ thống của bạn chưa có trình thông dịch python, bạn có thể tải xuống từ đây. Chỉ cần chọn phiên bản phù hợp với hệ điều hành của bạn và làm theo hướng dẫn cài đặt. Hướng dẫn này nhắm mục tiêu Python phiên bản 3. 6 và mã mẫu đã được thử nghiệm đối với phiên bản đó

Biến

Biến giữ giá trị. Trong Python, các biến không yêu cầu khai báo chuyển tiếp - tất cả những gì bạn cần làm là cung cấp một tên biến và gán cho nó một số giá trị

Trình thông dịch Python hiển thị cho bạn lời nhắc giống như thế này. ______39 . Mỗi dòng bạn nhập vào trình thông dịch được lấy từng dòng một, được trình thông dịch phân tích cú pháp và nếu dòng đó hoàn tất, thì cũng được thực thi.

Nếu bạn nhập

1>>> print(one)
21
3>>>
0 vào trình thông dịch Python và nhấn "Enter", trình thông dịch sẽ chỉ hiển thị cho bạn một dòng nhắc mới.

1>>> one = 1
2>>>

con trăn

Dòng nhắc mới

1>>> one
21
3>>>
9 trống. Nhưng Python thực sự đã làm được một vài điều.

  • Một biến có tên
    1>>> print(one)
    21
    3>>>
    2
    đã được tạo.
  • Giá trị
    1>>> print(one)
    21
    3>>>
    3
    đã được gán cho biến
    1>>> print(one)
    21
    3>>>
    2
    .

Điều này không rõ ràng từ đầu ra dòng trống. Nhưng trình thông dịch có thể hiển thị cho bạn giá trị của bất kỳ biến nào nếu bạn chỉ cần nhập tên biến và nhấn enter

1>>> one
21
3>>>

con trăn

Giá trị 1 được hiển thị vì Python đánh giá dòng và báo cáo giá trị được trả về. Trước đây, dòng chứa một tuyên bố. Biến

1>>> print(one)
21
3>>>
2 đã được gán một giá trị. Hoạt động đó đã đánh giá một câu lệnh, vì vậy không có kết quả nào được in ra. Một cách rõ ràng hơn để in giá trị của một biến là sử dụng hàm
1>>> print(one)
21
3>>>
6
.

1>>> print(one)
21
3>>>

con trăn

Hãy tạo một biến khác có tên

1>>> print(one)
21
3>>>
7 và gán giá trị cho nó
1>>> print(one)
21
3>>>
8
:

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
6

con trăn

Ở đây chúng ta đã tạo một biến và gán cho nó một giá trị chuỗi. Lưu ý tên biến

1>>> print(one)
21
3>>>
7 . Nó được chọn để chứa một lời chào nào đó. Tất nhiên, Python không có cách nào để nói rằng giá trị chuỗi
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
60
thực sự là một lời chào. Một biến là, tốt, biến. Chúng ta có thể gán lại một biến sau. Giá trị được lưu trữ trong một biến chỉ đơn giản là giá trị cuối cùng được gán cho nó.

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
9

con trăn

Giá trị ban đầu

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
61 bị mất sau lần gán thứ hai cho giá trị
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
62
was evaluated. The current value of the variable remains
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
63
trong suốt thời gian của phiên trừ khi được chỉ định một giá trị mới sau đó.

Cả hai tên biến

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
64 và
1>>> print(one)
21
3>>>
7
đều bao gồm các ký tự . Python cho phép bạn đặt tên biến theo ý thích, miễn là tên tuân theo các quy tắc sau.

  • Tên biến có thể chứa chữ cái, chữ số (0-9) hoặc ký tự gạch dưới
    >>> a = 'á'
    >>> len(a)
    2
    >>> import unicodedata
    >>> unicodedata.normalize("NFKC", a)
    'á'
    >>> len(_)
    1
    
    66
    .
  • Tên biến phải bắt đầu bằng một chữ cái từ A-Z hoặc dấu gạch dưới
    >>> a = 'á'
    >>> len(a)
    2
    >>> import unicodedata
    >>> unicodedata.normalize("NFKC", a)
    'á'
    >>> len(_)
    1
    
    66
    ký tự. Chữ thường hoặc chữ in hoa đều được chấp nhận.
  • Tên biến có thể không phải là một từ dành riêng trong Python

Theo các quy tắc trên, tất cả các phép gán biến này là hợp pháp

>>> ∫x = 1
  File "", line 1
    ∫x = 1
     ^
SyntaxError: invalid character in identifier
>>> 💩 = 'Python 2'
  File "", line 1
    💩 = 'Python 2'
    ^
SyntaxError: invalid character in identifier
7

con trăn

Tất cả các tên biến trên đều chấp nhận được. Nhưng chỉ vì chúng được chấp nhận không có nghĩa là bạn nên sử dụng chúng. Cộng đồng Python đã phát triển thêm các quy ước đặt tên nên được tuân theo. Ví dụ: mặc dù số nhận dạng một ký tự là hoàn toàn hợp pháp, bạn không nên sử dụng các ký tự

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
68 (chữ thường el) hoặc
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
69
(uppercase oh) or
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
90
(uppercase eye). This is because in some fonts these are hard to distinguish from the digits 1 (one) and 0 (zero). For more on variable naming, .

Các tên biến sau đây không được chấp nhận. Nếu bạn cố gắng sử dụng chúng, python sẽ báo lỗi và không có biến nào được tạo

Một ký tự đầu tiên không phải là dấu gạch dưới hoặc một chữ cái từ A-Z hoặc a-z sẽ gây ra lỗi. Ví dụ ký tự backtick (`)

1>>> one
21
3>>>
1

con trăn

Mã định danh bắt đầu bằng một chữ số là không hợp pháp

1>>> one
21
3>>>
2

con trăn

Mã định danh chứa khoảng trắng không hợp pháp

1>>> one
21
3>>>
3

con trăn

Ngoài ra, chúng ta không thể sử dụng các từ dành riêng làm tên biến. Trong python, từ ______191 là một từ dành riêng. Do đó, nhiệm vụ sau đây sẽ thất bại.

1>>> one
21
3>>>
5

con trăn

Trong tất cả các trường hợp không thành công ở trên, trình thông dịch Python đã báo lỗi và từ chối thực hiện việc gán hoặc tạo biến. Bạn có thể lưu ý rằng ký tự dấu mũ ____192 trỏ đến vị trí khác trong mã định danh sai. Điều này là do nỗ lực của trình thông dịch để khớp số nhận dạng với một cú pháp có thể chấp nhận được. Nhưng dù thế nào thì kết quả cũng như nhau. tên biến không hợp lệ dẫn đến lỗi.

Để tham khảo, danh sách từ dành riêng của Python bao gồm

và khẳng định lớp phá vỡ tiếp tục defdelelelse ngoại trừ Sai cuối cùng cho từ toàn cầuifnhập inislambdaNonenonlocalnotorpassraisereturnTruetrytrong khi có năng suất

Biến và Loại

Python không yêu cầu bạn khai báo biến. Bạn không cần phải nói trước với Python rằng bạn định dành chỗ cho một biến. Tất cả những gì bạn làm là gán một giá trị cho biến. Nhưng điều này không có nghĩa là bạn có thể sử dụng một biến mà không cần Python phân bổ nó trước. Ví dụ: dòng sau sẽ không thành công trong phiên của tôi

1>>> one
21
3>>>
0

con trăn

Lỗi này xuất hiện do không có mã định danh có tên

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
93 theo như Python có thể biết. Python sẽ vui vẻ chấp nhận một biến có tên đó, nhưng nó yêu cầu bất kỳ biến nào đang được sử dụng phải được gán sẵn.

Hành động gán cho một biến phân bổ tên và không gian cho biến chứa giá trị

Chúng ta đã thấy rằng chúng ta có thể gán cho biến một giá trị số cũng như giá trị chuỗi (văn bản). Chúng tôi cũng thấy rằng chúng tôi có thể gán lại một biến, cung cấp cho nó một giá trị mới thay thế bất kỳ giá trị nào trước đó mà nó chứa

Python theo dõi giá trị của một biến bằng cách cho phép bạn truy cập nó thông qua tên biến. Python cũng theo dõi loại giá trị được gán cho một biến. Để biết loại giá trị là gì, bạn có thể sử dụng hàm

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
94 tích hợp sẵn. Trong các ví dụ sau, chúng tôi sử dụng hàm
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
94
để hiển thị loại giá trị.

1>>> one
21
3>>>
1

con trăn

Trong mỗi ví dụ trên, Python suy ra loại giá trị bằng cách phân tích cú pháp phần bên phải của phép gán và quyết định loại tương ứng. Sự tồn tại của dấu thập phân trong giá trị

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
96 đã khiến Python gán loại float trong khi số trần
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
97< .
produced an int.

Python cũng hỗ trợ các kiểu dữ liệu boolean. Boolean được gán giá trị

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
98 hoặc
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
99
(cả hai đều .

Kiểu dữ liệu số nguyên cũng được tạo khi bạn sử dụng chữ thập lục phân hoặc bát phân hoặc nhị phân. Để nhập một giá trị ở dạng bát phân, hãy thêm ____270 vào trước số đó. Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm . Để nhập một giá trị là hệ thập lục phân, hãy thêm

>>> ∫x = 1
  File "", line 1
    ∫x = 1
     ^
SyntaxError: invalid character in identifier
>>> 💩 = 'Python 2'
  File "", line 1
    💩 = 'Python 2'
    ^
SyntaxError: invalid character in identifier
71 vào trước giá trị đó. Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có . Đối với một chữ nhị phân, tiền tố có
>>> ∫x = 1
  File "", line 1
    ∫x = 1
     ^
SyntaxError: invalid character in identifier
>>> 💩 = 'Python 2'
  File "", line 1
    💩 = 'Python 2'
    ^
SyntaxError: invalid character in identifier
72
.

1>>> one
21
3>>>
2

con trăn

Nếu bạn muốn đảm bảo giá trị của một biến là kiểu int, bạn có thể sử dụng hàm dựng sẵn của lớp

>>> ∫x = 1
  File "", line 1
    ∫x = 1
     ^
SyntaxError: invalid character in identifier
>>> 💩 = 'Python 2'
  File "", line 1
    💩 = 'Python 2'
    ^
SyntaxError: invalid character in identifier
73 .

1>>> one
21
3>>>
3

con trăn

Câu lệnh trên đã gán biến kiểu class int cho

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
64 . Để lưu trữ số
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
96
thành giá trị số nguyên,
>>> ∫x = 1
  File "", line 1
    ∫x = 1
     ^
SyntaxError: invalid character in identifier
>>> 💩 = 'Python 2'
  File "", line 1
    💩 = 'Python 2'
    ^
SyntaxError: invalid character in identifier
73
.

Tương tự, bạn có thể sử dụng hàm xây dựng lớp

>>> ∫x = 1
  File "", line 1
    ∫x = 1
     ^
SyntaxError: invalid character in identifier
>>> 💩 = 'Python 2'
  File "", line 1
    💩 = 'Python 2'
    ^
SyntaxError: invalid character in identifier
77 để đảm bảo rằng một số trần - được biểu thị ở dạng thập phân, hex hoặc bát phân - .

1>>> one
21
3>>>
4

con trăn

Các loại trộn

Chúng tôi đã thấy rằng các giá trị thực sự có một loại và Python theo dõi giá trị biến cũng như loại. Cuối cùng mặc dù - loại này có nghĩa là gì?

Ví dụ: bạn có thể muốn chia giá trị của một biến cho 3

1>>> one
21
3>>>
5

con trăn

Nhưng toán tử chia không hoạt động trên chuỗi. Vì vậy, bạn không thể chia chuỗi

>>> ∫x = 1
  File "", line 1
    ∫x = 1
     ^
SyntaxError: invalid character in identifier
>>> 💩 = 'Python 2'
  File "", line 1
    💩 = 'Python 2'
    ^
SyntaxError: invalid character in identifier
78 thành 3.

1>>> one
21
3>>>
6

con trăn

Lỗi mà Python nêu ra là do toán tử

>>> ∫x = 1
  File "", line 1
    ∫x = 1
     ^
SyntaxError: invalid character in identifier
>>> 💩 = 'Python 2'
  File "", line 1
    💩 = 'Python 2'
    ^
SyntaxError: invalid character in identifier
79 (được sử dụng để chia số) không được xác định cho các loại chuỗi và . Python biết loại được gán cho biến
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
64
, đó là cách nó đưa ra quyết định đó. Mặc dù bạn có thể xác định các toán tử của riêng mình trên bất kỳ loại nào bạn muốn, nhưng vấn đề vẫn là Python cần hệ thống loại để ánh xạ các giá trị, toán tử và biến tới hàm bên trong chính xác. Python được gõ động, nhưng dù sao cũng được gõ.

Loại Không có

Nhiều ngôn ngữ lập trình hỗ trợ khái niệm

1>>> one
21
3>>>
11 . Null được coi là một giá trị đặc biệt biểu thị "không phải là giá trị", một giá trị cho phép chúng ta biểu thị giá trị "trống" hoặc không xác định. Phiên bản của Python đó là từ khóa
1>>> one
21
3>>>
12
, được hỗ trợ bởi lớp
1>>> one
21
3>>>
13
. Note that assigning a variable to ____312 sẽ không loại bỏ biến đó. Không gian vẫn được phân bổ cho biến - chỉ giá trị được đặt thành
1>>> one
21
3>>>
12
. Nếu bạn muốn xóa biến hoàn toàn, bạn có thể sử dụng câu lệnh
1>>> one
21
3>>>
16
.

1>>> one
21
3>>>
7

con trăn

Trong ví dụ trên, sau khi xóa biến, mọi nỗ lực sử dụng biến đó đều tạo ra lỗi cho biết biến đó không (hoặc không còn) được xác định

Kiểm tra bình đẳng loại

Trong khi chức năng

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
94 cho phép chúng tôi thu thập loại biến chứa. Khi so sánh các số, chúng ta có thể cần kiểm tra xem chúng có giống nhau không - cả giá trị và loại của chúng đều khớp nhau. Nhà điều hành ____318 cung cấp việc kiểm tra danh tính như vậy. Các giá trị số có thể được so sánh bằng nhau bằng cách sử dụng phép kiểm tra đẳng thức
1>>> one
21
3>>>
19
nhưng không khớp về loại của chúng. Hãy xem xét ví dụ này.

1>>> one
21
3>>>
8

con trăn

Trong ví dụ trên,

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
64 được gán giá trị số nguyên
1>>> print(one)
21
3>>>
3
and
1>>> one
21
3>>>
22
is assigned the float value
1>>> one
21
3>>>
23
. When tested using the equality match ____319 , kết quả là
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
98
. Tuy nhiên, khi kiểm tra bằng cách sử dụng toán tử định danh đối tượng
1>>> one
21
3>>>
18
, kết quả là
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
99
.

Python cho phép bạn xác định các toán tử của riêng mình trên các đối tượng của mình, vì vậy bạn có thể thêm hỗ trợ cho cả toán tử đẳng thức và nhận dạng trên các lớp của mình. Tuy nhiên, hành vi mặc định của hầu hết các lớp không phải là số là hai phiên bản của một đối tượng sẽ không đánh giá bằng hoặc giống hệt nhau

Chuỗi hơi khác một chút. Các chuỗi trong Python là các loại tham chiếu không thay đổi. Để làm phức tạp hơn, hai chuỗi chứa cùng một chuỗi ký tự chính xác và được so sánh để nhận dạng đối tượng có thể tạo ra ____198 hoặc

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
99.This is due to internal implementation details and may vary across Python interpreters.

Tóm lược

Tóm tắt. Python cho phép bạn tạo các biến đơn giản bằng cách gán giá trị cho biến mà không cần khai báo biến trước. Giá trị được gán cho một biến xác định loại biến. Các loại khác nhau có thể hỗ trợ một số hoạt động mà những loại khác thì không. Nếu bạn muốn kiểm soát loại biến được gán, bạn có thể sử dụng hàm tạo của lớp cụ thể để gán giá trị, chẳng hạn như ____273 hoặc

>>> ∫x = 1
  File "", line 1
    ∫x = 1
     ^
SyntaxError: invalid character in identifier
>>> 💩 = 'Python 2'
  File "", line 1
    💩 = 'Python 2'
    ^
SyntaxError: invalid character in identifier
77. Bare numbers expressed without a decimal point - or as hex or octal literals - will produce an integer. You can get the class type of a variable by using the
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
94
hoặc kiểm tra xem một loại có khớp với một số loại cụ thể hay không bằng cách sử dụng
1>>> one
21
3>>>
18
operator.

Các biến Python cung cấp một cách đơn giản và năng động để tạo các biến, nhưng vẫn duy trì một hệ thống kiểu mạnh mẽ để đảm bảo hoạt động an toàn trên dữ liệu của bạn

Các ký tự đặc biệt có được phép trong biến không?

Dấu $ không được phép làm ký tự đầu của biến do người dùng định nghĩa. Dấu chấm, dấu gạch dưới và các ký tự $, # và @ có thể được sử dụng trong tên biến . Ví dụ, A. _$@#1 là tên biến hợp lệ.

Những ký tự đặc biệt nào không được phép trong Python?

Chúng tôi không thể sử dụng các ký hiệu đặc biệt như . , @, #, $, % v.v.

Các biến bất hợp pháp trong Python là gì?

Tên biến không hợp lệ trong Python . Ví dụ dưới đây tạo ra lỗi cú pháp vì chúng tôi đang cố bắt đầu một tên biến bằng một số. 4. Chúng tôi không thể sử dụng các từ khóa dành riêng cho Python làm tên biến. Variable names cannot start with a number. The example below generates a syntax error because we are trying to start a variable name with a number. 4. We cannot use Python reserved keywords as variable names.