类基础(class)

python是面向对象的,而面向对象编程的2个非常重要的概念就是:类和对象(如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在这里不做过多描述)。

对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了一个新的概念:类。而类的具体”实现“就是:对象。

1.定义类&实现类

类的定义和对象的实现的基本语法格式如下:

1 class CSharpCoder(): #定义类、经典类方式定义
2     'C#程序员' #CSharpCoder类的描述信息
3     pass
4 class PythonCoder( ): #定义类、新式类方式定义
5     'Python程序员' #PythonCoder类的描述信息
6     pass
7 cp_cder = CSharpCoder() #实现CSharpCoder类的对象
8 py_cder = PythonCoder() #实现PythonCoder类的对象

说明:

1.python中定义类有两种方式:新式类经典类

2.规范要求类的命名方式采用:大驼峰。

3.pass空语句,是为了保持程序结构的完整性,不做任何事情,一般用做占位语句。

4.类的注释和函数的注释作用及语法是一样的。

2.定义属性

类中定义属性的示例如下:

1 class CSharpCoder():
2     name = ''
3 cp_cder = CSharpCoder()
4 cp_cder.name = 'Jonins'
5 print(cp_cder.name)

\"\"

3.定义方法

类中定义方法的示例如下:

1 class CSharpCoder():
2     name = 'k'
3     def get_name(self):
4         print(self.name)
5 cp_cder = CSharpCoder()
6 cp_cder.name = 'Jonins'
7 cp_cder.get_name()

\"\"

python编写类的内置函数时,第一个参数都是self

因为当类初始化时会得到实例,self就是用于代表初始化得到的实例。在python设计之初,完全可以考虑似于 中的this或C#隐藏掉实例让人无感知(除非需要用到this)。

但是python的哲学是“Explicit is better than implicit”因此python类中的方法需要一个self参数代表实例。

4.构造函数(init)

python中的的构造函数需要用到:__init__,使用示例如下:

 1 class CSharpCoder():
 2     name = 'k'
 3     def  __init__(self,name):
 4         print('实例化对象中...')
 5         self.age = 18
 6         self.name = name
 7     def get(self):
 8         print(self.age)
 9         print(self.name)
10 cp_cder = CSharpCoder('Jonins')
11 cp_cder.get()

\"\"

说明:

1.__init__()方法,在实例化一个对象时默认被调用的初始化方法,不需要手动调用。
2.__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去。
3.构造函数即实例化对象的一个标准,当__init__()方法指定self参数以外的参数时,外部实例化对象时必须传递所需的参数,否则报错。

5.析构函数(del)

析构函数,在释放对象时使用,需要用到__del()__,示例如下:

1 class CSharpCoder():
2     def  __init__(self):
3         print('实例化对象中...')
4     def __del__(self):
5         print('释放对象中...')
6 cp_cder = CSharpCoder()
7 del cp_cder #删除对象

\"\"

析构函数在对象被删除时会自动调用。

6.类专有函数

__init__ :构造函数,在生成对象时调用
__del__ :析构函数,释放对象时使用
__repr__ :打印,转换
__setitem__ :按照索引赋值
__getitem__:按照索引获取值
__len__:获得长度
__cmp__:比较运算
__call__:函数调用
__add__:加运算
__sub__:减运算
__mul__:乘运算
__div__:除运算
__mod__:求余运算
__pow__:乘方

收藏 打印