创建一个类:
最简单的一个类
在python中类的命名必须以字母或者下画线开头,并且只能包含字母、下画线和数字。另外推荐使用驼峰命名方式(大写字母开头,随后的任意一个单词都以大写字母开头)
python最简单的一个类的创建
- class MyFirstClass:
- pass
类的属性和方法
在类中我们还可以为其添加属性和方法
- class MyFirstClass:
- def __init__(self):
- self.x = 1
- self.y = 1
- def show(self):
- print(self.x,self.y)
- c = MyFirstClass()
- c.show()
其中self.x和self.y为该类的属性,show()为该类的方法
类中的方法的定义方式和普通函数相同,都是以关键字def开头,但是有一点不同的是类中的方法有一个必需的参数,通常这个参数被命名为self,但是我们实例化类后调用show方法的时候并没有传入参数,这是因为python自动帮我们做了,当我们调用c对象的show方法的时候,python会自动将c对象传给show方法了。因此下面这个调用方式运行结果是一样的。
- c = MyFirstClass()
- MyFirstClass.show(c)
其实类中的方法本质上就是一个函数,我们可以在外部调用也可以在类中调用,例如:
- class Point:
- def __init__(self, x ,y ):
- self.x = x
- self.y = y
- def reset(self):
- self.x = 0
- self.y = 0
- self.show()
- def show(self):
- print(self.x, self.y)
- p = Point(1,1)
- p.reset()
运行结果为:0 0
类的初始化
一般的编程语言中都有一个叫构造函数的特殊方法,当它被创建的时候会创建和初始化对象,这一点Python会有些许不同,python有一个构造函数和一个初始化函数,一般情况下构造函数很少被用到,除非是想实现一些特别的操作,所以在此主要说一下类的初始化。我们在之前的示例中有一个方法名为__init__(),其实这个方法就是给类进行初始化操作的。当我们实例化的时候会首先执行__init__()方法,因此当__init__()方法需要传递参数的时候我们在实例化的时候同样需要传递参数,不然会报错。
由于方法本质上就是函数,当我们不想传递参数的时候也可以同函数的操作一样使用默认参数。
- def __init__(self, x=0, y=0):
- self.x = x
- self.y = y
面向对象三个基本特征
面向对象编程的三个基本特征分别为:封装、继承、多态,下面一一说明。
继承
继承就是让一个类获得另一个类的属性和方法,在Python中所有的类都是object类的子类,只是在实际的使用中我们并不需要表明,python在后台自己帮我们做了
原文:https://blog.csdn.net/FanMLei/article/details/79982750