加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

史上最全Python面向对象编程

发布时间:2019-03-27 13:15:21 所属栏目:建站 来源:浪子燕青
导读:面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别。 面向过程编程: 1. 导入各种外部库 2. 设计各种全局变量 3. 写一个函数完成某个功能 4. 写一个函数完成某个功能 5. 写一个函数完成某个功能 6. 写一个函数完成某个功能 7. 写一
副标题[/!--empirenews.page--]

史上最全Python面向对象编程

面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别。

面向过程编程:

1. 导入各种外部库

2. 设计各种全局变量

3. 写一个函数完成某个功能

4. 写一个函数完成某个功能

5. 写一个函数完成某个功能

6. 写一个函数完成某个功能

7. 写一个函数完成某个功能

8. ......

9. 写一个main函数作为程序入口

在多函数程序中,许多重要的数据被放置在全局数据区,这样它们可以被所有的函数访问。每个函数都可以具有它们自己的局部数据,将某些功能代码封装到函数中,日后便无需重复编写,仅调用函数即可。从代码的组织形式来看就是根据业务逻辑从上到下垒代码 。

面向对象编程:

1. 导入各种外部库

2. 设计各种全局变量

3. 决定你要的类

4. 给每个类提供完整的一组操作

5. 明确地使用继承来表现不同类之间的共同点

6. 根据需要,决定是否写一个main函数作为程序入口

面向对象编程中,将函数和变量进一步封装成类,类才是程序的基本元素,它将数据和操作紧密地连结在一起,并保护数据不会被外界的函数意外地改变。类和和类的实例(也称对象)是面向对象的核心概念,是和面向过程编程、函数式编程的根本区别。

并不是非要用面向对象编程,要看你的程序怎么设计方便,但是就目前来说,基本上都是在使用面向对象编程。

类的基本用法

面向对象是通过定义class类来定义,这么说面向对象编程就是只使用class类,在class类中有封装,继承的功能,并且还可以构造要传入的参数,方便控制。

案例一

  1. import sys 
  2. import time 
  3. reload(sys) 
  4. sys.setdefaultencoding('utf-8') 
  5.  
  6. class studetn: 
  7.     # 定义一个类名为studetn 
  8.     def __init__(self,idx): 
  9.     # 定义初始化构造,这里使用init,还有别的属性比如reversed,iter之类的 
  10.         self.idx=idx 
  11.         # 初始化变量,方便继承 
  12.     def runx(self): 
  13.     # 定义运行函数,从上面继承变量 
  14.         print self.idx 
  15.         # 打印出idx的值,或者做一些别的处理 
  16.         time.sleep(1) 
  17. a=studetn('a') 
  18. a.runx() 
  19. # 这是类的调用,一定要记得类的使用方法,首先传入参数,类赋值给一个变量a 
  20. # 然后调用这个类下面定义的函数 

一些专业术语概念,既然有面向对象编程这个高大上的定义了,自然要搭配一些高大上的概念。

  1. 类(Class): 用来描述具有相同属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。其中的对象被称作类的实例。
  2. 实例:也称对象。通过类定义的初始化方法,赋予具体的值,成为一个”有血有肉的实体”。
  3. 实例化:创建类的实例的过程或操作。
  4. 实例变量:定义在实例中的变量,只作用于当前实例。
  5. 类变量:类变量是所有实例公有的变量。类变量定义在类中,但在方法体之外。
  6. 数据成员:类变量、实例变量、方法、类方法、静态方法和属性等的统称。
  7. 方法:类中定义的函数。
  8. 静态方法:不需要实例化就可以由类执行的方法
  9. 类方法:类方法是将类本身作为对象进行操作的方法。
  10. 方法重写:如果从父类继承的方法不能满足子类的需求,可以对父类的方法进行改写,这个过程也称override。
  11. 封装:将内部实现包裹起来,对外透明,提供api接口进行调用的机制
  12. 继承:即一个派生类(derived class)继承父类(base class)的变量和方法。
  13. 多态:根据对象类型的不同以不同的方式进行处理。

类与实例

  1. # -*- coding: utf-8 -*- 
  2. # @Time    : 2018/5/3 0003 17:02 
  3. # @Author  : Langzi 
  4. # @Blog    : www.langzi.fun 
  5. # @File    : 面向对象2.py 
  6. # @Software: PyCharm 
  7. import sys 
  8. import time 
  9. import requests 
  10. reload(sys) 
  11. sys.setdefaultencoding('utf-8') 
  12.  
  13. class cc: 
  14.     ccc = 'ccc' 
  15.     # cc就是类名 如果想要继承别的类 就class cc(threading) 意思就是从threading继承 
  16.     def __init__(self,a,b,c): 
  17.         self.a=a 
  18.         self.b=b 
  19.         self.c=c 
  20.         # 定义构造的过程就是实例化 
  21.     def runx(self): 
  22.         print self.a*10 
  23.         print self.b*5 
  24.         print self.c*2 
  25.     def runy(self): 
  26.         print requests.get('http://www.langzi.fun').headers 
  27. e = cc('AAA','CCC','EEE') 
  28. e.runx() 
  29. e.runy() 
  30. # 这两个就是调用类里面的方法 
  31. print e.c 
  32. #实例变量指的是实例本身拥有的变量。每个实例的变量在内存中都不一样。 
  33. print e.ccc 
  34. #类变量,在类里面找到定义的变量。 
  35. 调用类的三种方法 

调用类的三种方法

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读