python的cls,self,classmethod,staticmethod
来源:互联网 发布:aix 修改ssh端口 编辑:程序博客网 时间:2024/05/18 18:44
python的cls,self,classmethod,staticmethod
python类里会出现这三个单词,self和cls都可以用别的单词代替,类的方法有三种,
一是通过def定义的 普通的一般的,需要至少传递一个参数,一般用self,这样的方法必须通过一个类的实例去访问,类似于c++中通过对象去访问;
二是在def前面加上@classmethod,这种类方法的一个特点就是可以通过类名去调用,但是也必须传递一个参数,一般用cls表示class,表示可以通过类直接调用;
三是在def前面加上@staticmethod,这种类方法是静态的类方法,类似于c++的静态函数,他的一个特点是参数可以为空,同样支持类名和对象两种调用方式;
class A: member = "this is a test." def __init__(self): pass @classmethod def Print1(cls): print "print 1: ", cls.member def Print2(self): print "print 2: ", self.member @classmethod def Print3(paraTest): print "print 3: ", paraTest.member @staticmethod def print4(): print "hello" a = A()A.Print1() a.Print1()#A.Print2()a.Print2()A.Print3()a.Print3() A.print4()
0 0
- python的cls,self,classmethod,staticmethod
- python的cls,self,classmethod,staticmethod
- python的cls,self,classmethod,staticmethod
- python的cls,self,classmethod,staticmethod
- python的cls,self,classmethod,staticmethod
- python的staticmethod、classmethod
- python 的@classmethod &&@staticmethod
- python的staticmethod和classmethod
- python的@classmethod和@staticmethod
- Python @staticmethod 和 @classmethod 的异同
- 理解python的staticmethod与classmethod实现
- 【Python】Staticmethod和classmethod的区别
- 理解python的staticmethod与classmethod实现
- Python中的staticmethod和classmethod 的异同
- python中staticmethod和classmethod的区别
- Python的classmethod和staticmethod区别
- python中classmethod和staticmethod的区别
- Python @classmethod 和 @staticmethod的比较
- Http协议
- Ipc方式的优缺点和适用场景
- OC语言 内存管理
- 在cmd等终端运行python代码,文件
- Content Provider
- python的cls,self,classmethod,staticmethod
- objective-c 的分类与扩展
- 安装包制作工具 SetupFactory 详解
- nginx配置文件nginx.conf的扩展
- poj-2718 Smallest Difference
- (转)可收缩、扩展的TextView
- Spring -- 一个事务中独立开启事务
- webView绕过信任证书访问https
- SQL优化