1 ##总结面向对象设计 2 ### 3 ''' 4 1.简单控制流代码归类 5 2.定义函数实现代码的重用且更结构化,但是数据和动作分离 6 3.把数据和动作内嵌带一个结构(函数或类)里面,形成'对象系统' 7 8 过程简述: 9 1.定义功能函数,把数据字典作为传入参数,通过字典关键词取字典数据 10 2.定义字典:数据+功能函数 11 3.定义函数,内嵌字典 12 4.定义函数内嵌功能函数和字典函数,并且返回字典 13 5.调用:调用返回的字典关键词,并且传入字典参数进行调用 14 15 # ''' 16 def struct_object(name1,name2,name3): 17 def base_style(fuct_dic): 18 print('[%s]重复,庞大死板;无结构不系统'%fuct_dic['name1']) 19 def function_1(fuct_dic): 20 print('[%s]实现代码重复使用,更灵活;但是数据和动作分离'%fuct_dic['name2']) 21 def object_1(fuct_dic): 22 print('[%s]把数据和动作归类,更结构化'%fuct_dic['name3']) 23 def init(name1,name2,name3): ###相当于初始化变量值 24 fuct_dic = { 25 'name1':name1, 26 'name2': name2, 27 'name3': name3, 28 'base_style':base_style, 29 'function_1':function_1, 30 'object_1':object_1 31 } 32 return fuct_dic 33 res = init(name1,name2,name3) 34 return res 35 option1 = struct_object('简单代码','函数','面向对象') 36 print(option1) 37 option1['base_style'](option1) 38 option1['function_1'](option1) 39 option1['object_1'](option1) 40 ''' 41 [简单代码]重复,庞大死板;无结构不系统 42 [函数]实现代码重复使用,更灵活;但是数据和动作分离 43 [面向对象]把数据和动作归类,更结构化 44 '''
1 ##面向对象编程 2 ''' 3 1.与面向对象相比,由关键词调用变成用'.'替代;用class进行定义 4 2.self相当于位置参数,用__init__(self,name,gender,type)定义数据参数 5 3.功能函数在之后一次定义 6 ''' 7 class Person: 8 def __init__(self,name,gender,type): 9 self.name = name 10 self.gender = gender 11 self.type = type 12 def studying(self): 13 print('一个名字为[%s]的[%s],正在学习python'%(self.name,self.type)) 14 def shuaiqi(self): 15 print('这位[%s],温文尔雅,阳光帅气'%self.gender) 16 def postgraduat(self): 17 print('这位[%s]名叫[%s],是一名[%s]'%(self.gender,self.name,self.type)) 18 person1 = Person('liuhua','男士','研究生') ###是个内存地址,加()调用 19 person1.studying() 20 person1.shuaiqi() 21 person1.postgraduat() 22 person2 = Person('alex','女士','博士') 23 person2.studying() 24 person2.shuaiqi() 25 person2.postgraduat() 26 ''' 27 一个名字为[liuhua]的[研究生],正在学习python 28 这位[男士],温文尔雅,阳光帅气 29 这位[男士]名叫[liuhua],是一名[研究生] 30 一个名字为[alex]的[博士],正在学习python 31 这位[女士],温文尔雅,阳光帅气 32 这位[女士]名叫[alex],是一名[博士] 33 '''