Computer >> Máy Tính >  >> Lập trình >> Python

Ý nghĩa của tiền tố gạch dưới đơn với các biến Python là gì?

Dấu gạch dưới đơn

Các tên, trong một lớp, với dấu gạch dưới ở đầu về cơ bản là để chỉ ra cho các lập trình viên khác biết rằng thuộc tính hoặc phương thức được dự định là riêng tư.

Bạn nên sử dụng dấu gạch dưới đơn cho các biến nửa riêng tư và dấu gạch dưới kép cho các biến hoàn toàn riêng tư.

Để trích dẫn PEP-8 -

_single_leading_underscore:chỉ số "sử dụng nội bộ" yếu. Ví dụ. from M import * không nhập các đối tượng có tên bắt đầu bằng dấu gạch dưới.

Ví dụ

Đoạn mã sau cho thấy sự khác biệt giữa tiền tố gạch dưới kép và đơn

class MyClass():
     def __init__(self):
             self.__fullrprivate = "World"
             self._semiprivate = "Hello"
mc = MyClass()
print mc._semiprivate
print mc.__fullprivate

Đầu ra

Traceback (most recent call last):
Hello
File "C:/Users/TutorialsPoint1/~_1.py", line 8, in <module>
print mc.__fullprivate
AttributeError: MyClass instance has no attribute '__fullprivate'