Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文。

首先,这三种方法都定义在类中。下面我先简单说一下怎么定义和调用的。(PS:实例对象的权限最大。)

实例方法

定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法);

调用:只能由实例对象调用。

类方法

定义:使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法(不能传实例的属性和方法);

一般用于实现另外的构造方法

调用:实例对象和类对象都可以调用。

静态方法

定义:使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,但是方法体中不能使用类或实例的任何属性和方法;

调用:实例对象和类对象都可以调用。

抽象方法

定义:使用装饰器@abstractmethod,含abstractmethod方法的类不能实例化,继承了含abstractmethod方法的子类必须复写所有abstractmethod装饰的方法,未被装饰的可以不重写

python静态方法怎么调用_python实例方法、静态方法和类方法相关推荐

  1. python实例方法、类方法、静态方法的区别_Python 实例方法、类方法、静态方法的区别与作用...

    Python 实例方法.类方法.静态方法的区别与作用 一.总结 一句话总结: 实例方法:第一个参数必须是实例对象,该参数名一般约定为"self",通过它来传递实例的属性和方法(也可 ...

  2. java静态方法的调用方法_Java静态方法和实例方法

    一:静态方法 其实在我们第一天学习java的时候就使用了静态方法,主方法的就是一个静态方法,静态方法和静态属性一样使用static修饰. DEMO:定义静态方法 发现了可以使用"类名.方法名 ...

  3. php中静态方法的调用,php中静态方法和非静态方法如何相互调用?

    php中静态方法和非静态方法如何相互调用?2020-09-01 00:05:28 php中静态方法和非静态方法相互调用的方法:1.非静态方法调用静态方法: 可以[self]或者类名加[::]的形式调用 ...

  4. python 实例方法 类方法_Python实例方法 静态方法 类方法

    @staticmethod和@classmethod的区别 class 类 @staticmethod @classmethod 首先创建一个类,如果想要调用Student类中的方法get_score ...

  5. python对象点方法_python对象方法、类方法、静态方法

    1.我们已经讨论了类/对象可以拥有像函数一样的方法,这些对象方法与函数的区别只是一个额外的self变量 # -*- coding:utf-8 -*- #!/usr/bin/python # Filen ...

  6. python中类方法和静态方法的区别_python中静态方法和类方法的区别

    1.静态方法就是一个普通的方法,与类和对象无关 2.类方法就是JAVA里面的类方法,属于类,被各个对象共享 class OptSample(object): count = 0 def __init_ ...

  7. python什么是调用_Python中包(package)的调用方式

    一.什么是Python Package 如何区分你看到的目录是一个Python Package包呢?其实很简单,你只要看这个名录下是否有"__init__.py"这个文件就好了,如 ...

  8. python api接口调用_python 调用有道api接口的方法

    初学者学习python,研究了几天之后,我写了一个python程序调用有道api接口.效果如下图所示:声明:代码仅仅是像我这样的初学者学习和交流.应用程序非常简单.PS:评审不需要时间,请不要滥用!! ...

  9. python html模块调用_Python html 模块简介

    1 html.entities HTML 实体 name2codepoint 将 HTML 实体名称映射到 Unicode 代码点: html5 将 HTML5 命名字符引用映射到等效的 Unicod ...

最新文章

  1. MIT开发新加密货币,用户所需数据比比特币减少99%
  2. java中常见类型转换
  3. AI基础:入门人工智能必看的论文【附下载链接】
  4. 二元函数洛必达求极限_由一类特殊的洛必达法则情形展开的讨论 ——小领域的大作用...
  5. 事务、视图、索引、备份、还原
  6. React Native封装Toast与加载Loading组件
  7. java枚举可以int值不_java – 如何通过int值迭代枚举?
  8. php实现的mongodb操作类
  9. sql中的where 1=1有什么用?
  10. sql devalop连接mysql_SQL-Mysql表结构操作
  11. 在android系统中制作系统签名jks
  12. Linux应用层24点小游戏,C++ Builder构建算二十四点小游戏
  13. 遗传算法(一) 遗传算法的基本原理
  14. 全球与中国电动车PTC辅助加热器市场深度研究分析报告
  15. 基于LM2596开关稳压电源控制设计(毕业设计整套资料)
  16. 计算机器点游戏,24游戏计算器
  17. App自动化测试之Java平台下使用Appium测试App(一)
  18. 未来是一个三无的世界,三无具体指什么?
  19. H264视频压缩算法
  20. 7-1 jmu-Java-06异常-01-常见异常 (5 分)

热门文章

  1. jquery中ajax应用——get()和post()
  2. Mask-RCNN训练train_shapes.ipynb
  3. super 关键字的使用及说明
  4. poj 2318 TOYS
  5. Oracle EBS学习网站列表
  6. [转载] python隐式转换_Python | 数据类型的转换 显式转换 隐式转换
  7. [转载] python 需求清单_Python清单操作摘要
  8. 触发器、锁存器、寄存器以及它们之间的区别
  9. Vivado中的Incremental Compile增量编译技术详解
  10. Mysql常用的几种join连接方式