【Python学习之七】类和对象

环境
  虚拟机:VMware 10
  Linux版本:CentOS-6.5-x86_64
  客户端:Xshell4
  FTP:Xftp4
  python3.6

一、面向对象编程
1、概念
(1)面向对象编程(OOP),是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向对象是一种对现实世界理解和抽象的方法。
面向过程是一件事“该怎么做“,面向对象是一件事“该让谁来做”,然后那个“谁”就是对象,他要怎么做是他自己的事,反正最后一群对象合力能把事做好就行了。
面向对象三个特性:继承,封装,多态。
(2)类:具有相同属性和行为事物的统称:类(Class) 由3个部分构成:类的名称:类名;类的属性:一组数据;类的方法:允许对进行操作的方法 (行为)
(3)对象:某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的,可以是直接使用的;
(4)类和对象关系:类就是创建对象的模板;

2、定义类
格式:class 类名: 方法列表
(1)定义类时有2种:新式类和经典类,下面的Car为经典类,如果是Car(object)则为新式类;
(2)类名的命名规则按照"大驼峰";

#定义一个Car类
class Car:
    def move(self):
        print('车正在移动...')
    def getCarInfo(self):
        print('车油耗数:%d, 颜色%s'%(self.oil, self.color))

3、创建对象
当创建一个对象时,就是用一个模子,来制造一个实物
格式:对象名 = 类名()

#创建对象     
bmw=Car()
#给对象bmw添加属性
bmw.color='白色'
bmw.oil=30
#调用对象的方法
bmw.getCarInfo()
bmw.move()
print(bmw.color)
print(bmw.oil)

(1)创建实例对象,一定在内存中有一块空间存放对象的数据信息。此时也可以通过实例对象bmw来访问属性或者方法,bmw是一个对象,它拥有属性(数据)和方法(函数);

(2)第一次使用bmw.color = '白色'表示给bmw这个对象添加属性,如果后面再次出现bmw.color = xxx表示对属性进行修改;

4、self
类定义的方法中的参数self,可以理解为自己,可以把self当做C++中类里面的this指针一样理解,就是对象自身的意思。
(1)某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可;
(2)self可以不写self,方法中至少有一个参数,第一个参数表示当前对象。名字随便取,但是习惯都写self;

5、__init__()方法:初始化函数,用来完成一些默认的设定;该方法在创建对象后,就立刻被默认调用了。

(1)__init__()方法,在创建一个对象时默认被调用,不需要手动调用;
(2)__init__(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y);
(3)__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去;

示例:

class Car:
    def __init__(self):
        self.color='白色'
        self.wheel=4
        self.oil=10
                
    def move(self):
        print('车正在移动...')
        
    def getCarInfo(self):
        print('车油耗数:%d, 颜色%s'%(self.oil, self.color))

初始化函数使用入参:

class Car:
    def __init__(self,color,wheel,oil):
        self.color=color
        self.wheel=wheel
        self.oil=oil
                
    def move(self):
        print('车正在移动...')
        
    def getCarInfo(self):
        print('车油耗数:%d, 颜色%s'%(self.oil, self.color))

bmw=Car('黑色',4,10)
print('汽车颜色=%s,轮子数量=%d,油耗数量=%d'%(bmw.color,bmw.wheel,bmw.oil))

参考:
Python学习笔记

猜你喜欢

转载自www.cnblogs.com/cac2020/p/10815231.html
今日推荐