class Foo(object):

#实例方法,第一个承诺书必须是实例对象,一般习惯用self.

def ins_m(self):

print("是类{}的实例方法,只能被实例调用".format(Foo))

#类方法,第一个参数必须是类对象,一般习惯使用cls.使用@classmethod装饰器装饰

@classmethod

def cla_m(cls):

print('class method')

#j静态方法,参数没有要求,和类没有绑定关系,就是一个普通的方法,

@staticmethod

def sta_m():

print('static method')

foo=Foo() #创建一个实例

#实例方法只能被实例调用 (如果把实例方法的参数去掉,可以被类调用,不能被实例调用!)

#类方法可以被类和实例调用

#静态方法可以被类和实例调用 (不需要参数)

因此:当类中的某个方法是一个普通方法时,加一个staticmehod装饰器,不需要添加实例参数。此方法可以用外部函数替换。

另外还有一个abstractmethod,抽象类,一般在基类中使用,只能被继承,不能被实例化!

python中 普通方法_python中普通方法classmethod和staticmethod的区别与用法相关推荐

  1. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  2. python中定义数据结构_Python中的数据结构—简介

    python中定义数据结构 You have multiples algorithms, the steps of which require fetching the smallest value ...

  3. JavaScript中for、for...in、for...of、forEach的区别和用法

    JavaScript中for.for...in.for...of.forEach的区别和用法 for循环 forEach循环 for...in循环 for...of循环 总结 for循环 基本语法格式 ...

  4. 详解linux杀死进程方法:kill、pkill、killall之间的区别及用法!

    详解linux杀死进程方法:kill.pkill.killall之间的区别及用法! kill 命令 killall 命令 pkill 命令 kill.pkill.killall之间的区别 kill 命 ...

  5. python中plot实现即时数据动态显示方法_python中plot实现即时数据动态显示方法

    在Matlab使用Plot函数实现数据动态显示方法总结中介绍了两种实现即时数据动态显示的方法.考虑到使用python的人群日益增多,再加上本人最近想使用python动态显示即时的数据,网上方法很少,固 ...

  6. python怎么显示结果_python中plot实现即时数据动态显示方法

    在Matlab使用Plot函数实现数据动态显示方法总结中介绍了两种实现即时数据动态显示的方法.考虑到使用python的人群日益增多,再加上本人最近想使用python动态显示即时的数据,网上方法很少,固 ...

  7. python中常见的双下方法_python中常见的双下方法_python面向对象(5)__特殊双下方法...

    双下方法 双下方法是开发python这个语言程序员用的,源码中使用的. 我们不能轻易使用双下方法.可能重新写object的源码,慎用!!! 双下方法特征:你不知道干啥了,就会触发某个双下方法 len ...

  8. python向量机使用方法_Python中支持向量机SVM的使用方法详解

    除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类.因为Python中的sklearn库也集成了SVM算法,本文的运行环境是Pycharm. 一.导 ...

  9. python list删除元素_python中List添加、删除元素的几种方法

    原博文 2015-06-21 18:51 − 一.python中List添加元素的几种方法 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非 ...

最新文章

  1. NumPy之array
  2. HDU2034 人见人爱A-B
  3. ubuntu20上安装starUML3
  4. plsql连接 oracle instantclient_11_2 本地机器不安装oracle_02
  5. (原創) 如何将字符串前后的空白去除? (使用string.find_first_not_of, string.find_last_not_of) (C/C++)...
  6. python怎么把数据导入excel_如何把python中的数据导入excel
  7. 基于Matlab的数字图像gui界面设计
  8. python实现一种相似图片搜索算法
  9. tplink 无线打印服务器,tplink打印服务器设置
  10. 探索MapReduce过程及分组详解
  11. mqtt 服务器 ca 证书,如何将SSL MQTT客户机与CA签名服务器证书连接?
  12. JS根据屏幕分辨率自动调整字体大小
  13. 使用vuepress-reco主题创建博客
  14. 字体转换 (代码整理 备忘)
  15. Y件DOOK: VSC 安装 谷歌浏览器调试 固件插件 Debugger for Chorme
  16. Excel制作饼图的法宝!Smartbi可视化工具图表制作
  17. python绘制三维地形_三维数字场地模型(上篇):Civil3D 地形的生成
  18. 宏录制流程——例:生成工资条
  19. python提供服务_利用Python打造短链服务(一)
  20. 教育部大学计算机课程改革项目规划教材答案,大学计算机实验指导及习题训练(教育部大学计算机课程改革项目规划教材)...

热门文章

  1. eclipse打包成jar_Spring Boot 打包成的可执行 jar ,为什么不能被其他项目依赖?
  2. java reactor框架_Java反应式框架Reactor中的Mono和Flux
  3. SparkSQL之External Data
  4. elasticsearch mapping之fields
  5. Python实用小技能,一个比一个高级!
  6. 雷军:小米将扩招5000名工程师!多个领域需要用到C++
  7. camunda 流程执行追踪_九思OA项目管理解决方案:规范企业项目流程,掌握项目进展...
  8. vue - blog开发学习2
  9. [Lintcode]136. Palindrome Partitioning /[Leetcode]131. Palindrome Partitioning
  10. 九章算法班L5 Linked List