标签:没有 init 报错 int 步骤 nbsp 实例 pre school
__init__方法用来为对象定制自己独有的特征
加上__init__实例化的步骤:
1、先产生一个空对象
2、 触发university.__init__("王二丫","女",18)并传入值
class university: school = "Peking University" # 数据属性 def __init__(self,name,sex,age): self.Name = name self.Sex = sex self.Age = age # stu1 = university("王二丫", "女", 18) # stu1.Name="王二丫" # stu1.Sex = "女" # stu1.Age = 18 def learn(self): # 函数属性 print("is learning") def eat(self): # 函数属性 print("is sleeping") # __init__方法用来为对象定制自己独有的特征 stu1 = university("王二丫","女",18)
查看
#查看 print(stu1.__dict__) # stud1有独立的名称空间(字典形式) print(stu1.Name) print(stu1.Age) print(stu1.Sex)
改
stu1.Name = "李二丫" print(stu1.__dict__) print(stu1.Name)
删除
# 删 del stu1.Name print(stu1.__dict__)
增加
# 增 stu1.class_name = "金融" print(stu1.__dict__)
对象:特征与技能的结合体
类:一系列对象相似的特征与相似的技能的结合体
类中的数据属性:所有的对象所共有的(内存地址一样)
# 类中的数据属性:所有的对象所共有的(内存地址一样) print(university.school) # 普通函数的内存地址 print(stu1.school,id(stu1.school)) print(stu2.school,id(stu2.school)) print(stu3.school,id(stu3.school))
类中的函数属性:绑定给对象使用的,绑定到不同的对象是不同的方法,对象调用绑定方式时,谁来说调用,就会默认把对象本身当作第一个参数传入self
stu1.learn() # 等同于print(stu1.learn) stu2.learn()
当对象访问一个属性时,会先从自己的名称空间中找这个属性,没有的从类里面去找,没有从父类去找,再没有就报错了。
标签:没有 init 报错 int 步骤 nbsp 实例 pre school
原文地址:https://www.cnblogs.com/fantsaymwq/p/9867705.html