python中如何定义类

Python029

python中如何定义类,第1张

一、类定义

class <类名>:

<语句>

类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性

如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象

类的私有属性:

__private_attrs  两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问

在类内部的方法中使用时 self.__private_attrs

类的方法

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

私有的类方法

__private_method 两个下划线开头,声明该方法为私有方法,不能在类地外部调用

在类的内部调用slef.__private_methods

类的专有方法:

__init__  构造函数,在生成对象时调用

__del__   析构函数,释放对象时使用

__repr__ 打印,转换

__setitem__按照索引赋值

__getitem__按照索引获取值

__len__获得长度

__cmp__比较运算

__call__函数调用

__add__加运算

__sub__减运算

__mul__乘运算

__div__除运算

__mod__求余运算

__pow__称方

示例:

[python] view plain copy

#类定义

class people:

类Class:用来描述具体相同的属性和方法的对象的集合。定义了该集合中每个对象所共有的属性和方法。对象是类的示例。

类定义完成时(正常退出),就创建了一个 类对象。基本上它是对类定义创建的命名空间进行了一个包装;我们在下一节进一步学习类对象的知识。原始的局部作用域(类定义引入之前生效的那个)得到恢复,类对象在这里绑定到类定义头部的类名(例子中是 ClassName )。

基本语法

Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。

以上内容参考:百度百科-Python

在Python中,通过在属性名称前面添加两个下划线(__)来声明该属性为私有属性。例如:

class MyClass:

def __init__(self):

self.__private_attribute = 0

def set_private_attribute(self, value):

self.__private_attribute = value

def get_private_attribute(self):

return self.__private_attribute

-----------------------------------end----------------------------------

在这个例子中,__private_attribute 属性是私有属性,无法在类外部直接访问。你只能通过 set_private_attribute 和 get_private_attribute 方法来访问它。

在Python中,私有属性不能直接访问,但是它们可以被访问。如果你真的想要阻止类外部的访问,可以将属性名称改为一个不常用的名称,比如以一个下划线开头(例如,_private_attribute)。这样做会提醒其他程序员这个属性是私有的,但是并不会阻止类外部的访问。

还有其他问题吗?