网络编程
位置:首页>> 网络编程>> Python编程>> python中单下划线(_)和双下划线(__)的特殊用法

python中单下划线(_)和双下划线(__)的特殊用法

作者:BRYANT_2019  发布时间:2022-08-09 22:23:22 

标签:python,单下划线,下划线

函数使用单下划线_开头

使用单下划线(_)开头的函数_func不能被模块外部以: from module import *形式导入。

但可以用:from module import _func形式单独导入。

类属性和类方法使用单下划线_开头

_开头为保护类型的属性和方法,仅允许类内部和子类访问,类实例无法访问此属性和方法。

类属性和类方法使用双下划线__开头

__开头为私有类型属性和方法,仅允许类内部访问,类实例和派生类均不能访问此属性和方法。

所以双划线比单划线权限更严格。

补充说明

对于__开头的属性和方法如果派生类一定要访问,使用单下划线+基类名+双下划线开头的属性和方法的形式,
且双下划线开头的属性和方法后面最多只能以一个单下划线结束,否则也无法访问。


class BaseCls:
 def __init__(self, name, age, nick_name):
   self.name = name
   self.__nick_name_ = nick_name # __nick_name后面最多以一个_结束,否则通过基类名混淆的方式也无法访问了。
   self.age = age

class SubCls(BaseCls):
 def __init__(self, name, age, addr, nick_name):
   super().__init__(name, age, nick_name)
   self.addr = addr
   self.a_nick_name = self._BaseCls__nick_name_

总结

以上所述是小编给大家介绍的python中单下划线(_)和双下划线(__)的特殊用法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://www.cnblogs.com/bryant24/archive/2019/08/29/11429653.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com