目标
1、dir 内置函数
2、类的定义
3、方法中的 self 参数
4、初始化方法
一、dir 内置函数
1、在标识符/数据后输入一个 . ,然后按下 TAB 键,ipython会提示该对象能够调用的方法列表。
2、使用内置函数 dir 传入标识符/数据,可以查看对象内的所有属性和方法。常用的内置方法:①__new__:创建对象时,会被自动调用。
②__init__:对象被初始化时,会被自动调用。
③__del__:对象从内存中销毁时,会被自动调用。
④__str__:返回对象的描述信息,print 函数输出使用。
二、类的定义
**语法为:
class 类名:
def 方法1(self, 参数列表):
pass
def 方法2(self, 参数列表):
pass
三、创建对象
第一个面向对象程序:
小猫爱吃鱼,小猫爱喝水。
class Cat:
def eat(self):
print('小猫爱吃鱼')
def drink(self):
print('小猫爱喝水')
Tom = Cat()
Tom.eat()
Tom.drink()
输出为:
小猫爱吃鱼
小猫爱喝水
四、方法中的 self 参数
给Tom对象增加属性:
1、直接在外部增加属性(不推荐使用)
Tom.name = 'TOM'
print(Tom.name)
输出为:
TOM
2、self 理解
哪一个对象调用的方法,self 就是哪一个对象的引用。
class Cat:
def eat(self):
print('%s爱吃鱼'%self.name)
def drink(self):
print('%s爱喝水'%self.name)
Tom = Cat()
Tom.name = '汤姆'
Tom.eat()
Tom.drink()
输出为:
汤姆爱吃鱼
汤姆爱喝水
五、初始化方法以及__str__、__del__方法
当使用类名()创建对象时,会自动执行以下操作:
1、为对象在内存中分配空间–创建对象。
2、为对象的属性设置初始值–初始化方法__init__,是专门用来定义一个类中具有哪些属性的方法。
class Cat:
def __init__(self,new_name):
self.name = new_name
def eat(self):
print('%s爱吃鱼'%self.name)
def drink(self):
print('%s爱喝水'%self.name)
Tom = Cat('汤姆')
Tom.eat()
Tom.drink()
输出为:
汤姆爱吃鱼
汤姆爱喝水
3、__str__和__del__方法
class Cat:
def __init__(self, new_name):
self.name = new_name
#返回print函数打印对象名时想输出的结果,且__str__必须返回一个字符串
def __str__(self):
return 'hello %s'%self.name
#返回对象被销毁时执行结果
def __del__(self):
print('hello world')
Tom = Cat('汤姆')
print(Tom)
输出为:
hello 汤姆
hello world