官术网_书友最值得收藏!

Access modifiers in Python

In Python, we don't have access modifiers in the same way as we do in Java and C++. There is a partial workaround however, which  can be used to indicate which variables are public, protected, and private. The word indicate is important here; Python doesn't prevent the usage of protected or private members, it just indicates which members are which. Let's take a look at an example. Create  a class called AccessSpecifiers.py:

The preceding example shows us how access specifiers can be used in Python. Any variable that would be simply declared within a class is public by default, as we declared self.public. Protected variables in Python are declared by prefixing them with an underscore (_)  as seen in line 5, self._protected. But it must be noted that this does not prevent anyone from using them, as can be seen at line 23, in which we are using a protected member outside of the class. Private members in Python are declared by prefixing them with double underscore (__), as can be seen at line 6, self.__private. Again, however, there is nothing to prevent this member from being used outside the class. The way to access them is a little different, however; for private members, a specific convention is followed if they are to be accessed outside the class: instance._<className><memberName>. This is called name mangling.

What we have learnt here about access modifiers in Python is that Python does have notations to denote public, private, and protected members of a class, but it doesn't have any way for the members to be used outside their scope, so it's merely for identification purposes.
主站蜘蛛池模板: 临沧市| 凤翔县| 绵阳市| 横山县| 礼泉县| 松滋市| 九台市| 静宁县| 绿春县| 上杭县| 台中县| 冷水江市| 临城县| 荔波县| 新余市| 峨边| 莱西市| 新营市| 张家港市| 五家渠市| 如皋市| 江口县| 巴彦县| 广汉市| 邢台县| 丹东市| 海林市| 海口市| 玉屏| 台中县| 加查县| 德令哈市| 鄂托克前旗| 阿瓦提县| 新闻| 读书| 丹凤县| 赣州市| 平陆县| 聂拉木县| 长丰县|