Trong python, một chức năng hoặc biến riêng của mô-đun được đặt tên _foo
. Nếu nó là riêng tư đối với một lớp thì đó là tên __foo
, Các cơ chế đằng sau cách thức hoạt động của các lớp này là khác nhau, tuy nhiên điều đó ít liên quan đến câu hỏi.
Tại sao, trong quá trình thiết kế ngôn ngữ Python là các ký tự gạch dưới kép được chọn cho các thành viên riêng của lớp? Tại sao không gạch dưới đơn, như cho mô-đun riêng? Tại sao không phải là một số nhân vật khác được nhìn thấy nhiều hơn? (Phân biệt giữa _ và __ là khó).
Tôi chắc chắn có một số lịch sử ở đây, nhưng tôi gặp khó khăn khi tìm thấy nó, bởi vì tất cả những gì tôi tìm thấy là các hướng dẫn cho tôi biết ý nghĩa của nó, hơn là tại sao nó lại như vậy.