一、类基础
1、类的定义
class <类名>:
<其他语句>
class <类名>(父类名):
<其他语句>
2、类的使用
如果直接使用类名修改其属性,那么将影响已经实例化的对象。
二、类的属性和方法
1、类的属性:
如果类的属性是以两条下划线开始则该属性为类的私有属性,不能在类外部被访问。
私有属性的命名形式: __privateAttrs
如果在类内部的方法中使用类的私有属性,则应该以如下方式调用。
self.__privateAttrs
2、类的方法
在类的内部使用def关键字可以为类定义一个方法。与函数定义不同的是,类的方法必须包含参数 'self ’ ,
且'self'必须为第一个参数。和类的私有属性命名相同,类的私有方法名也要以两条下划线开始。
在python中有一类以两条下划线开始并且以两条下划线结束的类方法,称之为专有方法。
__init__ 构造函数,生成对象时调用
__del__ 析构函数,释放对象时调用
__add__ 加运算
__mul__ 乘运算
__cmp__ 比较运算
__repr__ 打印、转换
__setitem__ 按照索引赋值
__getitem__ 按照索引获取值
__len__ 获得长度
__call__ 函数调用
三、类的继承
1)单继承
2)多重继承
五)重载
1)方法的重载实际上就是在类中使用def关键字重载父类的方法。如果重载父类中的方法,但又需要
在类中使用父类的该方法,可以使用父类名加‘ .’加方法名的形式调用。
- # -*- coding:utf-8 -*-
- class Mylist:
- __mylist = []
- def __init__(self,*args):
- self.__mylist = []
- for arg in args:
- self.__mylist.append(arg)
- def __add__(self,n): #重载‘+’运算符
- for i in range(0, len(self.__mylist)):
- self.__mylist[i] = self.__mylist[i] + n
- def show(self):
- print self.__mylist
- >>> import chongzai
- >>> L = chongzai.Mylist(1,2,3,4,5)
- >>> L.show()
- [1, 2,3,4,5]
- >>> L + 2
- >>> L.show()
- [3, 4,5,6,7]
- >>>