前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python面向对象知识

Python面向对象知识

作者头像
读懂原理
发布2022-07-01 15:00:30
1910
发布2022-07-01 15:00:30
举报
文章被收录于专栏:给点知识

1.并行与并发

并发:假的多任务,一个 cpu轮询运行多个程序,表面上看着像同时运行,其实是依次运行。

并行:真的多任务,多个CPU同时处理多个任务,同时进行

2.类对象、实例对象、类属性、实例属性、静态方法、实例方法、类方法

  1. 类属性和实例属性
  1. 类方法、实例方法、静态方法

三种方法在内存中都归属于类,区别在于调用方式不同。

  • 类方法:由类调用,至少一个cls参数,执行类方法时,自动将调用该方法的类赋值给cls
  • 实例方法:由对象调用,至少一个self参数,执行实例方式时,自动将调用该方法的对象赋值给self
  • 静态方法:由类调用,无默认参数。

相同点:

  • 都归属于类

不同点:

  • 定义方式不同,类方法@classmethod 静态方法@staticmethod 实例方法def test(self,)
  • 调用方式不同,类对象可以调用类方法,静态方法,实例对象可以调用这仨个
  • 传参数不同,类方法调用时默认传参数cls(类对象赋值给cls),实例方法默认传参数self(实例对象赋值给self)

问:为什么要有静态方法呢?

本来可以把静态方法提出来与类评级,当作一个文件的普通方法使用。将来调用的时候会直接调用就行了.

比如我们有两个类Person和Animal还有一个hanmao的方法,两个类都希望有个方法不想使用类方法和实例方法,因为不需要传用到cls和self,所以都准备调用hanmao这个方法,因为都有汗毛,但是动物与人的汗毛不一样长,那么解决方法就有这么几种,使用不同的命名,person_hanmao和animal_hanmao,或者定义一个方法内部进行判断,这样倒是可以但是如果类多的话,那么就会有很多很长的代码,而且后期不好维护,比如有一天那个类不用了,还要去方法中删除,容易忘记删除等问题。所以这不是好的解决方法,所以就出现了静态方法,直接放在每一个类中,解决了不传参数问题,也解决了命名问题。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 给点知识 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.并行与并发
相关产品与服务
日志服务
日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档