python 中的static-method (静态函数), classmethod(类函数 ), 成员函数
python 中的static-method (静态函数), classmethod(类函数 ), 成员函数
简介
类似Java、CPP中的类,可以定义static method、class method,python内也可以定义这类方法体。
这是通过python的注解来做的。
定义方法
类函数(@classmethod):定义类方法,可以通过类或者实例调用。方法的第一个参数是class对象。
成员函数: 实例的方法, 只能通过实例进行调用;第一个参数是该实例self。
静态函数(@staticmethod): 定义静态方法,可以通过类或者实例调用。第一个参数不需要是class对象或者实例self、
示例
来自网友的示例,可以看到
#-*-coding:utf-8-*-class PythonMethodSample(object):_g = 1def instanceMethod(self,x):print('executing instanceMethod(%s,%s)' %(self,x))@classmethoddef classMethod(cls,x):print('executing classMethod(%s,%s)' %(cls,x))@staticmethoddef staticMethod(x):print('executing staticMethod(%s)' %x) a = PythonMethodSample()
a.instanceMethod(1)
a.classMethod(1)
PythonMethodSample.classMethod(1)
a.staticMethod(1)
PythonMethodSample.staticMethod('hi')print(a.instanceMethod)
print(a.classMethod)
printa.staticMethod)
检查输出
executing instanceMethod(<__main__.PythonMethodClass object at 0x1004c3790>,1)
executing classMethod(<class '__main__.PythonMethodClass'>,1)
executing classMethod(<class '__main__.PythonMethodClass'>,1)
executing staticMethod(1)
executing staticMethod(hi)
<bound method PythonMethodClass.instanceMethod of <__main__.PythonMethodClass object at 0x1004c3790>>
<bound method type.classMethod of <class '__main__.PythonMethodClass'>>
<function staticMethod at 0x1004dd410>
python 中的static-method (静态函数), classmethod(类函数 ), 成员函数相关推荐
- python classmethod函数_在python中使用与instance和classmethod相同的函数
{t>在创建一个包装好的对象时,{cd1>不创建一个特殊的方法.像方法一样,每个访问都会创建一个新对象,在本例中是一个新的函数对象.在class A: def __init__(self) ...
- python 类函数 成员函数_python中的类函数、静态函数、成员函数以及类变量、成员变量...
1 classMethodDemo():2 classVar = 'This is a class variable' #类变量,可在类函数或者成员函数中引用,为所有实例共有的 3 def __ini ...
- Python中使用static、class、abstract方法
2019独角兽企业重金招聘Python工程师标准>>> 方法在Python中是如何工作的 方法就是一个函数,它作为一个类属性而存在,你可以用如下方式来声明.访问一个函数: Pytho ...
- C++中 线程函数为静态函数 及 类成员函数作为回调函数(转载)
C++中 线程函数为静态函数 及 类成员函数作为回调函数 线程函数为静态函数: 线程控制函数和是不是静态函数没关系,静态函数是在构造中分配的地址空间,只有在析构时才释放也就是全局的东西,不管线程是否运 ...
- python中标识符下划线用作开头_python python中那些双下划线开头的那些函数都是干啥用用的...
1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...
- Python中通过索引名称提取数据loc()函数Python中通过行和列下标提取数据iloc()函数
[小白从小学Python.C.Java] [Python全国计算机等级考试] [Python数据分析考试必会题] ● 标题与摘要 Python中通过索引名称提取数据 loc()函数 Python中通过 ...
- python中那些双下划线开头的那些函数都是干啥用用的
1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...
- python属性名以两个下划线开头_python python中那些双下划线开头的那些函数都是干啥用用的...
1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...
- Python中lambda详解(包括内置函数map、reduce、filter、sorted、max)
文章目录 一.lambda是什么? 1.lambda语法 2.语法详解 二.lambda的使用 1.定义 2.调用 3.替换 4.作返回值 三.lambda作参数 1.map函数 2.reduce函数 ...
最新文章
- Python制作当年第一款手机游戏-贪吃蛇游戏(练习)
- EOJ Monthly 2020.7 Sponsored by TuSimple 部分题解
- 服务器上tomcat修改内存,修改Tomcat运行内存
- 基数排序python实现
- 简单提升编译速度的一个方法
- 神经网络如何处理测试阶段出现的新特征?面向开放环境特征外推的图学习解决方案...
- SAP S4HANA使用ABAP获得生产订单的状态
- PartitionMotionSearch()函数
- 节省大量教科书的三种潜在风险方法
- 前端学习(3120):react-hello-react的setstate的一个说明
- 数组指定位置添加元素_访问数组的任意位置元素的性能真的一样?
- spring boot 使用 com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别
- xsd 生成 java 类_如何从Java类生成XSD
- hdu-5495 LCS(置换)
- 【ARM 】CMSIS
- 光学图像、SAR图像等区别
- java银行排队系统_java--面向对象(一个简单的银行排队系统)原理版
- 6.0系统xposed框架安装流程
- 一个域名引发的血案……
- 数据、源代码防泄密解决方案