面向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),指一种程序设计范型,同时也是一种程序开发 ...
随机推荐
- Django--实现分页功能,并且基于cookie实现用户定制每页的数据条数
# page_num 当前页数, total_result_num 总共有多少条测试结果 def pagination(request, page_num, total_result_num, res ...
- 二:unittest框架配合selenium之xpath定位
刚开始学习selenium自动化测试时,犯了一个不该犯的错误,偷懒,使用火狐浏览器中的扩展FIREBUG,FIREPATH来辅助定位. 虽然用的定位方法大多数是使用XPATH方法,但是是工具定位出来的 ...
- C#基础-->cookie和session
关于cookie和session cookie 1:一个cookie中可以存放的数据最大在4KB左右 2:cookie存放于客户端 3:cookie分为两种 一种是会话cookie 一种是持久co ...
- MySQL 建库建表规范
1.约束 1.PrimaryKey(PK)主键 特点:唯一 + 非空,一张表中只能有一个主键约束,一般是一个数字列,最好是无意义的. 2.NOT NULL 非空 特点:不能为空,建议在MySQL中,业 ...
- HTML中<frameset>标签不显示的问题
啥都不说,先上代码 <html> <head> <title>index</title> <meta content = 'text/html'; ...
- WSGI是什么?
WSGI是什么? WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义 ...
- 【HDOJ】P1215 七夕节
题目意思很简单,不解释 有两种方法, 1是暴力法,不就是 2就是下面要讲的方法 假如果说一个数n可以被b整除,那么一定可以被b的因子整除 那么我需要做的就是枚举这些因子 多余的请看代码 #includ ...
- scip 练习2.20
(define (same-parity x . z) (define (q? y) (= (remainder y ) )) (define (o? y) (= (remainder y ) )) ...
- 干货满满!10分钟看懂Docker和K8S
2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司. 这家公司主要提供基于PaaS的云计算技术服务.具体来说,是和LXC有关的容器技术. LXC,就是Linux容器虚 ...
- .net Core使用EFCore连接数据库
一.SQL Service 1.创建实体类 public class Student { public int Id { get; set; } [Required] [Display(Name =& ...