Hướng dẫn can you use symbols in variable names python? - bạn có thể sử dụng các ký hiệu trong tên biến python không?


Tên biến

Một biến có thể có một tên ngắn (như X và Y) hoặc một tên mô tả hơn (Age, Carname, Total_Volume). Quy tắc cho các biến Python:

  • Một tên biến phải bắt đầu bằng một chữ cái hoặc ký tự dấu gạch dưới
  • Một tên biến không thể bắt đầu với một số
  • Một tên biến chỉ có thể chứa các ký tự alpha-numeric và nhấn mạnh (A-Z, 0-9 và _)
  • Tên biến là nhạy cảm trường hợp (tuổi, tuổi và tuổi là ba biến khác nhau)

Thí dụ

Tên biến hợp pháp:

myvar = "john" my_var = "john" _my_var = "john" myvar = "john" myvar = "john" myvar2 = "john"
my_var = "John"
_my_var = "John"
myVar = "John"
MYVAR = "John"
myvar2 = "John"

Hãy tự mình thử »

Thí dụ

Tên biến hợp pháp:

myvar = "john" my_var = "john" _my_var = "john" myvar = "john" myvar = "john" myvar2 = "john"
my-var = "John"
my var = "John"

Hãy tự mình thử »

Tên biến bất hợp pháp:



2Myvar = "John" My-Var = "John" My Var = "John"

Hãy nhớ rằng các tên biến nhạy cảm trường hợp

Tên biến đa từ

Tên biến với nhiều hơn một từ có thể khó đọc.

Có một số kỹ thuật bạn có thể sử dụng để làm cho chúng dễ đọc hơn:

Trường hợp lạc đà


Mỗi từ, ngoại trừ từ đầu tiên, bắt đầu bằng một chữ cái viết hoa:

myvariablename = "John"

Trường hợp Pascal


Mỗi từ bắt đầu bằng một chữ cái viết hoa:

Myvariablename = "John"

Vỏ rắn



Theo PEP 3131, ký tự đầu tiên của một định danh cần thuộc về ID_Start, phần còn lại của ID_Continue, được định nghĩa như sau:

ID_Start được định nghĩa là tất cả các ký tự có một trong các loại chữ hoa chữ cái chung (LU), chữ thường (ll), titlecase Letters (LT), các chữ cái sửa đổi (LM) và các ký tự mang thuộc tính khác_id_start. Xid_start sau đó đóng tập hợp này theo chuẩn hóa, bằng cách xóa tất cả các ký tự có chuẩn hóa NFKC không có dạng ID_Start ID_Continue* nữa.

ID_Continue được định nghĩa là tất cả các ký tự trong ID_Start, cộng với các nhãn hiệu không định vị (MN), khoảng cách kết hợp các nhãn hiệu (MC), số thập phân (ND), dấu chấm câu (PC) và ký tự mang thuộc tính khác_id_continue. Một lần nữa, XID_Continue đóng bộ này theo NFKC-Normalization; Nó cũng thêm

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
0 để hỗ trợ Catalan.

Đó là một danh sách dài (hiện có khoảng 120.000 ký tự) - may mắn thay, có một dự án hữu ích trên GitHub có chứa danh sách và một tập lệnh để tạo nó.

Trang này liệt kê tất cả các ký tự có giá trị trong tên biến Python 3. Trong Python 2, các 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 cho trang này là trên GitHub, bao gồm tập lệnh được sử dụng để tạo danh sách ký tự.

Các chi tiết đầy đủ trong đó các ký tự Unicode được cho phép được mô tả trong tài liệu.

Được cảnh báo rằng Python luôn áp dụng chuẩn hóa NFKC 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

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

>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
1 bao gồm hai ký tự, chữ nhỏ Latin A (tức là, chữ thường ASCII
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
2, U+0061) và kết hợp giọng nói cấp tính (U+0301). Nhân vật thứ hai, kết hợp giọng cấp tính, không có trong danh sách dưới đây vì nó không có giá trị trong một định danh của chính nó. Tuy nhiên, khi nó tuân theo
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
2, hai ký tự cùng NFKC bình thường hóa thành một ký tự
>>> a = 'á'
>>> len(a)
2
>>> import unicodedata
>>> unicodedata.normalize("NFKC", a)
'á'
>>> len(_)
1
4 (chữ nhỏ Latin A với cấp tính, u+00e1).

Bạn có thể bình thường hóa các chuỗi với Python bằng mô -đun

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

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

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

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 các tên biến. Các ký tự hợp lệ chủ yếu là những nhân vật chủ yếu là những người giống như chữ và dưới chữ số + dấu gạch dưới. Nó không bao gồm những thứ như các biểu tượng toán học (ngoại trừ các chữ cái Hy Lạp vì đó là những 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?

PEP 8 Chỉ định:

Đối với Python 3.0 và hơn thế nữa, chính sách sau đây được quy định cho thư viện tiêu chuẩn (xem PEP 3131): Tất cả các định danh trong thư viện tiêu chuẩn Python phải sử dụng các định danh ASCII-MONY và nên sử dụng các từ tiếng Anh ở bất cứ nơi nào khả thi (trong nhiều trường hợp, Bệnh tật và kỹ thuật Các thuật ngữ được sử dụng mà không phải tiếng Anh). Ngoài ra, chuỗi chữ và ý kiến ​​cũng phải ở ASCII. Ngoại lệ duy nhất là (a) các trường hợp kiểm tra kiểm tra các tính năng không phải ASCII và (b) tên của các tác giả. Các tác giả có tên không dựa trên bảng chữ cái Latin (Latin-1, ISO/IEC 8859-1 bộ ký tự) 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 khán giả 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 là không dễ dàng. Nó thường chỉ có thể 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à điều hành bởi những người nói cùng ngôn ngữ với bạn và có thể dễ dàng gõ các ký tự bạn đang sử dụng, có lẽ sẽ ổn khi làm như vậy. Một khả năng sẽ 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 nào (ví dụ:

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

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

Danh sách ký tự Unicode

Có hai loại ký tự hợp lệ, các nhân vật bắt đầu và tiếp tục. Các nhân vật bắt đầu có thể ở bất cứ đâu trong một định danh. Chúng tương ứng với các chữ cái của người Viking và nhấn mạnh vào các định danh ASCII-OLD. Các nhân vật tiếp tục của người Viking không thể là nhân vật đầu tiên trong một định danh. Chúng tương ứng với các số của người Viking theo cách cũ của ASCII-chỉ. Một định danh hợp lệ có thể là bất kỳ ký tự bắt đầu nào của người Viking, theo sau là bất kỳ số lượng ký tự bắt đầu của BEPLE hoặc các nhân vật tiếp tục.

Các trang có thể được xem ở đây:

Cảnh báo: Các trang khá lớn và có thể gây ra vấn đề trong một số trình duyệt.

Bắt đầu ký tự (Raw Markdown) (raw markdown)

Tiếp tục ký tự (Raw Markdown) (raw markdown)

Bạn có thể sử dụng các ký hiệu trong tên biến?

Khoảng thời gian, dấu gạch dưới và các ký tự $, #và @ có thể được sử dụng trong các tên biến. Ví dụ: A. _ $@#1 là một tên biến hợp lệ.. For example, A. _$@#1 is a valid variable name.

Những ký tự nào không thể được sử dụng trong tên biến?

Cụ thể, không gian không được phép trong các tên biến, vì tên biến phải là một từ duy nhất. Tên biến có thể không bắt đầu bằng một chữ số hoặc dấu gạch dưới, và có thể không kết thúc bằng dấu gạch dưới. Double nhấn mạnh không được phép trong tên biến.

Chúng ta có thể sử dụng _ làm tên biến trong Python không?

Độc lập duy nhất nhấn mạnh _ là một ký tự hợp lệ cho một mã định danh Python, vì vậy nó có thể được sử dụng như một tên biến.Theo Python Doc, định danh đặc biệt _ được sử dụng trong trình thông dịch tương tác để lưu trữ kết quả của đánh giá cuối cùng.Nó được lưu trữ trong mô -đun tích hợp.Đây là một ví dụ._ is a valid character for a Python identifier, so it can be used as a variable name. According to Python doc, the special identifier _ is used in the interactive interpreter to store the result of the last evaluation. It is stored in the builtin module. Here is an example.

Bạn có thể sử dụng _ trong tên biến không?

Một tên biến phải bắt đầu bằng một chữ cái hoặc ký tự dấu gạch dưới (_) Một tên biến không thể bắt đầu bằng một chữ số.Một tên biến chỉ có thể chứa các ký tự âm alpha và dấu gạch dưới (A-Z, A-Z, 0-9 và _) Tên biến có thể nhạy cảm với trường hợp (tuổi, tuổi và tuổi là ba biến khác nhau)A variable name can only contain alpha-numeric characters and underscores ( a-z, A-Z , 0-9 , and _ ) Variable names are case-sensitive (age, Age and AGE are three different variables)