面向XX程序设计到底是个啥
面向过程编程:面向(对着)--》过程(流程步骤)--》编程(码代码)
IPO是啥
input(输入)--》process(过程处理)--》output(输出)
未来码代码的目的:输入一些变量,然后会通过一系列的步骤改变变量,然后得到你想要的结果。
面向过程编程
面向过程编程:一步一步(一个函数一个函数),上一个函数的输出是下一个函数的输入
编程:控制变量不断的变化
优点:代码独立性※提高了,流程清晰
缺点:一个错误,让程序直接崩掉(~ ̄(OO) ̄)ブ
debug的来源
1.定位bug,不一定是哪一行出错了
2.打印变量变化的状态,判断该流程是否有问题
面向对象
面向(对着)对象object(一个孙悟空就是一个对象,一个猪八戒也是一个对象)--》物体()编程(码代码)
优点:孙悟空的变换不会对其他对象早餐影响
缺点:异常复杂
面向对象编程:对象与对象之间交互
类和对象
类:
(模板/类别)划分了对象,通过具有相同属性特征的技能的对象属于同一类(自己控制)#1000个对象,类小于1000种
对象:
一系列特征和技能(方法)的结合体
函数的定义阶段只检测语法,不换行
类定义阶段:执行代码
# stu1 = Student()
# stu1.name = 'yutong'
# stu1.height = 160
# stu1.weight = 170
# print(stu1.name)
# print(stu1.height)
# print(stu1.weight)
#
# stu2 = Student()
# stu2.name = 'dapao'
# stu2.height = 100
# stu2.weight = 300
# print(stu2.name)
# print(stu2.weight)
# print(stu2.height)
class Student():
school = 'oldboy'
def choose_course(self):
print('正在选课')
# def init(obj, name, height, weight):
# obj.name = name
# obj.weight = weight
# obj.height = height
#
#
# stu1 = Student()
# init(stu1, 'yutong', '170', '140') # init是你用来给对象添加独有特征的函数
# print(stu1.name)
# print(stu1.weight)
# print(stu1.height)
#
# stu2 = Student()
# init(stu2, 'dapao', 100, 300)
# print(stu2.name)
# print(stu2.weight)
# print(stu2.height)
class Student():
school = 'oldboy'
def __init__(self, name, height, weight):
print(self)
self.name = name # self = stu1 --> stu1.name = 'dapao'
self.height = height
self.weight = weight
def choose_course(self):
print('正在选课')
stu1 = Student('yutong', 170, 140)
print('stu1:',stu1)
print('stu1.name:',stu1.name)
stu2 = Student('dapao', 100, 300)
print('stu2.name:',stu2.name)
print('stu2:',stu2)
自动排序系统
def sort(lis):
print(1, lis)
for i in range(len(lis)): # 3
for j in range(len(lis)): # 3 # 2
if lis[i] < lis[j]:
lis[i], lis[j] = lis[j], lis[i]
print(2, lis)
lis = [3, 2, 1]
sort(lis)
一命二运三风水四积功德五读书六名七相八敬神九交贵人十养生十一结婚()
可能等下还有补充
面向XX程序设计到底是个啥的更多相关文章
- 面向XX编程
[一篮饭特稀原创,转载请注明出自http://www.cnblogs.com/wanghafan/p/5033186.html ] 基于面向XX编程的个人理解 面向过程编程 Procedure Or ...
- “面向对象"和"面向过程"到底有什么区别?
链接:http://www.zhihu.com/question/27468564/answer/101951302 当软件还非常简单的时候,我们只需要面向过程编程: 定义函数函数一函数二函数三函数四 ...
- 你好,C++(31)我终于找到对象啦!6.1 从结构化设计到面向对象程序设计
第6章 当C++爱上面向对象 很多第一次进入C++世界的人都会问:C++中的那两个加号到底是什么意思啊? C++是由C语言发展而来的,它比C语言多出的两个加号,实际上是C语言的自增操作符,表示C++语 ...
- 201521123076 《JAVA程序设计》第5周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容 初步了解了接口的概念,学会使用接口,强化面向对象思想 Comparable,Com ...
- C++程序设计
C++程序设计 之前学过C++课程,但是时间有点久,忘了很多,这里做一个简单的回顾. 网站推荐: C++在线编译器 学习C++之前,您可以先了解C语言. c++的扩展名一般为cpp(cplusplus ...
- Python基础(16)_面向对象程序设计(类、继承、派生、组合、接口)
一.面向过程程序设计与面向对象程序设计 面向过程的程序设计:核心是过程,过程就解决问题的步骤,基于该思想设计程序就像是在设计一条流水线,是一种机械式的思维方式 优点:复杂的问题的简单化,流程化 缺点: ...
- spring入门(四)【面向切面编程】
开发过程中很多时候会用到日志.事务等操作,这些操作如果要写在业务代码中会相当麻烦,这时就会用到面向切面编程(AOP),AOP作为一种编程思想,和OOP有着不同的侧重点,面向对象侧重于万事万物皆对象,而 ...
- 2016-2017-2 《Java程序设计》预备作业2总结
2016-2017-2 <Java程序设计>预备作业2总结 古希腊学者普罗塔戈说过:「头脑不是一个要被填满的容器,而是一束需要被点燃的火把.」 在对计算机系的学生情况的调查中,我说: 最近 ...
- 对面向对象程序设计(OOP)的认识
前言 本文主要介绍面向对象(OO)程序设计,以维基百科的解释: 面向对象程序设计(英语:Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发 ...
随机推荐
- Java习题练习
Java习题练习 1. 依赖注入和控制反转是同一概念: 依赖注入和控制反转是对同一件事情的不同描述,从某个方面讲,就是它们描述的角度不同.依赖注入是从应用程序的角度在描述,可以把依赖注入描述完整点:应 ...
- linux下vim编辑器查找 关键字
在 linux vim 编辑器 下查找 关键字 方法[一] 1?short_open_tag : 它的意思是vim 打开文件的第一行 ? : 它的意思是反向查找 short_open_tag ...
- ()获取Cookies session
[HttpGet] public string mo() { var httpRequest = HttpContext.Current.Request; var a = httpRequest.Co ...
- continuation line under-indented for visual indent
continuation line under-indented for visual indent 问题:使用flake8检验代码规范时报错:continuation line under-inde ...
- 梯度下降:SGD vs Momentum vs NAG vs Adagrad vs Adadelta vs RMSprop vs Adam
原文地址:https://www.jianshu.com/p/7a049ae73f56 梯度下降优化基本公式:\({\theta\leftarrow\theta-\eta\cdot\nabla_\th ...
- Apache Flink 整体介绍
前言 Flink 是一种流式计算框架,为什么我会接触到 Flink 呢?因为我目前在负责的是监控平台的告警部分,负责采集到的监控数据会直接往 kafka 里塞,然后告警这边需要从 kafka topi ...
- 自从阿里买了Flink母公司以后,你不懂Flink就out了!
个免费报名权限 Ps:小助理手动给大家发送资料,精力有限,仅限前100名免费领取,这份资料对于想要提升大数据技能进阶的小伙伴来说,将会是一份不可或缺的宝贵资料. 特别感谢飞总的部分原创支持!
- leetcode.字符串.5最长回文子串-Java
1. 具体题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" ...
- PS--工具类
1.移动工具 快捷点Vctrl + 点击想要移动的图层.选中后,就可以移动了. 2.选取工具 快捷键M2.1选取后填充颜色:新建图层 选取 右键填充 添加前景色 2.2两块选区选择一个选区后,属性面板 ...
- 在vue中获取不到canvas对象? 两种解决办法。
1. mounted 钩子函数 初次肯定获取到id 2. 如果canvas父级用到了v-if 请改成v-show ,vue Dom节点 重新渲染导致methods 方法获取不到对象.