回顾
定义函数
def 函数名():
"""注释"""
代码
def f1():
"""f1的注释"""
pass
print(f1.__doc__) #f1的注释
定义函数的三种形式
- 空函数
- 有参函数
- 无参函数
函数的返回值
- 如果没有返回值,默认返回None
- return能返回多个值
- return能终止函数
函数的参数
形参
位置形参
从左到右一个一个写过去
默认形参
给位置形参添加一个默认值,但是如果给他传值,用的是实参传过来的值,默认形参必须放在最后
实参
位置实参
从左到右依次给位置形参传值
关键字实参
按照位置形参名传值给位置形参
今日所学
面向过程编程:面向(对着)--》过程(流程/步骤)--》编程(码代码)
IPO
input(输入)---》process(过程处理)--》output(输出)
面向过程编程:一步一步(一个函数一个函数),上一个函数的输出是下一个函数的输入
优点:代码的独立性提高了,流程清晰
缺点:只要有一个错误,能让程序直接崩掉
编程
控制变量不断地变化(初级开发)
怎么找bug
x = 10
y = 20
# 流程1
# 变量没变化一次,就打印一次,
# 流程2
# 流程(方法有无数种)--》需求的实现是多样化的,压根就没有唯一解
res = 50
debug的来源
- 定位bug,不一定是那一行出错了
- 打印变量变化的状态,判断该流程是否有问题
面向对象编程
通过面向对象编程制造的对象与对象之间交互
优点:对象的变化不会对其他对象造成影响
缺点:异常复杂
类和对象
对象:一系列特征(属性)和技能(发明好伐)的结合体
类:(模板/类别)划分了对象,具有相同的属性和技能的对象属于同一类(自己控制)
python中先有类后又对象
定义类语法
class 类名(驼峰体):
school =‘oldboy’ #定义变量(给类添加属性)
def choose_course(self): # 定义在类内部的函数一般称为方法(给类增加功能)
pass
如果该对象属于这个类,那么类拥有的,对象一定拥有
.__dic__ # 获取类的所有属性和方法
类定义阶段:执行代码
定义对象
stu1=class() # stu1就是一个对象
对象使用类中的方法时,不需要加参数,因为实例化对象调用该方法时,python会自动将该实例化对象传给self
类与数据类型
python中一切皆对象,一切皆数据类型
作为对象:
- 引用 x=10;y=x
- 作为容器类元素 lis=【x,func,Student】
- 作为函数参数def func(x,func,Student)
- 作为函数返回值 return x,func,Student