Python 类的私有属性和方法

2023-12-13 8:51:44 网络知识 匿名

Python中,通过单下划线”_”来实现模块级别的私有化,一般约定以单下划线”_”开头的变量、函数为模块私有的,也就是说”frommoduleNameimport*”将不会引入以单下划线”_”开头的变量、函数

对于Python中的类属性,可以通过双下划线”__”来实现一定程度的私有化。

_”和”__”的使用更多的是一种规范/约定,不没有真正达到限制的目的:

“_”:以单下划线开头只能允许其本身与子类进行访问,(起到一个保护的作用)

“__”:双下划线的表示的是私有类型的变量。这类属性在运行时属性名会加上单下划线和类名。

“__foo__”:以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()

'''

在Python中,通过单下划线”_”来实现模块级别的私有化,

一般约定以单下划线”_”开头的变量、函数为模块私有的,

也就是说”frommoduleNameimport*”

将不会引入以单下划线”_”开头的变量、函数

'''

importrandom#全部会导入

fromrandomimport*#_Set不会倒入

classAnimal:

_eye=2

__leg=4#共有的

def__init__(self,name,food):

print('正在实例化')

self.name=name

self.food=food

defget_name(self):

print(self.name)

#_”和”__”的使用更多的是一种规范/约定,并没有真正达到限制的目的:

dog._eye=3

#dog._Animal__leg##__默认加一个类名,用来警告

#“__foo__”:以双下划线开头和结尾的(__foo__)

#代表python里特殊方法专用的标识,如__init__()

以上内容为大家介绍了Python类的私有属性和方法,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:瀚银百科。

发表评论: