免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1688 | 回复: 1
打印 上一主题 下一主题

关于@staticmethod和instance()的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-08 17:37 |只看该作者 |倒序浏览
### 文件:a.py
class instanceClass:
    def __init__(self):
        print "instanceClass __init__"

    @classmethod
    def instance(cls):
        if not hasattr(cls, "_instance"):
            cls._instance = cls()
        return cls._instance
   

class bookManager(instanceClass):
    aa = {}
    bb = {}

    def __init__(self):
        pass
   
    @staticmethod
    def readinfo():
        print "test"

##文件 b.py
import a

bookManager.instance().readinfo  和 bookManager.readinfo() 有什么不同呢?

是否可以这样使用 readinfo()这个方法?
aa = bookManager
aa.readinfo()

论坛徽章:
11
技术图书徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
2 [报告]
发表于 2012-03-08 20:57 |只看该作者
代码都写出来了,执行下,结果很明显

对于static method,类类型和类实例调用均可,没区别
bookManager.instance().readinfo  和 bookManager.readinfo() 有什么不同呢?


一切皆数据,赋值后也没什么变化,还是类类型,该怎么用还怎么用
是否可以这样使用 readinfo()这个方法?
aa = bookManager
aa.readinfo()
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP