#
class Student: def __init__(self,name,age): self.name=name self.age=age def eat(self): print(self.name+'在吃饭') stu1=Student('张三',20) stu2=Student('李四',30) print(id(stu1)) print(id(stu2)) ''' 总结: 1.在__init__初始化方法中定义的属性是Student类的所有对象共享的属性,如self.name,self.age 2.在对象创建后创建的属性,只适用于该对象使用,若其他对象使用则会报错,因为没有该属性 3.一个Student类可以创建N多个Student类的实例对象,每个实例对象的属性可以相同也可以不同, ''' print('------------为stu2动态绑定性别属性---------------------------') stu1.gender='女' #只为stu1实例对象动态添加属性,该属性只适用于stu1实例对象 #print(stu1.name,stu1.age,stu1.gender) #AttributeError报错,对象里没有该属性 print(stu1.name,stu1.age,stu1.gender) #张三 20 女 print(stu2.name,stu2.age) #李四 30 print('--------------------------') stu1.eat() #张三在吃饭,对象可以直接引用类里定义的方法 stu2.eat() #李四在吃饭 '''除了可以动态添加属性,还可以动态添加方法''' def show(): print('定义在类之外的,称函数') stu1.show=show #将定义的函数绑定在stu1这个对象上 stu1.show() #绑定后stu1就可以调用show()方法了 #stu2.show() #因为stu2并没有绑定show方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现