您的位置:首页 > 编程语言 > Python开发

python的cls,self,classmethod,staticmethod

2015-01-18 22:43 218 查看
python类里会出现这三个单词,self和cls都可以用别的单词代替,类的方法有三种,一是通过def定义的 普通的一般的,需要至少传递一个参数,一般用self,这样的方法必须通过一个类的实例去访问,类似于c++中通过对象去访问;二是在def前面加上@classmethod,这种类方法的一个特点就是可以通过类名去调用,但是也必须传递一个参数,一般用cls表示class,表示可以通过类直接调用;三是在def前面加上@staticmethod,这种类方法是静态的类方法,类似于c++的静态函数,他的一个特点是参数可以为空,同样支持类名和对象两种调用方式;代码: [python] view plaincopy

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()

原文章地址:http://blog.csdn.net/xluren/article/details/9168535
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: