python 6 面向对象

摘自: http://www.cnblogs.com/known/archive/2010/09/04/1818231.html

前面提到的操作函数和语句块是传统的面向过程编程, 

通常,编写大型程序, 通常采用面向对象编程

类 和 对象 是面向对象编程的主要两个方面, 

类,创建一个新类型,

对象,是类的实例

python没有 值类型 和 引用类型之分, 它把所有事物统统看做是类,

类使用 class关键字来创建

1. self

类的方法和普通的函数只有一个特别的区别————它们必须有一个额外的第一参数名称, (类(class)的 function 里面 必须有(self) 这个parameter)

但是在调用这个方法的时候你不为这个参数赋值, python会提供这个值, 这个特别的变量指对象本身,按照惯例它的名称是self

假如你有一个类称为 MyClass 和这个类的一个实例 MyObject, 当你调用这个对象的方法 MyObject.method(arg1, arg2)的时候

这会由python自动转化为MyClass.method(MyObject, args1, arg2)  ———— 这就是self的原理

2. 类

3. 方法

类/对象可以拥有像函数一样的方法,这些方法与函数的区别只是一个额外的self变量。

look at the "self" parameter

4. __init__ 方法

在Python的类中有很多方法的名字有特殊的重要意义, 像 __init__, 类似于构造函数。

__init__ 方法在类的一个对象呗建立的时候,马上运行。 这个方法可以用来对你的对象做一些你希望的初始化

5. 域

python 有两种类型的域 类的变量 和对象的变量

类的变量: 有一个类的所有对象共享使用, 只有一个类变量的copy, 所以当某个对象对类的变量做了改动的时候,这个变动会反映到所有其他的实例上

对象的变量; 由每个对象拥有, 因此每个对象有自己对这个域的一份copy, 

 6. 继承

原文地址:https://www.cnblogs.com/morningdew/p/5966781.html