发布时间:2022-05-06 09:44:54 人气:230 作者:多测师
在Python中,通过单下划线”_”来实现模块级别的私有化,一般约定以单下划线”_”开头的变量、函数为模块私有的,也就是说”from moduleName import *”将不会引入以单下划线”_”开头的变量、函数
对于Python中的类属性,可以通过双下划线”__”来实现一定程度的私有化。
_”和” __”的使用 更多的是一种规范/约定,不没有真正达到限制的目的:
“_”:以单下划线开头只能允许其本身与子类进行访问,(起到一个保护的作用)
“__”:双下划线的表示的是私有类型的变量。这类属性在运行时属性名会加上单下划线和类名。
“__foo__”:以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()
'''
在Python中,通过单下划线”_”来实现模块级别的私有化,
一般约定以单下划线”_”开头的变量、函数为模块私有的,
也就是说”from moduleName import *”
将不会引入以单下划线”_”开头的变量、函数
'''
import random #全部会导入
from random import* #_Set 不会倒入
class Animal:
_eye = 2
__leg = 4 #共有的
def __init__(self,name,food):
print('正在实例化')
self.name = name
self.food = food
def get_name(self):
print(self.name)
#_”和” __”的使用 更多的是一种规范/约定,并没有真正达到限制的目的:
dog._eye = 3
#dog._Animal__leg ##__ 默认加一个类名,用来警告
# “__foo__”:以双下划线开头和结尾的(__foo__)
#代表python里特殊方法专用的标识,如 __init__()
以上内容为大家介绍了Python 类的私有属性和方法,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/