python的类方法和静态方法


Posted in Python onDecember 13, 2014

本文实例讲述了python的类方法和静态方法。分享给大家供大家参考。具体分析如下:

python没有和C++中static关键字,它的静态方法是怎样的呢?还有其它语言中少有的类方法又是神马?

python中实现静态方法和类方法都是依赖于python的修饰器来实现的。

class MyClass: 

 

    def  method(self): 

           print("method") 

 

    @staticmethod 

    def  staticMethod(): 

            print("static method") 

 

     @classmethod 

     def classMethod(cls): 

           print("class method")

大家注意到普通的对象方法、类方法和静态方法的去别了吗?
对象方法有self参数,类方法有cls参数,静态方法是不需要这些附加参数的。
在C++中是没有类方法着个概念的的

class A(object):

    "This ia A Class"
    @staticmethod

    def Foo1():

        print("Call static method foo1()\n")
    @classmethod

    def Foo2(cls):

        print("Call class method foo2()")

        print("cls.__name__ is ",cls.__name__)
A.Foo1();

A.Foo2();

结果是:
Call static method foo1()

Call class method foo2()
cls.__name__ is  A

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python获取当前时间的方法
Jan 14 Python
Python2.x中文乱码问题解决方法
Jun 02 Python
解析Python中while true的使用
Oct 13 Python
使用pandas批量处理矢量化字符串的实例讲解
Jul 10 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
python实现电子书翻页小程序
Jul 23 Python
解决python多行注释引发缩进错误的问题
Aug 23 Python
python基于gevent实现并发下载器代码实例
Nov 01 Python
Python2与Python3的区别点整理
Dec 12 Python
python实现提取str字符串/json中多级目录下的某个值
Feb 27 Python
python如何实现DES加密
Sep 21 Python
Python eval函数原理及用法解析
Nov 14 Python
Python计算程序运行时间的方法
Dec 13 #Python
Python编程中的反模式实例分析
Dec 08 #Python
Python实现拼接多张图片的方法
Dec 01 #Python
python字符串替换的2种方法
Nov 30 #Python
Python中3种内建数据结构:列表、元组和字典
Nov 30 #Python
Python函数中定义参数的四种方式
Nov 30 #Python
Python 自动补全(vim)
Nov 30 #Python
You might like
PHP用户指南-cookies部分
2006/10/09 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
PHP判断一个变量是否为整数、正整数的方法示例
2019/09/11 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
nodejs使用redis作为缓存介质实现的封装缓存类示例
2018/02/07 NodeJs
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
html5清空画布方法(三种)
2017/10/16 HTML / CSS
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
优秀员工年终发言演讲稿
2014/01/01 职场文书
打架检讨书50字
2014/01/11 职场文书
制药工程专业职业生涯规划范文
2014/03/10 职场文书
四风自我剖析材料
2014/09/30 职场文书
2015新员工工作总结范文
2015/10/15 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL
Java 超详细讲解hashCode方法
2022/04/07 Java/Android