python是一门面向对象的语言。一直在说面向对象,那么什么是面向对象呢?依我拙见,面向对象是一种思考问题的方式,在将事物转化为程序时将它们都看成是一个对象,这个对象有自己的属性和行为。比如说一只狗是一个对象,它有颜色(属性),它会叫(行为)。面向对象的思想是以事物自身为中心思考问题,这种方式很符合人的思维,也更有助于降低由事物到程序的复杂性。
明明是类的初体验,为什么要说对象呢?因为没有类就没有对象,两者的关系十分密切。比如说人类是一个类,你我他都是人类的对象。电脑是一个类,我的笔记本就是电脑的一个对象。通俗的可以理解为类是某种东西,不特指某一个,而对象就是这种东西中具体的某一个。
说了这么多废话,类到底长什么样呢?
类使用class关键词来定义,class关键词后面加一个类的名字,然后以冒号结尾。类通常包含属性和方法,属性是一些变量,方法就是函数。定义好类就可以创建对象了,创建对象很简单类名后面加上小括号(小括号里可以加参数,这取决于__init__函数)。
如图测试代码中创建了一个Person对象,调用类的方法和属性通过对象后面加‘.’然后加方法或属性。知道创建类和对象以及对象的方法和属性的调用已经对类有了直观的认识了。关于类的基本使用还需要知道以下几点:
1. __init__是类的初始化函数,每个类都有这个函数,创建对象时由类自动调用。
2.类的每一个函数第一个参数都是调用函数的对象本身,通常用self。在调用函数时可以省略。如上一个测试代码中__init__和run函数都有self但在调用时都没有传递self的实际参数。
3.类的属性和方法有公有和私有之分,私有的以两个下划线开头。私有属性和方法在类的外部都不能直接访问。