python--类、对象
Class 类
Class 类
一个类即是对一类拥有相同属性的对象的抽象、蓝图、原型。在类中定义了这些对象的都具备的属性(variables(data))、共同的方法
Object 对象
一个对象即是一个类的实例化后实例,一个类必须经过实例化后方可在程序中调用,一个类可以实例化多个对象,每个对象亦可以有不同的属性,就像人类是指所有人,每个人是指具体的对象,人与人之前有共性,亦有不同
- 对象:实例化一个类后得到的对象
- 即有类变量也有实例变量,没有类方法的状态下先用实例变量
- 其实self,就是实例本身!你实例化时python会自动把这个实例本身通过self参数传进去。
- 类名+()产生一个实例(对象,对象空间.)
- 自动执行类中的__init__方法,将对象空间传给__init__的self参数,
- 给对象封装相应的属性.
操作类中的方法(除了类方法,静态方法 需要类名调用之外,剩下的方法都要对象调用)
r1 = Role('zou','police','AK47’)
此时self 相当于 r1 , Role(r1,'zou','police','AK47’)
r2 = Role('Jack','terrorist','B22’)
此时self 相当于 r2, Role(r2,'Jack','terrorist','B22’)
class Person: mind = '思想' # 静态变量,静态字段 animal = '高级动物' def __init__(self, name, age): # 构造方法 self.name = name self.age = age def work(self): # 方法 ,动态变量 print('都会工作...') def func(self): Person.money = '货币' self.hight = 175 print(Person.__dict__) print(Person.mind) # 查 Person.money = '货币' # 增 Person.animal = '低等动物' # 改 del Person.mind # 删
结果:
{'__module__': '__main__', 'mind': '思想', 'animal': '高级动物', '__init__': <function Person.__init__ at 0x03634CD8>, 'work': <function Person.work at 0x03634C48>, 'func': <function Person.func at 0x03634C90>, '__dict__': <attribute '__dict__' of 'Person' objects>, '__weakref__': <attribute '__weakref__' of 'Person' objects>, '__doc__': None} 思想
class Dome: n = 123 # 类变量 def __init__(self, name): # 构造函数,相当于给类声 明变量 self.name = name # 实例变量,作用域就是实例本身 def talk(self): # 每一个函数里都要有一个self print('%s:say hello' % self.name) f = Dome('zou') # 实例化,初始化一个类。把一个类变成一个对象的过程叫做实例化 f.talk() # Dome('zou').talk()
结果:
zou:say hello
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)