01/10/2018, 11:15
Hỏi về khai báo định danh (identifier) trong Python kiểu _a __a hay __a__
Xin chào mọi người! Em mới học Python. Mọi người cho em hỏi là khi định danh trong Python mà mình sử dụng gạch dưới kiểu _a __a hay __a__ thì nó có ý nghĩa gì? Có gì khác nhau? Cái này là để người đọc code hiểu hay để chương trình nhận biết ạ? Nó có phải gần giống Access Modifier trong Java không ạ? Em xin cảm ơn!
Bài liên quan





Đầu tiên mình sẽ nói về một cái dấu
_. Đây là một biến đặc biệt trong Python có vai trò giữ giá trị vừa mới được tính toán, được ghi rất rõ trên docs của Python khi bạn đọc tới mấy cái phần liên quan đến số. Ví dụLưu ý: Khi chưa có cái giá trị gì, thì biến
_chưa được khởi tạo đâu.Thế nên, đôi lúc người ta dùng biến với tên
_để lấp vô chỗ trống để không có lỗi đồng thời coi như giá trị rác. Ví dụCòn trường hợp biến, class, method mà bắt đầu bằng
_sẽ được coi làprivate. Ví dụThì lúc bạn import như sau
Lưu ý: Khi bạn import theo kiểu này thì không phải private nhé
Còn với trường hợp nó có dấu
_ở cuối cùng, thường là tránh các keyword có sẵn nhưNếu tên thuộc tính của class bắt đầu bằng 2 dấu
__thì nó là private ngay trong đó luônTrường hợp nữa là nó được bắt đầu bằng
__2 dấu, và kết thúc cũng__là special attribute. Một vài ví dụMột trường hợp khác đó là dùng
_để làm cho số dễ đọc hơn.Cũng có thể dùng cách này để convert bin, hex
Còn với bình thường, tên biến, tên hàm được đặt theo kiểu
abc_xyz_mnptheo chuẩn PEP8Mình biết tới vậy thôi
Cảm ơn anh! Rất chi tiết và có cả ví dụ dễ hiểu.