0
0
Lập trình
Flame Kris
Flame Krisbacodekiller

Quy tắc đặt tên trong Python: Hướng dẫn chi tiết

Đăng vào 5 ngày trước

• 4 phút đọc

Giới thiệu

Trong lập trình Python, quy tắc đặt tên là một yếu tố quan trọng giúp mã nguồn trở nên rõ ràng và dễ hiểu hơn. Việc tuân thủ các quy tắc này không chỉ giúp bạn viết mã sạch sẽ mà còn giúp các lập trình viên khác dễ dàng đọc và bảo trì mã của bạn. Bài viết này sẽ hướng dẫn chi tiết về các quy tắc đặt tên trong Python, bao gồm cách dùng dấu gạch dưới và cách quy ước đặt tên cho biến, hàm và lớp.

1. Quy tắc đặt tên cho lớp

Tên lớp trong Python nên sử dụng PascalCase (CapWords). Mỗi từ trong tên lớp bắt đầu bằng chữ hoa mà không có dấu gạch dưới giữa các từ. Ví dụ:

python Copy
class MyClass:
    pass

class MyFirstClass:
    pass

2. Quy tắc đặt tên cho biến và hàm

Tên biến và hàm nên sử dụng lower_snake_case, tức là các từ được nối với nhau bằng dấu gạch dưới và tất cả đều viết thường. Ví dụ:

python Copy
my_variable = 'abc'
my_function():
    return

Ví dụ:

python Copy
def my_function():
    pass

3. Quy tắc đặt tên cho hằng số

Tên hằng số nên sử dụng UPPER_SNAKE_CASE, tức là tất cả các chữ cái đều viết hoa và các từ được ngăn cách bằng dấu gạch dưới. Ví dụ:

python Copy
PI = 3.14159
E = 2.71828

4. Quy tắc đặt tên cho module và package

Tên module nên ngắn gọn, viết thường và có thể dùng dấu gạch dưới nếu cần thiết để cải thiện khả năng đọc. Ví dụ:

python Copy
my_module.py
my_first_module.py

Tên package cũng nên ngắn gọn và viết thường, có thể dùng dấu gạch dưới khi cần thiết. Ví dụ:

python Copy
my_package
my_first_package

5. Dấu gạch dưới trong tên

5.1 Dấu gạch dưới đứng đầu

  • Dấu gạch dưới đơn (_abc): Chỉ ra rằng thuộc tính (biến, hàm, lớp) đó là riêng tư nhưng vẫn có thể truy cập từ bên ngoài lớp.
  • Dấu gạch dưới đôi (__abc): Chỉ ra rằng thuộc tính đó là riêng tư và không thể truy cập từ bên ngoài lớp.
  • Dấu gạch dưới đôi và đứng đầu và cuối (__abc__): Đây là các thuộc tính đặc biệt mà Python sử dụng, như __init__, __str__, v.v.

5.2 Dấu gạch dưới đứng cuối

Dấu gạch dưới đứng cuối (abc_) được sử dụng để tránh xung đột tên với các định danh đã tồn tại. Ví dụ:

python Copy
class MyClass:
    _var = "_var"            # (Chấp nhận)
    __var = "__var"          # (Không chấp nhận)
    var_ = "var_"            # (Chấp nhận)

    def _func(self): pass    # (Chấp nhận)

6. Thực hành tốt nhất

  • Thống nhất: Giữ cho quy tắc đặt tên nhất quán trong toàn bộ dự án để mọi người đều dễ dàng theo dõi.
  • Rõ ràng và cụ thể: Tên biến, hàm, và lớp nên mô tả chính xác chức năng của chúng.

7. Những cạm bẫy thường gặp

  • Không nên sử dụng các từ khóa của Python: Tránh sử dụng các từ khóa như def, class, if, else, v.v. làm tên biến hay hàm.
  • Tránh tên quá ngắn hoặc mơ hồ: Tên như x, y không nên được sử dụng trừ khi trong ngữ cảnh rõ ràng.

8. Mẹo tối ưu hiệu suất

  • Sử dụng tên ngắn gọn nhưng có nghĩa: Điều này giúp cải thiện khả năng đọc mã mà không làm mất đi ý nghĩa.
  • Tránh sử dụng dấu gạch dưới khi không cần thiết: Điều này có thể làm mã trở nên rối rắm và khó đọc hơn.

9. Khắc phục sự cố

  • Lỗi khi truy cập thuộc tính riêng tư: Nếu bạn gặp lỗi khi cố gắng truy cập thuộc tính riêng tư, hãy kiểm tra xem bạn có đang sử dụng đúng dấu gạch dưới hay không.

10. Kết luận

Quy tắc đặt tên trong Python là một phần không thể thiếu trong việc viết mã chất lượng. Bằng cách tuân thủ các quy tắc này, bạn có thể tạo ra mã nguồn dễ đọc, dễ bảo trì và dễ hiểu hơn. Hãy áp dụng những quy tắc này vào dự án của bạn ngay hôm nay!

Câu hỏi thường gặp (FAQ)

1. Tại sao nên sử dụng quy tắc đặt tên trong Python?
Quy tắc đặt tên giúp mã nguồn rõ ràng và dễ hiểu hơn cho bản thân và các lập trình viên khác.

2. Làm thế nào để đặt tên cho các thuộc tính riêng tư trong lớp?
Sử dụng dấu gạch dưới đơn hoặc đôi để chỉ ra rằng thuộc tính đó là riêng tư.

3. Tên biến nên dài bao nhiêu?
Tên biến nên đủ ngắn để dễ đọc nhưng đủ dài để mô tả rõ chức năng của nó.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào