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

套路

  • 面向过程编程
1. 导入各种外部库2. 设计各种全局变量3. 写一个函数完成某个功能
4. 写一个函数完成某个功能
5. 写一个函数完成某个功能
6. 写一个函数完成某个功能
7. 写一个函数完成某个功能
8. ......9. 写一个main函数作为程序入口

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

  • 面向对象编程
1. 导入各种外部库2. 设计各种全局变量3. 决定你要的类
4. 给每个类提供完整的一组操作
5. 明确地使用继承来表现不同类之间的共同点
6. ......7. 根据需要,决定是否写一个main函数作为程序入口

在面向对象编程中,将函数和变量进一步封装成类。类是面向对象程序的基本元素,它将数据(类属性)和操作(类方法)紧密地连接在一起,并保护数据不会被外界的函数意外地改变。类和和类的实例(也称对象)是面向对象的核心概念,是与面向过程编程的根本区别。面向对象编程并非必须,而要看你的程序怎么设计方便,但是就目前来说,基本上都是使用面向对象编程。

面向对象和类

类的组成:以狗为例

  • 类名:狗
  • 类的属性:狗的一组数据,如狗的毛色、重量等
  • 类的方法:狗的功能

全局变量

实际上就是使用self初始化,然后就可以在类的方法里面直接调用全局变量

class Cat():# __init__初始化,self指代类本身,new_name, new_age是类的两个入参def __init__(self, new_name, new_age):self.name = new_nameself.age = new_agedef __str__(self):return '%s age is %d.'%(self.name, self.age)# 使用self初始化,然后在类方法里面直接调用全局变量    def eat(self):print('eating...')def drink(self):print('drink...')def introduce(self):print('%s age is:%d.'%(self.name, self.age))if __name__=='__main__':# 接收入参,类方法调用tom = Cat('tom', 40)tom.introduce()# 接收入参,类方法调用bluecat = Cat('Bluecat', 20)bluecat.introduce()print(tom)print(bluecat)

python:面向过程编程和面向对象编程思想相关推荐

  1. 什么是面向接口编程、面向过程编程、面向对象编程?

    1.什么是面向接口编程?(IOP) 面向接口编程(Interface Oriented Programming:IOP)是一种编程思想,接口作为实体抽象出来的一种表现形式,用于抽离内部实现进行外部沟通 ...

  2. 深入浅出--面向过程编程与面向对象编程

    浅谈面向过程(pop)与面向对象(oop) 面向过程和面向对象到底是什么?又有什么区别?这是个编程界老生常谈的问题了:不理解的人觉得很可怕,理解的人又觉得很简单,包括写这篇文章之前我还觉得这是一个只可 ...

  3. 【JavaScript高级】看完就理解面向过程编程和面向对象编程,不来了解一下?

    文章の目录

  4. python学习笔记(七):面向对象编程、类

    一.面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想.在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一 ...

  5. 面向对象编程思想和面向过程编程思想的区别

    这里体现的是两种JS的编程思想:面向对象编程和面向过程编程,两者都属于是编程思想,各有优缺点 面向过程: 在项目开发中会有各种的逻辑方法,有的是交互,有的是创建,有的是求结果,面向过程编程是把编程的重 ...

  6. python完全支持面向对象编程思想_面向对象的编程思想和Python的类,访问和属性,继承...

    本文将从访问限制,属性,继承,方法重写这几个方面继续介绍面向对象的编程思想和Python类的继承. 复制代码 一.访问权限: Python中在类的内部定义属性和方法,在类的外部是可以直接调用或进行访问 ...

  7. 面向过程编程思想和面向对象编程思想

    一.面向过程编程思想 百度百科这样解释: "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想. 面向过程其实是最为实际的一种思考方式,就算是面向对象的 ...

  8. 如何理解Python 面向对象编程思想

    Python 面向对象编程思想 1. 宽泛的面向对象的概念 举例说明 面向过程:做一件事情,从头到尾,每一个细节都要关注,重点在于过程 面向对象:做一件事情,用对象去做,不关心细节和过程,万物皆对象 ...

  9. 面向对象编程思想及入门知识

    这几天在调程序,所以想写写自己对"面向对象编程"的一些理解,希望对打算入门计算机编程的同志们有所帮助.之前,好几个师弟问过我,C++与C有什么区别,学习面向对象语言需要掌握哪些基础 ...

最新文章

  1. 不区分大小写的内容比较
  2. 数据结构:用栈实现表达式的转换(文字描述+详细步骤示例)——中缀转后缀
  3. 兰州大学第一届 飞马杯 ★★飞马祝福语★★ 线段树维护dp(动态dp)
  4. 除了“团队牛”还有“饭菜香”,百度 IDL 招聘算法实习生
  5. mysql linux查看配置文件my.cnf位置
  6. k8s pod部署到不同node_应用部署演进(二)
  7. 【写博客常用】美赛什么时候出成绩
  8. 计算机开机切换用户界面,win7开机登录界面怎么设置?win7更换开机画面壁纸解决办法...
  9. Python开发-面向对象编程-王大鹏-专题视频课程
  10. CPU卡程序设计实例(四)CPU卡处理流程
  11. python抢票软件 app_收藏!用 Python 写一个抢票软件
  12. 获取当前格林威治时间
  13. 5分钟学废携程出品配置中心阿波罗的原理与搭建
  14. 【论文阅读】UntrimmedNets for Weakly Supervised Action Recognition and Detection
  15. 用yolo-v3检测算法检测图片中的apple和damaged_apple
  16. Android连接WiFi再探索
  17. SIPP对Freeswitch进行压力测试
  18. 丁香医生vue开发项目,接口用的主要是官方开放的Api接口,无后端
  19. GPA Involution
  20. Nginx 代理配置

热门文章

  1. npm不是内部命令或外部命令
  2. 启动VUE工程时,出现npm不是内部命令
  3. 【HCIA】实验笔记-VLAN
  4. oracle常用优化方法
  5. Linux目录结构树状图
  6. linux终端crypt,Linux中grub-crypt命令起什么作用呢?
  7. 猎豹汽车与联想集团达成大数据战略合作
  8. 【CSS】用CSS画某个突出列表的书签/标签
  9. 常见TCP/IP面试题(边学边补充)
  10. inflight 源码解析