面向对象和面向过程基础与序列化

一:面向对象与面向编程
1.面向过程编程
定义变量,定义函数,面向过程编程

2.面向对象编程
定义一个类
类中有属性(变量,特征)   有方法(函数,技能)

image

二:类与对象
1.什么是类?
有属性,有方法的就是类 

2.什么是对象
类加()得到的就是对象

比如说:举例
我们造就一个张三对象,它有身高体重,还有睡觉技能(特征与技能的结合体:属性和方法)

定义一个类
类   类名:
class Person:   推荐使用驼峰提
	属性 特征 相当于变量
	height = 180
	weight = 90
	方法 技能 相当于函数/自动生成self
	def sleep(self):
		print('睡觉技能')
定义一个对象
zhangsan = Person()  有了类加括号得到的就是 对象

使用对象
print(zhangsan.height)  获得张三的身高

print(zhangsan.weight)  获得张三的体重

zahngsan.sleep()  让张三去睡觉 调用函数


这就是面向对象的思维逻辑

image

1.1类与对象 定义
定义一个学生类(学习属性,选课技能),实例化得到一个学生对象

class Student:  类名尽量用驼峰体
    school = 'oldboy'
    方法 特殊函数 定义在类内部 并且有一个参数(self):
	def choose_course(self):
		print('选课技能')
       
student = Student()  类的实例化 得到对象
对象命名不是固定的


__dict__ 就是类的名称空间
print(Student.__dict__)  
输出结果:以__开头的先不用关注,写在类中的属性和方法,都在Student中
    
通过Student 取得school
print(Student.school)  输出结果:oldboy
print(Student.choose_course)  得到了类中特殊函数的内存地址

对象 srudent名称空间中没有oldbog  然后再去类名称空间中找
对象,属性 ---》先从对象自己的名称空间中找---》类的名称空间找---》
print(student.school)  输出结果:oldboy
    
多个对象  对应同样的类
student1 = Student()  类的实例化 得到对象
通过对象得到
print(student1.school) 输出结果:oldboy
三:实例化
类就是 class 修饰的有属性 有方法一系列的结合体
class Person:
	属性
	naem = 'zll'
	方法
	def run(self):
		pass

注:对象是由类实例化得到的
person = Person()  类名加括号就叫实例化

image

四:python中一起皆对象
在我们之前学习的过程中 其实都是对象 比如:
    
对象   类
ll = list(11,22,33)
print(ll)

对象 类
ll = list()
print(ll)  结果:[]

image

posted @ 2021-12-05 20:40  AlexEvans  阅读(39)  评论(0编辑  收藏  举报