Nov-02-2023, 07:43 AM
(This post was last modified: Nov-02-2023, 07:43 AM by Gribouillis.)
(Nov-01-2023, 11:50 PM)sonus89 Wrote: Correct?It is not correct. The underscore in
_protected_member
is more of a gentlemen's agreement between programmers. It plays no role in the Python language itself and any function can access these "protected" members. It is every programmer's responsibility to avoid accessing these members in their code.>>> class A: ... def _protected(self): ... print("I'm not protected") ... >>> a = A() >>> a._protected() I'm not protected >>>The double underscore
__private_member
only hides the name by mangling it, but it remains accessible, so that encapsulation is not enforced>>> class A: ... def __protected(self): ... print("I'm not protected") ... >>> a = A() >>> a._A__protected() I'm not protected