千锋教育-做有情怀、有良心、有品质的职业教育机构

Python 类的私有属性和方法

来源:千锋教育
发布时间:2023-11-07 19:07:21
分享

在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培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python 可变参数 在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。我们以数学题为例子,给定一组数字a,b,c……,请计算a2+b2+c2+
  • python 关键字参数 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。1defpers
  • python 命名关键字参数 对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数。至于到底传入了哪些,就需要在函数内部通过kw检查。如果要限制关键字参数的名字,就可以用命名关键字参数,例如,仍以person()函数为例,
  • python 用于序列操作的常用内置函数 len(列表):返回列表中的元素个数,同样适用于元组、字典、集合、字符串等。max(列表)、min(列表):返回列表中的最大或最小元素,同样适用于元组、字典、集合、range对象等。sum(列表):对
  • python 学习十阶段 第一阶段:Python基础知识—核心Python开发环境布置程序的构成变量、标识符、布尔运算、字符串机制、分支语句、逻辑表达式;局部变量和全局变量函数的参数详解、函数调用关系、函数高级序列控制语句函数
  • 用Python实现GB与BIG5码的转换 GB码与BIG5是中国人常用的两种编码集。GB码为大陆使用,BIG5为香港与台湾使用。每个编码都由2个字符构成,高字节在前,低字节在后。下面我将使用Python实现的编码转换的程序向大家作一个介绍。关