标签:
三天不练门外汉,最重要的是坚持!
武sir的博客讲的很清楚,关键是课非常好,一遍就听懂了,奉上原文地址:http://www.cnblogs.com/wupeiqi/p/4493506.html
面向过程:根据业务逻辑从上到下依次垒代码
函数式编程:根据不同的功能需求编辑不同的函数,使用时调用函数即可,一个函数有不同的方法。
面向对象:将实现一类功能的函数封装到一起,每个类具有不同的对象。
一,类和对象
面向对象编程是一种编程方式,在面向过程中,最重要的两个概念就是类和对象。面向对象编程就是对“类”和“对象”的使用。
类是什么:类可以看做我们做一件事的“模板”,模板里可以包含多个函数,函数实现具体的功能。
从程序设计的角度来看,类是python的程序组单元,就像函数和模块一样,类具有三个重要的独到之处,使其在建立新对象是更有用。
1.多重实例
类可以看做是对象的生产车间,每次调用类,都产生一个独立的命名空间的新对象。每个由类产生的对象都能读取类的属性,并获取自己的命名空间来存储数据,这些数据对每个对象来说都是不同的。
2.通过继承实现定制
我们可以在类的外部重新定义其属性,从而扩充这个类。
3.运算符重载
通过提供特定的协议方法,类可以定义对象来相应在内置类型上的运算。
对象是什么:对象就是根据模板创建的实例,将类实例化后我们便可以使用实例对象来执行类的函数来完成具体的任务。
· 通过对象执行方法:对象名.方法名()
#!/use/bin/env python #_*_ coding:utf_8 _*_ #定义类 class FU: #注意没有括号 #创建类中的函数,类中的函数称为方法 def welcome(self): print(‘创建第一个类‘) def hello(self,name):# self为形式参数,必填。 print(‘hello,%s‘%name) #定义对象 obj = FU() obj.welcome() #执行welcome方法 obj.hello(‘zhang sir‘) #执行hello()方法
class F1: def __init__(self,name,age): #构造方法,根据类创建的对象自动执行 self.Name = name self.Age = age #根据类创建对象obj #自动执行__init__方法 obj1 = F1(‘zhang‘,‘20‘) #将zhang,20封装到obj1 obj2 = F1(‘wang‘,‘30‘) #将wang,30封装到obj1
class F1: def __init__(self,name,age): #构造方法,根据类创建的对象自动执行 self.Name = name self.Age = age #根据类创建对象obj #自动执行__init__方法 obj1 = F1(‘zhang‘,‘20‘) #将zhang,20封装到obj1 obj2 = F1(‘wang‘,‘30‘) #将wang,30封装到obj1
2.通过self间接调用被封装的内容
class F1: def __init__(self,name,age): #构造方法,根据类创建的对象自动执行 self.Name = name self.Age = age def info(self): print(self.Name) print(self.Age) #根据类创建对象obj #自动执行__init__方法 obj1 = F1(‘zhang‘,‘20‘) #将zhang,20封装到obj1 obj1.info() #python 默认将obj1传递给self,即obj1.info(obj1),self.Name = ‘zhang‘;self.Age = ‘20‘ obj2 = F1(‘wang‘,‘30‘) #将wang,30封装到obj1 obj2.info()
class foo: def __init__(self,name,age): self.name = name self.age = age def option1(self): print(‘%s,%s,上山去砍柴‘%(self.name,self.age)) def option2(self): print(‘%s,%s,开车去东北‘%(self.name,self.age)) def option3(self): print(‘%s,%s,XXOO‘%(self.name,self.age)) obj2 = foo(‘小明‘,‘10‘) obj2.option1() obj2.option3() obj1 = foo(‘老王‘,‘40‘) obj1.option2() >>> 小明,10,上山去砍柴 小明,10,XXOO 老王,40,开车去东北
class C1: def func(): pass class C2(C1) #子类继承父类,拥有所有的父类的方法 def obj() pass zi = C2() #创建子类对象 zi.func() #执行从父类中继承的方法
标签:
原文地址:http://www.cnblogs.com/ernest-zhang/p/5616087.html