PHP前端开发

什么是python类属性?

百变鹏仔 3小时前 #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