对象与方法
1. dir()函数
python
中函数、变量、数据都是对象,采用 dir(对象名)
可以查看对象所具有的方法列表。
2. 引用
分别使用类创建两个一样但独立建立的对象(对象名不同),其也是两个完全独立的对象,它们两个在内存中分别独自占用不同的内存地址,对象名关联到该地址,可以用print(对象名)
查看对象在内存中的地址。
对象的内置方法和属性
1. 对象初始化方法__init__()
当使用对象名 = 类名()
创建一个对象时,python解释器会自动:
- 为该对象在内存中分配空间;
- 自动调用初始化方法
__init__()
设置属性的初始值(无论__init__()
方法又没用显示地包含在类定义中)。 __init__()
方法是对象的一个内置方法,专门用来定义一个类有那些属性, 在__init__()
方法中的语句会在创建对象时自动执行。- 如果开始不知道给属性赋什么值,则可以在初始化属性时使用关键字
None
,即:
self.属性名 = None
2.销毁对象时自动方法__del__()
当一个对象从内存中删除前,会自动调用__del__()
方法.
对象的生命周期:
- 一个对象从创建类名开始,生命周期开始,创建时会自动调用
__init__()
方法; - 在对象生命周期内,可以访问对象属性,调用对象方法;
- 一个对象的
__del__()
方法一旦被调用,对象将被销毁。
3.内置方法__str__()
在python
中用print()
输出对象变量时,默认输出该变量由那个类创建以及该对象在内存中的地址,如果希望使用print()
函数输出对象时自定义打印内容,可自定义内置__str__()
方法。使用__str__()
方法时必须返回字符串。
示例:
class Cat():
def __init__(self, new_name):
self.name = new_name
print('%s cat is comming.' % self.name)
def __del__(self):
print('%s cat has gone.' % self.name)
def __str__(self):
return "It's a cat named [%s]" % self.name
# creat an object
tom = Cat('Tom')
print(tom)