面向过程式编程:
1.重复代码多
2.可读性差
函数式编程:
1.重复代码少
2.可读性强
面向对象:
1.类是一组具有相似功能的集合,使代码的组织结构更加清晰和规范化
2.要具有上帝的思维,用面向对象设计程序,类是一个公共模板,对象去操作使用这个模板
类
类是具有相似功能和属性的一类事物
类的结构:
class 类名(首字母大写):
第一部分:静态属性(属性,变量,静态字段)
第二部分:动态属性(方法,函数)
class Human: mind = '有思想' #静态属性 language = '语言' shape_list = ['四肢','五官'] def work(self): #方法 print('工作') def eat(self): print('吃饭')
从类名的角度进行操作:
1.查看类中的所有内容
print(类名.__dict__) 以字典的形式返回
2.万能的点 .
Human.emotion = '有情感' #增 del Human.language #删 Human.mind = '无脑的' #改 print(Human.shape_list) #查
3.代码中除去静态方法和类方法,一般不用类名去执行类中的方法
对象
类的具体体现,具体到一个对象
类名() 实例化过程,产生一个对象
class Human: mind = '有思想' language = '语言' shape_list = ['四肢','五官'] def __init__(self,name,sex,age): self.n = name self.s = sex self.a = age def work(self): print('工作') def eat(self): print('吃饭') obj = Human('alex','男',18) #实例化对象 print(obj.__dict__)
实例化对象发生三步:
1.在内存中开辟一个对象空间
2.自动执行__init__方法,并将对象空间传给self
3.执行__init__的代码,给对象空间封装属性
从对象的角度操作类:
1.对象查看对象空间的所有属性
print(obj.__dict__)
2.对象操作对象空间的属性--万能的点 .
obj.h = 180 #增 del obj.n #删 obj.s = '男' #改 print(obj.a) #查
3.对象查看类中的静态属性,注意只能查看
print(obj.mind)
4.对象调用类中的方法,就会将对象空间自动传给方法的第一个参数self
补充:
self :类中的所有方法(类方法,静态方法)的第一个参数,都会默认接收对象空间,所以为了方便和区分,把第一个参数约定俗成为self
一个类可以实例化多个对象