首页 > 编程语言 > 详细

python中的静态方法和类方法的区别【转】

时间:2015-07-08 12:22:03      阅读:109      评论:0      收藏:0      [点我收藏+]
技术分享
class TestClassMethod(object):

    METHOD = ‘method hoho‘

    def __init__(self):
        self.name = ‘leon‘

    def test1(self):
        print ‘test1‘
        print self

    @classmethod
    def test2(cls):
        print cls
        print ‘test2‘
        print TestClassMethod.METHOD
        print ‘----------------‘

    @staticmethod
    def test3():
        print TestClassMethod.METHOD
        print ‘test3‘

if __name__ == ‘__main__‘:
    a = TestClassMethod()
    a.test1()
    a.test2()
    a.test3()
    TestClassMethod.test3()
技术分享

test1为实例方法

test2为类方法,第一个参数为类本身

test3为静态方法,可以不接收参数

类方法和静态方法皆可以访问类的静态变量(类变量),但不能访问实例变量,test2、test3是不能访问self.name的,而test1则可以

程序运行结果:

技术分享

python中的静态方法和类方法的区别【转】

原文:http://www.cnblogs.com/Blaxon/p/4629537.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!