什么是面向对象
语语言层面,封装代码和数据
规格层面,对象是一系列可被使用的公共接口
概念层面,对象是某种拥有责任的抽象
类,方法,类变量的定义
类class:抽象的概念,一类事物
方法:类中定义的函数,对外提供的服务
类变量:类变量在整个实例化的对象中是公用的
实例引用:实例化一个对象
实例变量:以self.变量名,的方式定义变量
class people: name = "alex" #name是类变量 age = 0 weight = 150 #构造方法,在类实例化到时候被调用 def __init__(self,name,age,weight): self.name = name self.age = age self.weight = weight # 类里面定义的变量是类变量 # self.变量名的方式,叫做实例变量 # def set_palm(self,name): # self.name = name # # def set_age(self,age): # self.age = age def eat(self): print("eating") def play(self): print("playing") zs = people('李四',30,190) zs1 = people("谢广坤",50,150) # zs.set_palm("张三") # zs.set_age("39") print(f"张三的姓名是: {zs.name} ; 张三的年龄是: {zs.age} ;张三的体重是:{zs.weight}") print(f"谢广坤的姓名是: {zs1.name} ; 谢广坤的年龄是: {zs1.age} ;谢广坤的体重是:{zs1.weight}") #类变量和实例变量的区别 #类变量需要类来访问的,实例变量需要实例来访问 # print(people.name) #类变量 # print(zs1.name) #实例变量 #类变量和实例变量都是可以修改的 print(people.name) people.name = "ALEX" print(people.name) print(zs1.name) zs1.name = "赵四" print(zs1.name) #类方法和实例方法的区别 #类不能访问实例方法,如果必须访问,则需要加一个装饰器 #print(people.eat()) #类方法不能访问实例方法 zs.eat()