【python】基础六:静态方法&类方法&属性方法

Python静态方法:@staticmethod

静态方法可以利用中国与TW的关系进行类比记忆,静态方法名义上属于当前实例,可以用当前实例进行调用,但静态方法不能使用当前实例中的self属性,因为本质上不属于当前实例,只是一个单独的方法。例子:就好像os这个模块,里面有os.system和os.mkdir这样两个方法,虽然os这个是一个类的实例,但两个方法之间没有什么关系,所以用@staticmethod来描述这两个方法。

Python类方法:@classicmethod

类方法可以利用朝鲜公民不能够私自更改国籍进行类比记忆。类方法只能调用类中的属性(就像一个类生产的时候就赋予的,而不是实例化过程中赋值进去的),不能够调用实例化时赋值进去的(构造函数中事先给定也不行)。

Python属性方法:@property /// @XXX.setter

属性方法顾名思义就是将一个类方法变成了一个属性,比如class.eat()这个属性方法不能再这么调用了,因为它成为属性方法后只能按照属性的格式进行调用,即class.eat(这种方式)。因此属性方法不能够传递参数,但是因为它是属性,所以可以复制,但不能直接进行赋值需要进行如下操作才可以赋值。需要在后面写上@eat.setter(这里的eat必须和上面的属性方法名称一致)然后在这个语句下方重写一个函数命名为eat, 这个函数要有一个参变量这样class.eat这个属性方法就可以直接赋值了如:class.eat=”mianbao”。类比于@eat.setter属性方法还可以删除,用@eat.delete方法和@eat.setter一致。
属性方法的实际用途:比如携程公司需要提取航班信息,并显示在自己的主页上,这就需要携程的程序员去调用航空公司所提供的API,而且这种显示在主页上的信息是动态变化的(比如航班的时间啊,航班是否已到达目的地呀等等状态)。然而对于用户也就是我来说,我只需要调用语句class.flight_status(这样一个属性变量)就可以得到所需要的信息,因此在这个过程中class.flight_status这个要是属性方法的话就很好了,他既可以想方法一样调用航空公司的API,得到航空公司提供的反馈信息后,还可以进行解析并输出。而作为我来说只需要调用一个属性变量就可以完成这么多操作,这样的情况下属性方法将提供巨大的便利。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yuanCruise

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

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

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

打赏作者

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

抵扣说明:

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

余额充值