文章目录

  • 基础知识补充
  • 类方法、实例方法、静态方法

基础知识补充

Python面向对象-访问权限public和private
可以在属性的名称前面加上两个下划线__。如果一个变量以__开头,就变成了一个私有变量private,只有内部可以访问。

类方法、实例方法、静态方法

静态方法装饰器下定义的方法属于函数(function);
类方法装饰器下定义的方法属于方法(method);
静态方法无需传入任何参数;
类方法传入的第一个参数必须是class本身cls;
静态方法与类方法一旦被调用,内存地址即确定。通过类调用和通过实例化对象调用的结果完全一样。

class person:def __init__(self, name, age):self.name = nameself.age = age# 实例方法,类对象实例化以后才能调用def doThing(self):print("{}在{}岁时,就可以创作!".format(self.name, self.age))# 定义一个类方法,使用关键字cls,表示类本身# 不能调用实例方法,可以调用其他类方法或者静态方法@classmethoddef test1(cls):print('这是一个类方法')cls.test3()cls.test2()# 定义一个静态类方法@staticmethoddef test2():print('这是一个静态类方法')person.test3()person.test4()@classmethoddef test3(cls):print('这是第二个类方法')@staticmethoddef test4():print('这是第二个静态类方法')p1 = person(name='Tom', age='5')
p1.doThing()p1.test1()
p1.test2()person.test1()
person.test2()

运行结果:

python学习-类(类方法、实例方法、静态方法)相关推荐

  1. Python学习——类与对象

    一.编程的两大思想 (1)面向过程 事物比较简单,用简单的线性思维即可解决 (2)面向对象 事物比较复杂,用简单的线性思维无法解决 (3)两者之间的关系 在面对复杂的问题时,宏观上是使用面向对象,但具 ...

  2. 类的实例方法静态方法类方法属性方法属性

    目录: 分类 实例方法 静态方法 类方法 属性方法 属性 分类: 按照调用方式可以分为3种,实例方法.静态方法.和类方法 实例方法 实例方法只能通过实例对象调用,不能通过类进行调用.实例方法再定义时候 ...

  3. python类定义中__init__()_转:python学习——类中为什么要定义__init__()方法

    学习Python的类,一直不太理解为什么一定要定义init()方法,现在简要谈一下自己的理解吧. 1.不用init()方法定义类 定义一个矩形的类,目的是求周长和面积. 1 classRectangl ...

  4. day24 python学习 类 画元,命名空间作用域,组合,人狗大战升级

    类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就 ...

  5. python学习--类、模块、包

    目录 面向对象编程思想 类的特点 类的定义 类的变量 类的方法 类中的方法 类方法 静态方法 实例方法 类的继承 子类的定义 覆写父类的方法 私有化 下划线相关变量命名 模块 包 面向对象编程思想 类 ...

  6. python中的类方法和静态方法

    类可以有类属性,也可以有类方法,类方法主要是对类属性的封装.是类对象所拥有的方法,需要用修饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数( ...

  7. python创建类的实例方法-Python中动态创建类实例的方法

    简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模 ...

  8. python学习-类(global、nonlocal、继承、多态)

    文章目录 global与nonlocal 继承和多态 global与nonlocal 1.函数内部定义的为局部变量,其作用域是局部作用域,函数外无法调用的 2.函数外定义的为全局变量,其作用域是全局作 ...

  9. Python学习-类的继承

    1 继承: 2 #python2 经典类是按深度优先来继承的,新式类是按广度优先来继承的 3 #python3 经典类和新式类都是按广度优先来继承的 4 5 6 7 #经典类:class People ...

最新文章

  1. 比尔盖茨2016好书推荐
  2. StringCollection FAQ [C#, BCL]
  3. Visual C++——黄维通《 Visual C++面向对象与可视化程序设计》——例题9-5
  4. deamon守护进程
  5. Product Archive相关的标准function module
  6. 面向对象基础-委托与事件
  7. 浏览器打不开python的页面_robotframework,selenium启动不了打不开浏览器的问题访问不了网页...
  8. 离线语音识别软件_6.语音板使用科大讯飞离线命令词识别
  9. 仅一年,近半加密货币的“ICO”项目已死
  10. AngularJS+ASP.NET MVC+SignalR实现消息推送
  11. sqlserver 备份脚本
  12. java设计一个user类_java – 如何使用两种不同类型的用户组织OO设计
  13. windows下安装VM虚拟机和Ubuntu系统(附注册密钥)
  14. php跳转qq临时会话,怎样做出在网页中弹出QQ临时对话框
  15. 【数字通信】Matlab实现16QAM调制与解调,判决,误码率计算
  16. duet for Mac(Mac投屏软件)好用又不花钱
  17. 如何隐藏电脑下方工具栏个别图标_如何隐藏任务栏上的图标?多种隐藏任务栏图标的方法...
  18. 绕过iframe busting
  19. 2021-2027全球与中国双断面隔离器市场现状及未来发展趋势
  20. 密码学应用的四个进化阶段 | 博文精选

热门文章

  1. SAP Cloud for Customer的inscreen_dataflow处理方式
  2. Text store debug FM CRM_TEXT_MAINTAIN_OW
  3. SAP Fiori 1.0 Migrate to Fiori 2.0
  4. hybris安装执行install.sh -r b2c_acc initialize遇到build错误 8983端口
  5. Cloud Fiori Launchpad
  6. R3 data related to category and hierarchy mapping logic in CRM
  7. ABAP document read logic
  8. Use BAdI - call_workitem_exit workflow
  9. etag flag setting in metadata MPC_EXT
  10. winrar皮肤的更换