700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python中的类属性和类方法(静态方法 私有属性和私有方法)

Python中的类属性和类方法(静态方法 私有属性和私有方法)

时间:2019-09-20 06:05:35

相关推荐

Python中的类属性和类方法(静态方法 私有属性和私有方法)

一、类属性和类方法

类的方法

在类的内部,使用 def 关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数

代码块:

class Student(object):count = 0def __init__(self,name):self.name = nameStudent.count += 1@classmethoddef Show_Student_count(awda):print('学生数量为 %d' %(awda.count))student1 = Student('小明')Student.Show_Student_count()

程序及运行结果:

二、静态方法

代码块:

class Cat(object):@staticmethoddef call():print('喵')Cat.call()

程序及运行结果:

三、私有属性、私有方法

类的私有属性

__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs。类的私有方法

__private_method:两个下划线开头,声明该方法为私有方法,不能在类的外部调用。在类的内部调用 self.__private_methods

代码块:

class Women():def __init__(self,name):self.name = nameself.__age = 18def __secret(self):print('%s的年龄是%d' %(self.name,self.__age))lily = Women('lily')print(lily.name)print(lily.__age)# lily.__secret()

程序及运行结果:

注意:Python不允许实例化的类访问私有数据,但你可以使用 object._className__attrName( 对象名._类名__私有属性名 )

单下划线、双下划线、头尾双下划线说明:

__ foo__: 定义的是特殊方法,一般是系统定义名字 ,类似 __ init __() 之类的。

_foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *

__foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。