引入
作为面向对象的语言,python自然具有“对象”的概念,并且还非常重要。
在面向对象中,“类和实例”这两个的概念是非常重要的。熟练运用好类以及实例,会让python工程师事半功倍。
1.类
类就是一个模板,一个可以复用的工具。我们可以通过class
来定义一个类:
class Test(object): <函数块>
class的后面跟着的是你给类取的名字.这个名字的命名在官方文档中没有特殊规定.但是建议按照变量命名规则来,以避免出现问题.且该名字往往是大写字母开头的
**紧跟在后面的(object)表示的是该类是从哪个类那里继承下来的. **这意味着,往往一个类不是凭空出现的,他会从某一个父类(也就是该子类继承的类)那里获得父类的一些特质.如果该类作为父类让别的类继承了他,那么原父类也会被继承.
举个例子:A是B的父类,B是C的父类,那么其实A也是被C继承的类.这个是继承的传递性
如果没有合适的类来继承,我们可以就用object类来填充这里的空.因为这是所有类的最初来源,根据类的传递性,不难理解,最终所有类都是会继承到object的
2.实例
前面提到的实例就是在类下面创建的。用同一个例子来解释,上面的Test类定义好了之后,我们就可以根据这个Test类去创建实例了。
创建实例的语法是“类名”+“()”实现的
>>> bart = Test() >>> bart#这里我们调用bart输出看看 <__main__.Test object at 0x10a67a590> #这里表示bart指向了Test的一个实例,0x10a67a590是内存地址。 >>> Test #我们再调用Test看看 <class '__main__.Test'> #Test本身作为了一个类
3.实例变量属性绑定
绑定属性就是给一个实例的变量赋值,比如:
>>> bart.name = '123'#给bart的name赋值123 >>> bart.name#输出看看 '123'
一般我们在创建实例的时候就可以把我们必须绑定的属性强势书写进去。
一般我们采用__init__方法实行该绑定
class Test(object): def __init__(self, name, salary): self.name = name self.salary = salary
__init__方法的第一个参数永远是self,它代表创建的实例本身,各个参数绑定的是self就代表最终他们指向的都是该实例本身