面向过程编程
面向(对着)》 过程(流程/步骤)》编程
IPO
input(输入)》process(过程/处理)》Output(输出)
面向过程编程:一步一步(一个函数一个函数),上一个函数的输出是下一个函数的输入
优点:代码的独立性提高了,流程清晰
缺点:一个错误可以让整个程序崩掉
编程:控制变量不断地变化(初级开发)
怎么找bug
x=10
y=20
# 流程1
# 变量每变化一次就打印一次
# 流程2
。。。
res = 50
debug的来源
1.定位bug,不一定在报错的那一行
2.打印变量变化的状态,判断该流程是否有问题
面向对象编程
面向对象编程:对象与对象之间交互
优点:某一对象的变化不会对其他对象造成影响
缺点:对象与对象之间关系复杂
类和对象
类:(模板/类别)划分了对象,具有相同的属性和技能的对象属于同一类
#定义类语法
class 类名(驼峰体):
school = 'oldboy' # 定义变量(给类添加属性)
def choose_course(self): # 定义在类内部的函数一般称为方法(给类增加技能)
pass
# 定义类
class Student :
def__init__(self, name, height, weight, age):
self.name = name
self.height = height
self.weight = weight
self.age = age
# 定义对象
stu1 = Student() # stu1就是一个对象
stu1.choose_course() #对象使用类的方法时,不需要加参数,因为实例化对象调用该方法时,Python会自动将实例化对象传给self
定制对象独有特征
class Student():
school = 'oldboy'
def__init__(self,name,height,weight):
print(self)
self.name = name
self.height = height
self.weight = weight
def choose_course(self):
print('正在选课')
stu1 = Student('yutong', 170, 140)
print('stu1:',stu1)
print('stu1.name:',stu1.name)