美文网首页
python中的类示例方法,类方法,静态方法的使用与区别

python中的类示例方法,类方法,静态方法的使用与区别

作者: 徐德东 | 来源:发表于2018-01-17 11:49 被阅读0次

    class Test(object):

        age = 20

        def __init__(self, name):

            self.name = name

        def func(self):

            print  self.age, self.name, Test.age

        @classmethod

        def class_func(cls):

            print Test.age, cls.age

        @staticmethod

        def static_func(arg):

            print arg, Test.age

    t = Test()

    t.func()

    t.class_func()

    t.static_func()

    Test.class_func()

    Test.static_func()

    方法定义:

    1:实例方法就是类的实例能够使用的方法。

    2:静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作。使用装饰器@staticmethod定义静态方法。类对象和实例都可以调用静态方法。

    3:类方法是将类本身作为对象进行操作的方法。类方法使用@classmethod装饰器定义,其第一个参数是类,约定写为cls。类对象和实例都可以调用类方法。

    使用:

    1:类的实例可以访问实例方法,类方法和静态方法

    2:类可以访问类方法和静态方法,但是不能访问实例方法。

    3:类和实例都能访问类的成员属性。实例可以访问实例属性,但是类不能访问实例属性。


    参数传递区别:

    1:实例方法悄悄传递的是self引用作为参数,

    2:类方法悄悄传递的是cls引用作为参数。

    3:静态方法无隐含参数。

    相关文章

      网友评论

          本文标题:python中的类示例方法,类方法,静态方法的使用与区别

          本文链接:https://www.haomeiwen.com/subject/lpyyoxtx.html