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中变量交换的例子
Aug 25 Python
Python实现的简单hangman游戏实例
Jun 28 Python
python登录豆瓣并发帖的方法
Jul 08 Python
Python功能点实现:函数级/代码块级计时器
Jan 02 Python
Python 监测文件是否更新的方法
Jun 10 Python
对Django中的权限和分组管理实例讲解
Aug 16 Python
Windows10下 python3.7 安装 facenet的教程
Sep 10 Python
python读取ini配置文件过程示范
Dec 23 Python
解决pycharm不能自动补全第三方库的函数和属性问题
Mar 12 Python
基于plt.title无法显示中文的快速解决
May 16 Python
什么是python的函数体
Jun 19 Python
Python读取ini配置文件传参的简单示例
Jan 05 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编程语言开发动态WAP页面
2006/10/09 PHP
支持oicq头像的留言簿(二)
2006/10/09 PHP
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
php PDO异常处理详解
2016/11/20 PHP
原生javascript实现图片滚动、延时加载功能
2015/01/12 Javascript
深入理解JavaScript编程中的原型概念
2015/06/25 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
在Python的Flask中使用WTForms表单框架的基础教程
2016/06/07 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
Python3中列表list合并的四种方法
2019/04/19 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
python redis 批量设置过期key过程解析
2019/11/26 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
Pycharm Git 设置方法
2020/09/15 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
英国著名书店:Foyles
2018/12/01 全球购物
学院书画协会部门职责
2013/11/28 职场文书
高中生活自我鉴定
2014/01/18 职场文书
捐款倡议书范文
2014/02/02 职场文书
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
搞笑老公保证书
2015/02/26 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
PHP实现rar解压读取扩展包小结
2021/06/03 PHP
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python