什么是python类属性?
在这篇文章之中我们来了解一下关于类的知识,有些朋友可能是刚刚接触到python这一编程语言,对于python类属性这一方面不是特别的了解,但是没关系接下来这篇文章将会来带大家来学习一下python类属性方法这一方面的知识,好了,废话不多说我们开始进入文章开始学习吧。
类的私有属性
__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用或直接访问。在类内部的方法中使用时 self.__private_attrs。
类的方法
在类的内部,使用 def 关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数。
立即学习“Python免费学习笔记(深入)”;
类的私有方法
__private_method:两个下划线开头,声明该方法为私有方法,不能在类的外部调用。在类的内部调用 self.__private_methods。
实例如下:
#!/usr/bin/python# -*- coding: UTF-8 -*- class JustCounter: __secretCount = 0 # 私有变量 publicCount = 0 # 公开变量 def count(self): self.__secretCount += 1 self.publicCount += 1 print self.__secretCount counter = JustCounter()counter.count()counter.count()print counter.publicCountprint counter.__secretCount # 报错,实例不能访问私有变量
Python 通过改变名称来包含类名:
Traceback (most recent call last): File "test.py", line 17, in <module> print counter.__secretCount # 报错,实例不能访问私有变量AttributeError: JustCounter instance has no attribute '__secretCount'</module>
Python不允许实例化的类访问私有数据,但你可以使用 object._className__attrName( 对象名._类名__私有属性名 )访问属性,参考以下实例:
#!/usr/bin/python# -*- coding: UTF-8 -*-class Runoob: __site = "www.runoob.com" runoob = Runoob()print runoob._Runoob__site
执行如上的实例之后输出如下:
www.runoob.com