面向过程编程:面向(对着)--》过程(流程步骤)--》编程(码代码)

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)

一命二运三风水四积功德五读书六名七相八敬神九交贵人十养生十一结婚()

可能等下还有补充

最新文章

  1. C#开发微信门户及应用(12)-使用语音处理
  2. Ignite安装配置——上篇
  3. java冒泡排序
  4. Javascript运用函数计算正方形的面积
  5. mono中显示debug信息(filename/lineno)
  6. BZOJ 2822: [AHOI2012]树屋阶梯
  7. UNIX环境高级编程笔记之标准I/O库
  8. sublime搭建Java编译平台及编码问题
  9. IDHttp的基本用法(转)
  10. HD1285(拓扑排序)
  11. BZOJ 1090 字符串折叠(区间DP)
  12. Oracle 实现 mysql 的 find_in_set 排序!
  13. spring boot 事件发布与接收
  14. java历史版本下载地址
  15. Spring Boot 使用maven打包成jar
  16. sonar + jacoco + mockMvc 模拟session 用户登录 配合SpringSecurity 权限 快速测试代码覆盖率.
  17. Xshell访问和连接Linux
  18. 【架构设计】Android:配置式金字塔架构
  19. 基于PHP给大家讲解防刷票的一些技巧
  20. Linux 防火墙和SELinux的开启和关闭

热门文章

  1. “今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛 )--E. DoveCCL and Resistance
  2. C++——类
  3. kuangbin专题十三-基础计算几何
  4. tomcat服务器和HTTP协议
  5. Linux系统查看局域网的公网ip
  6. java-day18
  7. 关于js的地址跳转
  8. pytest--fixure前置执行一个函数
  9. locust性能测试框架随笔
  10. 【VUE/JS】vue和js禁止浏览器页面后退