‘‘‘面向过程与面向对象面向过程:核心是过程二字,过程即解决问题的步骤,就是先干什么再干什么基于该思想写程序就好比在设计一条流水线,是一种机械化的思维方式优点:复杂的过程流程化,进而简单化缺点:扩展性差面向对象:核心是对象二字,对象是特征与技能的结合体基于该思想编写程序就好比在创造一个世界,世界是由一个个对象组成,是一种“上帝式”的思维优点:可扩展性强缺点:编程复杂高,容易出现过度设计‘‘‘‘‘‘类对象是特征与技能的结合体,类就是一系列对象相似的特征与技能的结合体在现实世界中:一定是先有的一个个具体存在的对象,后总结出的类在程序中:一定是先定义类,后产生对象‘‘‘# class Student: # 程序中定义类,用class,后面写类名,类名首字母要大写# ‘‘‘# 注释信息# ‘‘‘# school=‘oldboy‘# def learn(self):# print(‘is learning‘)# def choose_course(self):# print(‘choose course‘)# print(Student) # <class ‘__main__.Student‘># class Student:# school=‘oldboy‘# def learn(self):# print(‘is learning‘)# def choose_course(self):# print(‘choose course‘)# print(‘>>:‘)# print(Student.__dict__)# print(Student.school) # 数据属性# print(Student.learn) # 函数属性‘‘‘>>: # 类体代码在类的定义阶段就会立刻执行{‘__module__‘: ‘__main__‘, ‘school‘: ‘oldboy‘, ‘learn‘: <function Student.learn at 0x000001DC081A4D38>, ‘choose_course‘: <function Student.choose_course at 0x000001DC081A4DC8>, ‘__dict__‘: <attribute ‘__dict__‘ of ‘Student‘ objects>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘Student‘ objects>, ‘__doc__‘: None}oldboy<function Student.learn at 0x0000027085F04D38>‘‘‘# class Student:# school=‘oldboy‘# def learn(self):# print(‘is learning‘)# def choose_course(self):# print(‘choose course‘)# Student.country=‘China‘# print(Student.__dict__)# print(Student.country)‘‘‘{‘__module__‘: ‘__main__‘, ‘school‘: ‘oldboy‘, ‘learn‘: <function Student.learn at 0x000001BB79AB4D38>, ‘choose_course‘: <function Student.choose_course at 0x000001BB79AB4DC8>, ‘__dict__‘: <attribute ‘__dict__‘ of ‘Student‘ objects>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘Student‘ objects>, ‘__doc__‘: None, ‘country‘: ‘China‘}China‘‘‘# class Student:# school=‘oldboy‘# def learn(self):# print(‘is learning‘)# def choose_course(self):# print(‘choose course‘)# Student.school=‘Oldboy‘# print(Student.school)‘‘‘Oldboy‘‘‘# class Student:# school=‘oldboy‘# def learn(self):# print(‘is learning‘)# def choose_course(self):# print(‘choose course‘)# del Student.country# print(Student.country) # 报错 # class Student:# school=‘oldboy‘# def learn(self):# print(‘is learning‘)# def choose_course(self):# print(‘choose course‘)## def func():pass# print(func)# print(Student.learn)‘‘‘<function func at 0x000002DC14584D38><function Student.learn at 0x000002DC14584DC8>‘‘‘# Student.learn(‘xxxxx‘)‘‘‘is learning‘‘‘# class Student:# school=‘oldboy‘# def learn(self):# print(‘is learning‘)# def choose_course(self):# print(‘choose course‘)‘‘‘调用类的过程又称为实例化得到一个返回值,即对象,该对象是一个空对象来触发Student.__init__()‘‘‘# stu1=Student()# stu2=Student()# stu3=Student()# print(stu1,stu2,stu3)‘‘‘<__main__.Student object at 0x00000227D0CA23C8> <__main__.Student object at 0x00000227D0CA2408> <__main__.Student object at 0x00000227D0CA2448>‘‘‘# class Student:# school=‘oldboy‘# def __init__(self,name,age,gender):# self.Name=name# self.Age = age# self.Gender=gender# def learn(self):# print(‘is learning‘)# def choose_course(self):# print(‘choose course‘)# # stu1=Student(‘李三炮‘,‘18‘,‘男‘)# # print(stu1.__dict__) # {‘Name‘: ‘李三炮‘, ‘Age‘: ‘18‘, ‘Gender‘: ‘男‘}# # print(stu1.Name,stu1.Age,stu1.Gender) # 李三炮 18 男# stu2=Student(‘张美丽‘,‘18‘,‘女‘)# stu3=Student(‘二狗子‘,‘18‘,‘男‘)# # print(stu2.__dict__)# # print(stu3.__dict__)# ‘‘‘# {‘Name‘: ‘张美丽‘, ‘Age‘: ‘18‘, ‘Gender‘: ‘女‘}# {‘Name‘: ‘二狗子‘, ‘Age‘: ‘18‘, ‘Gender‘: ‘男‘}# ‘‘‘# print(stu2.Name) # 张美丽
原文地址:https://www.cnblogs.com/0B0S/p/12063511.html
时间: 2024-11-09 01:28:26