类中定义的函数属性,在没有经过任何附加处理时,实际上是给对象使用的,绑定给对象使用,谁来调用就实现谁的功能
#先定义类 #__init__方法用来为对象定制对象自己独有的特征 class LuffyStudent: school = "Luffycity" # 数据属性 # stu1,"王大拿","女",18 def __init__(self,name,sex,age): self.Name = name self.Sex = sex self.Age = age #stu1.Name = "王大拿" #stu1.Sex = "女" #stu.Age = 18 # 类中定义的函数属性,在没有经过任何附加处理时,实际上是给对象使用的,绑定给对象使用,谁来调用就实现谁的功能 def learn(self): # 函数属性 # self传的是对象 print("%s is Learning" % self.Name) def eat(self): # 函数属性 print("%s is eating" % self.Name) def sleep(self): print("%s is sleeping" % self.Name) #后产生对象 stu1 = LuffyStudent("王大拿","女",18) # LuffStudent.__init__(stu1,"王大拿","女",18) stu2 = LuffyStudent("五六七","男",26) stu3 = LuffyStudent("张全蛋","男",38) #对象:特征与技能的结合体 #类:类是一系列对象相似的特征与相似的技能的结合体
一、类中的数据属性:是所有对象共有的,,内存地址是一样的
#类中的数据属性:是所有对象共有的,内存地址是一样的 print(LuffyStudent.school,id(LuffyStudent.school)) print(stu1.school,id(stu1.school)) print(stu2.school,id(stu2.school)) print(stu3.school,id(stu3.school))
二、类中的函数属性:是绑定给对象使用的,绑定到不同的对象是不同的绑定方法
对象调用绑定方法时,会把对象本身当作第一个参数传入到self
stu1.learn() # learn(stu1) stu1.sleep() # sleep(stu1) stu2.learn() # learn(stu2)
原文:https://www.cnblogs.com/nanjo4373977/p/12167193.html