目录
一 回顾
(一)定义函数
def 函数名(): '''注释''' 代码块
(二)定义函数的三种形式
1.空函数
2.有参函数
3.无参函数
(三)函数的返回值
1.没有返回值,默认返回None
2.return可以返回多个值
3.return可以终止函数
(四)函数的参数
1.形参
(1)位置形参
从左到右一个一个写
(2)默认形参
给位置形参添加一个默认值,如果给他传值,用的是传值的值
2.实参
(1)位置实参
从左到右给位置形参传值
(2)关键字实参
按照位置形参名给位置形参传值
二 面向过程编程
面向过程编程:按照流程/步骤敲代码,一步一步(一个一个函数),上一个函数的输出时下一个函数的输入
优点:代码的独立性提高,流程清晰
缺点:一个错误,程序直接崩掉
编程
控制变量不断的变化
三 面向对象过程
对象与对象之间交互
优点:互不干扰
缺点:异常复杂
四 类和对象
对象:一系列特征(属性)和技能(方法)的结合体
类:(模板/类别)划分对象,通过具有相同的属性和技能的对象属于同一类
现实世界中现有对象才会有类,但是python中先有类后有对象
(一)定义类语法
class 类名(驼峰体): school = 'oldboy' #给类添加属性 '''文件名''' # __doc__ def choose_course(slef): # 定义在类内发的函数一般称为方法(给类增加技能) passstu = 类名.__dict__ # 获取类的所有属性和方法print(stu_dict['school'])#获取学校stu_dict['choose_course'](123)#传值print(Student.__doc__)##函数对象(补充)def x(): print('x')y = x
函数定义阶段:检测语法,不执行代码
类定义阶段:执行代码
(二)定义对象(实例化对象)
stu1 = Student() #stu就是一个对象
对象使用类中的方法,不需要加参数,因为实例化对象调用该方法时,python会自动将实例化对象传给self
五 定制化对象独有特征
class OldboyStudent: school = 'oldboy' def __init__(self, name, age, gender): """调用类的时候自动触发""" self.name = name self.age = age self.gender = gender print('*' * 50) def choose_course(self): print('is choosing course')
python中一切皆对象,一切皆数据类型
作为对象:
- 引用x = 10,y = x
- 作为容器类元素
- 作为函数参数
- 作为函数返回值