对象一般是指一个类的实例,具有相关的成员变量和成员函数,在Python中成员变量叫做属性,成员函数叫做方法。
Python中几乎所有的东西都是对象。基本类型是对象,如整数:
a = 10
其属性与方法:
a.real
10
a.conjugate()
10
对象在内存中有一个地址与之对应,这个地址可以用id()函数查看:
id(len)
4514492720
同一个对象的内存地址一致:
b = a
id(b) == id(a)
True
id()函数本身也是对象:
id(id)
4514488128
在Python中,只有一些保留的关键字和符号不是对象。
基本形式为:
class ClassName(ParentClass):
"""class docstring"""
def some_method(self, ...):
return ...
具体规律为:
例如:
class Leaf(object):
"""A leaf falling in the woods."""
pass
其中,pass是一个特殊的关键词,用来占位,表示什么都不做。
新类型Leaf继承了Python中最基本的类型,即object。事实上所有的对象都是object:
isinstance(10, object)
True
isinstance([], object)
True
三引号的部分是对Leaf类的说明文档,可以调用Leaf的.__doc__
属性查看:
Leaf.__doc__
'A leaf falling in the woods.'
Leaf对象的产生:
leaf = Leaf()
在Python里,变量是区分大小写的,因此,leaf和Leaf是不同的变量。
再次调用生成的对象是不同的:
leaf2 = Leaf()
leaf is leaf2
False