自学python笔记记录——Day16(关于类属性和对象属性的误区,类方法,静态方法)

1.关于类属性和对象属性的误区

Python中,一切皆对象

··class AAA:定义的类属于 类对象
··obj1 = AAA() 属于 实例对象

·
①类在python中也是一个对象,称为 类对象

②而在类中创建的属性(即非类中创建的方法中的属性)称为 类属性

③当程序运行时,类也会被分配到内存中运行

④用实例对象调用类属性时,python会先从实例对象中查找该属性,没有找到时会到类中查找(从上到下查找)

⑤当实例对象为类属性赋新值时,会自动在实例对象的内存中创建出一个同名属性,并不会改变类属性的值,因此在需要调用类属性时应当采用 类名.类属性 , 而不要使用 实例对象.类属性

·

2.类方法

类方法 是针对 类对象 定义的方法

··在 类方法 内部可以直接访问 类属性 或者调用其他 类方法

实现方法:

@classmethod
def 类方法名(cls):
	pass

··类方法需要用修饰器@classmethod来标识,告诉解释器这是一个类方法

··类方法的第一个参数应该是cls(和实例方法中的self类似,使用其他名称也可以)

··在类方法中,可以通过cls.访问类的属性或调用其他的类方法

·

3.静态方法

●在开发时,如果需要在 中封装一个方法,这个方法:
 。既不需要访问实例属性或者调用实例方法
 。也不需要访问类属性或者调用类方法
 
●这个时候,可以把这个方法封装成一个 静态方法

实现方法:

@staticmethod
def 类名():
	pass

注:在调用静态方法时不需要创建实例对象,用 类名.静态方法名() 即可调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此时一位小白路过

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值