09_python的类与对象
1.python中类和对象的基本概念
(1)python的类
- 类是对一类具有相同的特征和行为的事物的一个统称,是抽象的,不能直接使用
- 类的特征被称为属性
- 类的行为被称为方法
(2)python的对象
- 对象是由类创建出来的具体的某一事物
- 对象是由哪个创建的就拥有这个类的属性和方法
2.python类的设计
(1)类设计概述
使用面向对象的编程思想进行开发时,首先应该分析需求,确定程序中应该包含的类。在设计类时需要考虑三点:
- 类名:使用大驼峰法命名。
- 类的属性(特征)
- 类的方法(行为)
(2)类设计基本语法(只有方法,没有属性)
class 类名:
def 方法1(self, 参数列表):
pass
def 方法2(self, 参数列表):
pass
(3)创建对象语法
对象变量 = 类名()
(4)引用
- 创建对象时,变量仍然是一个引用(存储了对象实际内存的地址),也就是变量引用了对象数据。
- 在使用print函数打印一个变量名时,默认打印的是这个变量里存的地址(十六进制)
(5)为对象设置属性
在类的外部,使用对象名.属性=属性值
,便可以为对象增加属性,但是不推荐这样做,程序容易出错。
(6)self参数
self
相当于java中的this
,谁(哪个对象)调用了这个方法,这个self
就是谁的引用。- 调用方法时,程序员不需要传递
self
参数
(7)访问对象的属性和调用对象的方法
- 在类内部(类的方法内部)可以通过使用
self.
访问对象的属性和调用对象的方法 - 在类的外部可以使用
对象名.
访问属性和方法
3.dir内置函数
python是完全面向对象的编程语言,其中所有的数据都是对象,包括之前遇见过的变量、函数、数据。
验证方法:
- 在
标识符/数据
后输入一个.
,然后按下TAB
键,iPython 会提示该对象能够调用的方法列表
。 - 使用内置函数
dir
传入标识符 / 数据
,可以查看对象内的所有属性及方法。
下述__方法名__
格式是Python提供的内置方法/属性,常用的内置方法:
__new__() #创建对象时,会被自动调用
__init__() #对象被初始化时,会被自动调用
__del__() #对象被从内存中销毁前,会被自动调用
__str__() #返回对象的描述信息,print函数输出使用
注意:
- 如果希望对象在销毁之前做一些事情,可以考虑使用__del__()方法。一个对象的生命周期就是从创建到销毁的这段时间内。
- 在对象的生命周期内,可以访问对象属性,调用对象的方法。
- 当打印一个对象的引用时,默认打印的是这个对象的地址,如果想要打印这个对象的相关内容信息,可以使用__str__()方法改造这个对象。该方法必须返回一个字符串。
4.对象的创建过程
当变量=类名()
创建一个对象时,会自动执行一下操作:
- 为对象分配内存空间(创建对象)
- 为对象设置初始值(调用初始化方法__init__())
5.定义属性、私有属性、私有方法、初始化
(1)为对象定义属性
- 在
__init__()
方法内部使用self.属性名 = 属性的初始值
就可以定义属性
(2)创建对象时设置初始值
在开发中,如果希望在 创建对象的同时,就设置对象的属性,可以对__init__()
方法进行 改造
- 把希望设置的属性值,定义成
__init__(self,参数1,参数2...)
方法的参数 - 在方法内部使用 self.属性 = 形参 接收外部传递的参数
- 在创建对象时,使用
类名(参数1, 参数2...)
调用
(3)私有属性和私有方法的定义
- 实际开发时有些方法或属性不希望被外部对象访问到,只在本对象内部使用,可以将这些方法或属性设置为私有方法和私有属性。
- 定义方式:
在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法。