python 对象方法 classmethod, staticclassmethod 区别
2014-03-04 14:56
330 查看
python 中普通方法,classmethod, staticclassmethod
class A(object): ''' 这个地方定义的变量为cls区域的 ''' a1=1 a2=2 def foo(self,x): ''' 对象方法有self, 这个地方定义是obj区域的 ''' self.a1=50 self.a2=30 print "executing foo(%s,%s)"%(self,x), "self scope", self.a1, "cls scope", A.a1 @classmethod def class_foo(cls,x): ''' 类方法有cls ''' print "executing class_foo(%s,%s)"%(cls,x) @staticmethod def static_foo(x): ''' 静态方法很懒,什么都没有 ''' print "executing static_foo(%s)"%x a=A() a.foo(1) A.class_foo(1) A.static_foo(22)
运行看看结果:
executing foo(<__main__.A object at 0x10efd82d0>,1) self scope: 50 cls scope: 1 executing class_foo(<class '__main__.A'>,1) executing static_foo(22) 1
相关文章推荐
- python中@staticmethod 、@classmethod 与一般方法的区别
- python的静态方法以及@staticmethod或@classmethod的区别
- python 中 @classmethod 、staticmethod 和 普通方法 的区别
- 粗解python的@classmethod和@staticmethod及普通实例方法
- Python使用@staticmethod和@classmethod分别建立方法
- python @classmethod 和 @staticmethod区别,以及类中方法参数cls和self的区别
- Python中@staticmethod和@classmethod的区别和用法
- python的 @staticmethod,@classmethod和@property的区别
- 飘逸的python - @staticmethod和@classmethod的作用与区别
- Python 用file 对象和open方法处理文件的区别
- 【再回首Python之美】【类-三种方法】绑定方法、@staticmethod、@classmethod的基本使用
- Python中staticmethod方法和classmethod方法区别
- python - @staticmethod和@classmethod的作用与区别
- Python中普通方法、staticmethod、classmethod的区别
- python staticmethod,classmethod方法的使用和区别以及property装饰器的作用
- python 类中@staticmethod,@classmethod和实例方法
- python中 classmethod、staticmethod和普通方法的区别
- python------@staticmethod和@classmethod的作用与区别
- static 和new对象方法的区别
- 成员变量和局部变量的区别、方法的形参为类的情况及匿名对象、封装(private关键字)、this关键字、构造方法、static关键字