Vì vậy, hãy bắt đầu Định danh trong Python
Mã định danh trong Python là gì?
Chúng ta có thể định nghĩa các định danh trong Python theo một số cách
- Mã định danh là tên do người dùng xác định để đại diện cho một biến, một hàm, một lớp, một mô-đun hoặc bất kỳ đối tượng nào khác
- Nó là một thực thể có thể lập trình trong Python- một thực thể có tên
- Nó là tên được đặt cho các khối xây dựng cơ bản trong một chương trình
Quy tắc đặt tên định danh Python
1. Quy tắc đặt tên Định danh trong Python
Vì vậy, chúng tôi biết Mã định danh Python là gì. Nhưng chúng ta có thể đặt tên cho nó bất cứ điều gì?
Chà, chúng tôi có năm quy tắc phải tuân theo khi đặt tên định danh trong Python
a. Mã định danh Python có thể là sự kết hợp của chữ thường/chữ in hoa, chữ số hoặc dấu gạch dưới. Các ký tự sau là hợp lệ
- Chữ thường [a đến z]
- Chữ hoa [A đến Z]
- Chữ số [0 đến 9]
- Dấu gạch dưới [_]
Một số tên hợp lệ là
- myVar
- biến_3
- this_works_too
b. Mã định danh không thể bắt đầu bằng một chữ số
Một số tên hợp lệ
- _9 cuộc sống
- cuộc sống9
Tên không hợp lệ
- 9 cuộc sống
Mã định danh trong Python – Quy tắc đặt tên
c. Chúng tôi không thể sử dụng các ký hiệu đặc biệt trong tên định danh. một số trong số này là
!
@
#
$
%
.
Mã định danh trong Python – Quy tắc đặt tên trong Python
d. Chúng tôi không thể sử dụng từ khóa làm định danh
Từ khóa là tên dành riêng trong Python và sử dụng một trong số đó làm tên cho mã định danh sẽ dẫn đến Lỗi cú pháp
Mã định danh trong Python – Mã định danh Quy tắc đặt tên
Quy tắc đặt tên trong Mã định danh Python
e. Mã định danh có thể dài bao nhiêu tùy ý bạn. Theo tài liệu, bạn có thể có số nhận dạng có độ dài vô hạn
Tuy nhiên, tiêu chuẩn PEP-8 đặt ra quy tắc rằng bạn nên giới hạn tất cả các dòng tối đa là 79 ký tự
2. Định nghĩa từ vựng trong Mã định danh Python
Để tổng hợp các quy tắc đó về mặt từ vựng, chúng ta có thể nói
- số nhận dạng. = [thư. "_"] [lá thư. chữ số. “_”]* # Nó phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới;
- chữ cái. = chữ thường. chữ hoa #Mọi thứ từ a-z và từ A-Z
- chữ thường. = “a” … “z” #Chữ thường từ a đến z
- chữ hoa. = “A” … “Z” #Chữ hoa từ A đến Z
- chữ số. = “0” … “9” #Integers 0 to 9
Thực tiễn tốt nhất cho định danh trong Python
Mặc dù bắt buộc phải tuân theo các quy tắc, nhưng bạn cũng nên tuân theo một số thực tiễn được đề xuất
- Bắt đầu tên lớp bằng một chữ cái viết hoa, bắt đầu tất cả các định danh khác bằng một chữ cái viết thường
- Bắt đầu định danh riêng bằng dấu gạch dưới [_];
- Đặt __ xung quanh tên của các phương thức ma thuật [sử dụng dấu gạch dưới kép ở đầu và cuối], tránh làm điều này với bất kỳ thứ gì khác.
- Chỉ sử dụng dấu gạch dưới kép hàng đầu khi xử lý xáo trộn
- Thích sử dụng tên dài hơn một ký tự- index=1 tốt hơn i=1
- Sử dụng dấu gạch dưới để kết hợp các từ trong mã định danh, như trong this_is_an_identifier
- Vì Python phân biệt chữ hoa chữ thường nên tên và Tên là hai định danh khác nhau.
- Sử dụng trường hợp lạc đà để đặt tên. Hãy giải tỏa không khí ở đây bằng cách nói trường hợp lạc đà là myVarOne và trường hợp Pascal là MyVarOne
Kiểm tra tính hợp lệ của mã định danh trong Python
Mặc dù thật tuyệt khi tuân theo các quy tắc và hướng dẫn, nhưng chúng tôi có thể kiểm tra tính hợp lệ của mã định danh để chắc chắn. Đối với điều này, chúng tôi sử dụng từ khóa. hàm iskeyword[]
Mô-đun từ khóa cho phép chúng tôi xác định xem một chuỗi có phải là từ khóa hay không. Nó có hai chức năng.
- từ khóa. iskeyword[s]- Nếu s là một từ khóa Python, trả về true
- từ khóa. kwlist- Trả về một chuỗi chứa tất cả các từ khóa mà trình thông dịch hiểu được. Điều này bao gồm cả những thứ chỉ hoạt động khi một số câu lệnh __future__ nhất định có hiệu lực
Quay lại iskeyword[s], nó trả về True nếu chuỗi s là từ khóa dành riêng. Khác, nó trả về Sai. Hãy nhập mô-đun này.
>>> import keyword >>> keyword.iskeyword['_$$_']
đầu ra
Sai
>>> keyword.iskeyword['return']
đầu ra
Thật
Ngoài ra, str. hàm isidentifier[] sẽ cho chúng ta biết nếu một chuỗi là một định danh hợp lệ. Điều này có sẵn kể từ Python 3. 0
>>> '__$$__'.isidentifier[]
đầu ra
Sai
>>> '__99__'.isidentifier[]
đầu ra
Thật
>>> '9lives'.isidentifier[]
đầu ra
Sai
>>> '9.5okay'.isidentifier[]
đầu ra
Sai
Các lớp định danh Python dành riêng
Hãy để chúng tôi nói về các lớp định danh. Một số lớp có ý nghĩa đặc biệt và để xác định chúng, chúng tôi sử dụng các mẫu dấu gạch dưới đầu và cuối
1. Dấu gạch dưới hàng đầu đơn [_*]
Chúng tôi sử dụng số nhận dạng này để lưu trữ kết quả của lần đánh giá cuối cùng trong trình thông dịch tương tác
Kết quả này được lưu trữ trong mô-đun __builtin__. Nhập mô-đun dưới dạng từ nhập mô-đun * không nhập các biến riêng tư như vậy.
2. Dấu gạch dưới kép ở đầu và ở cuối [__*__]
Đây là những tên do hệ thống xác định [bởi trình thông dịch]
Một lớp có thể thực hiện các hoạt động được gọi bằng cú pháp đặc biệt bằng cách sử dụng các phương thức có tên đặc biệt
Hãy coi đây là một nỗ lực nạp chồng toán tử theo kiểu Pythonic. Một phương pháp đặc biệt/ kỳ diệu như vậy là __getitem__[]. Khi đó, x[i] tương đương với x. __getitem__[i].
Trong tương lai gần, bộ tên của lớp này bằng Python có thể được mở rộng
3. Dấu gạch dưới kép hàng đầu [__*]
Đây là những tên riêng của lớp. Trong một định nghĩa lớp, trình thông dịch viết lại [mangles] một tên như vậy để tránh xung đột tên giữa các thuộc tính riêng của lớp cơ sở và lớp dẫn xuất
Sau khi học xong đừng quên làm Quiz on Python Identifiers để kiểm tra lại kiến thức của mình nhé. Ngoài ra, hãy thử các câu hỏi phỏng vấn như dưới đây
Câu hỏi phỏng vấn Python về định danh trong Python
- Định danh trong Python là gì?
- Mã định danh hợp lệ trong Python là gì?
- Giải thích định danh với ví dụ
- Các lớp định danh Python dành riêng là gì?
- Giải thích một số quy tắc đặt tên định danh trong Python
Phần kết luận
Do đó, trong phần Định danh Python này, chúng ta đã thảo luận về ý nghĩa của Định danh trong Python
Hơn nữa, chúng tôi đã học các quy tắc đặt tên và các phương pháp hay nhất trong Mã định danh Python. Ngoài ra, chúng tôi đã thảo luận về các lớp dành riêng trong Mã định danh Python.