类及对象属性
定义一个类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | class A( object ) a = "A" #类及实例对象的属性 def __init__( self ): self .b = "B" #实例对象的属性 class Meta: x = "X" #实例对象的属性 def a_print( self ): #对象方法 print ( "a_print" ) @classmethod #类方法 def class_print( cls ) print ( cls .__name__) print ( 'class_print' ) @staticmethod #静态方法 def static_print(): print ( "statci_print" ) @property #属性方法 def data( self ): print ( "data" ) print (A.a) #>>A 类调用属性a正常显示 print (A.b) #>> 报错.类A没有属性b # 实例化 c = A() #c就是类A的一个实例化对象 print (c.a) #>>A 属性a同样属于实例的属性 print (c.b) #>>B 属性b是实例的属性 print (A().Meta) #>><class '__main__.A.Meta'> print (A().Meta.x) #>> X # b属性只是实例的属性 # 类和实例对象同时具有属性a # Meta是属于实例对象的属性,不是类的属性,只有实例能够调用 # 类可以直接调用类方法,静态方法 # 类不能直接调用对象方法,如果要调用,必须传递一个实例对象,比如A.a_print(A()) # 实例对象可以调用上述所有的方法 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通