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

关于Python中定义类时 self 的理解

2015-01-20 17:52 615 查看
一直在用A byte of Python这本书学Python,时间跨度托得有点久。

今天才刚接触到类(class)的概念,敲完了目前最长的一个例子,加空行加注释一共60行(见笑了)。

对于class,定义一个类名称,然后同样要缩进,定义类中的方法(methods),如同单独定义函数(function),唯一的不同点是:

第一个定义的 method 一般是 __inti__ (初始化),形式是“__inti__(self, name)”,实际上用的变量只有name一个,self相当于这个“函数”的默认参数,因此以后在类中定义method,只需要在变量的括号里多加上 self 就行了

使用类时的格式为“实例(stance)名=类名(变量名),如: droid1 = Robot("R2-D2")。

调用类中的 method 用法和调用函数相同,如:droid1.say_hi()。

不过那个例子中,还有个地方不理解:

@classmethod
def how_many(cls):
"""Prints the current population."""
print "We have {:d} robots.".format(cls.population)
其中的 @classmethod 在这里是什么作用?

其中的变量名”cls“改成其他名称(如self)也能正常运行。

难道是声明后面的函数才是方法?

对method的理解也不够,晚上回去继续学习。

欢迎探讨指教!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: