zoukankan      html  css  js  c++  java
  • python静态方法类方法属性方法

    Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的:

    1)静态方法无需传入self参数,类成员方法需传入代表本类的cls参数;

    2)从第1条,静态方法是无法访问实例变量的,而类成员方法也同样无法访问实例变量,但可以访问类变量;
    3)静态方法有点像函数工具库的作用,而类成员方法则更接近类似Java面向对象概念中的静态方法。
    静态方法

        @staticmethod
        def staticmd():
            print '静态方法
       @classmethod
        def classmd(cls):
            print '类方法''
    静态方法:无法访问类属性、实例属性,相当于一个相对独立的方法,跟类其实没什么关系,换个角度来讲,其实就是放在一个类的作用域里的函数而已。
    类成员方法:可以访问类属性,无法访问实例属性。
     
     属性方法:@property
    Python内置的@property装饰器就是负责把一个方法变成属性调用  
    利用property装饰器,可以让成员函数称为只读的,不提供setter和deleter
    class C(object):
        def __init__(self):
            self._x = None
    
        @property
        def x(self):
            """I'm the 'x' property."""
            return self._x
    
        @x.setter
        def x(self, value):
            self._x = value
    
        @x.deleter
        def x(self):
            del self._x
     
     
     
     
     
     
  • 相关阅读:
    Hibernate的注释该如何使用?每一个注释代表什么意思?
    J2SE总结(一)-------容器
    解决hibernate向mysql插入中文乱码问题(更改MySQL字符集)
    android程序员成长路径的思考
    Fragment总结
    onCreateView的一个细节--Fragment
    屏幕适配
    表驱动法3
    表驱动法2
    表驱动法1
  • 原文地址:https://www.cnblogs.com/seablog/p/7173085.html
Copyright © 2011-2022 走看看