python中cls是什么意思

robert_cxj 2008-09-07 01:50:23
在看python的代码时,在类定义时老是会出现cls这个东西,比如cls.xx ,请问cls是什么意思?刚学python,什么都不会,请指教,谢谢!
...全文
1947 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoxia_guo 2010-10-14
  • 打赏
  • 举报
回复
正好用的着,学习了
raphyer 2008-09-24
  • 打赏
  • 举报
回复
习惯使用参数名罢了
类似 self
使用元类生成类时,作为元类函数的首参数
harold2007 2008-09-17
  • 打赏
  • 举报
回复
学习了~
zzg315 2008-09-16
  • 打赏
  • 举报
回复
cls是class的缩写。



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

a = A()
A.Print1() #相当于Print1(A)
a.Print2() #相当于Print2(a), 请注意@classmethod
A.Print3()


可以看出来,python在通过“.”调用成员函数的时候,会将“.”前面的东西当作函数的第一个参数调用。
而且pyhon并不关心我们把类的成员函数的第一个参数的名称是什么,我们可以用任意的名称,可以看Print3的定义就知道了。


CDSoftwareWj 2008-09-08
  • 打赏
  • 举报
回复
有点像self
Aylazhang 2008-09-08
  • 打赏
  • 举报
回复
按照习惯,应该是类方法的第一个参数。
maplele20 2008-09-08
  • 打赏
  • 举报
回复
贴点代码,不然都是猜测。
iambic 2008-09-07
  • 打赏
  • 举报
回复
应该是class的意思吧。用于classmethod,有点像self。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧