前言
Life is short,you need Python !(持续更新)
大纲
- 类与对象
- 属性与方法
类与对象
一切皆对象
面向对象编程是在面向过程编程的基础上发展来的,它比面向过程编程具有更强的灵活性和扩展性。面向对象编程是程序员发展的分水岭,很多初学者会因无法理解面向对象而放弃学习编程。
面向对象编程
面相对象编程是一种封装代码的方法。
代码封装,其实就是隐藏实现功能的具体代码,仅留给用户使用的接口,就好像使用计算机,用户只需要使用键盘、鼠标就可以实现一些功能,而根本不需要知道其内部是如何工作的。
面相对象编程比以上三种封装更先进,它可以更好地模拟真实世界里的事物,并把描述特征的数据和代码块(函数)封装到一起,称之为对象。
Python 中使用类的顺序是:先创建(定义)类,然后再创建类的实例对象,通过实例对象实现特定的功能。
如何创建一个类
属性与方法
属性
类变量可以在所有实例化对象中作为公用资源。
修改类的变量,结果到导致所有对象的值都变了。
修改一个对象的实例变量,既不会影响类变量的值,也不会影响其它对象的实例变量。
- 类属性变化,从属的实例属性也发生变化。
- 各个实例之间相互独立,一个是实例发生变化,不会影响其他实例,也不会影响类属性。
方法
实例方法
实例方法最大的特点就是,它最少也要包含一个 self 参数,用于绑定调用此方法的实例对象。
调用的方法:对象调用、类名调用
用类的实例对象访问的类成员方法称为绑定方法;用类名调用的类成员方法称为非绑定方法。
类方法
和实例方法相似,它最少也要包含一个参数,只不过,类方法中通常将其命名为 cls,人为规定。
类方法需要使用
@classmethod进行修饰
静态方法
跟函数相似,只不过是在类命名空间内,静态方法没有类似 self、cls 这样的特殊参数,就不会进行绑定,需要用
@staticmethod修饰
下半部分内容请查看第13篇 Python类与对象(下)(13/30)