python静态方法实例


Posted in Python onJanuary 14, 2015

本文实例讲述了python静态方法。分享给大家供大家参考。

具体实现方法如下:

staticmethod Found at: __builtin__

staticmethod(function) -> method

     

    Convert a function to be a static method.

     

    A static method does not receive an implicit first argument.

    To declare a static method, use this idiom:

     

    class C:

    def f(arg1, arg2, ...): ...

    f = staticmethod(f)

     

    It can be called either on the class (e.g. C.f()) or on an

     instance

    (e.g. C().f()).  The instance is ignored except for its class.

     

    Static methods in Python are similar to those found in

     Java or C++.

    For a more advanced concept, see the classmethod builtin.


class Employee:

   """Employee class with static method isCrowded"""

 

   numberOfEmployees = 0  # number of Employees created

   maxEmployees = 10  # maximum number of comfortable employees

 

   def isCrowded():

      """Static method returns true if the employees are crowded"""

 

      return Employee.numberOfEmployees > Employee.maxEmployees

 

   # create static method

   isCrowded = staticmethod(isCrowded)

 

   def __init__(self, firstName, lastName):

      """Employee constructor, takes first name and last name"""

 

      self.first = firstName

      self.last = lastName

      Employee.numberOfEmployees += 1

 

   def __del__(self):

      """Employee destructor"""

 

      Employee.numberOfEmployees -= 1     

 

   def __str__(self):

      """String representation of Employee"""

 

      return "%s %s" % (self.first, self.last)

 

# main program

def main():

   answers = [ "No", "Yes" ]  # responses to isCrowded

    

   employeeList = []  # list of objects of class Employee

 

   # call static method using class

   print "Employees are crowded?",

   print answers[ Employee.isCrowded() ]

 

   print "\nCreating 11 objects of class Employee..."

 

   # create 11 objects of class Employee

   for i in range(11):

      employeeList.append(Employee("John", "Doe" + str(i)))

 

      # call static method using object

      print "Employees are crowded?",

      print answers[ employeeList[ i ].isCrowded() ]

 

   print "\nRemoving one employee..."

   del employeeList[ 0 ]

 

   print "Employees are crowded?", answers[ Employee.isCrowded() ]

 

if __name__ == "__main__":

   main()

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

Python 相关文章推荐
python 根据正则表达式提取指定的内容实例详解
Dec 04 Python
最近Python有点火? 给你7个学习它的理由!
Jun 26 Python
python实现kMeans算法
Dec 21 Python
Python面向对象之静态属性、类方法与静态方法分析
Aug 24 Python
Python 使用Numpy对矩阵进行转置的方法
Jan 28 Python
Python Web框架之Django框架Model基础详解
Aug 16 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
Python实现对adb命令封装
Mar 06 Python
python如何更新包
Jun 11 Python
Python selenium环境搭建实现过程解析
Sep 08 Python
Python环境配置实现pip加速过程解析
Nov 27 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 Python
python继承和抽象类的实现方法
Jan 14 #Python
python列表操作实例
Jan 14 #Python
python操作gmail实例
Jan 14 #Python
Python中的装饰器用法详解
Jan 14 #Python
python登陆asp网站页面的实现代码
Jan 14 #Python
Python的面向对象思想分析
Jan 14 #Python
为python设置socket代理的方法
Jan 14 #Python
You might like
php Smarty初体验二 获取配置信息
2011/08/08 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
php实现数组按指定KEY排序的方法
2015/03/30 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
php实现微信发红包功能
2018/07/13 PHP
Javascript学习笔记一 之 数据类型
2010/12/15 Javascript
JavaScript的null和undefined区别示例介绍
2014/09/15 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
2016/05/05 Javascript
动态加载js、css的简单实现代码
2016/05/26 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
浅谈js中的bind
2019/03/18 Javascript
JS实现的tab切换并显示相应内容模块功能示例
2019/08/03 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
python统计文本文件内单词数量的方法
2015/05/30 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
python将list转为matrix的方法
2018/12/12 Python
详解python的四种内置数据结构
2019/03/19 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
python zip()函数的使用示例
2020/09/23 Python
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
个人自荐书
2013/12/20 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
新闻编辑求职信
2014/07/13 职场文书
2015年村级财务管理制度
2015/08/04 职场文书