python访问权限
时间: 2023-08-17 18:16:14 浏览: 89
Python中有一些访问权限的机制来限制对类的成员的访问。其中包括私有属性和私有方法。私有属性和私有方法是以双下划线开头的成员。当我们尝试在类外部访问私有属性或私有方法时,会出现访问权限错误。例如,当我们尝试访问一个私有属性时,会报错"AttributeError: 'Student' object has no attribute '__name'"。\[1\]
为了在类外部访问私有属性或私有方法,我们可以使用以下两种方法:
1. 为类增加一个公共方法来访问私有属性或私有方法。这是推荐的方法,通过在类中定义一个公共方法来访问私有成员。这样可以保持封装性,并且可以在类外部通过调用公共方法来访问私有成员。\[2\]
2. 使用"实例名._类名__变量名"的方式来访问私有属性或私有方法。这种方式是通过在实例名前加上"_类名__"来访问私有成员。虽然这种方式可以访问私有成员,但不推荐使用,因为它破坏了封装性。\[2\]
例如,对于一个类Student,如果它有一个私有属性__name,我们可以通过在类中定义一个公共方法来访问该私有属性。另外,我们也可以使用"s._Student__name"的方式来访问私有属性。\[3\]
#### 引用[.reference_title]
- *1* *3* [关于python中的访问限制](https://blog.csdn.net/weixin_43439761/article/details/129700417)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Python:类的访问权限](https://blog.csdn.net/qq_39314932/article/details/80726608)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文