码迷,mamicode.com
首页 > 编程语言 > 详细

python静态方法类方法属性方法

时间:2017-07-14 23:53:50      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:对象   log   div   静态方法   相对   logs   类变量   ssm   cmd   

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

 

 
 
 
 
 
 

python静态方法类方法属性方法

标签:对象   log   div   静态方法   相对   logs   类变量   ssm   cmd   

原文地址:http://www.cnblogs.com/seablog/p/7173085.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!