python类别基本概念

今天在看Python 入门时,对于类别这一章的基本概念,重新review一次:

类别物件提供预设行为

类别叙述建立类别物件,并指定给类别物件一个名称

位在类别叙述中的引数就成为类别的属性

类别属性释出类别状态和类别行为

实体物件从类别而来

呼叫类别物件会生成新的实体物件

每呼叫一次类别,就会产生一个新的实体物件。

每个实体物件都会继承类别的属性并得到属于自己的名称空间

从类别衍生出来的实体物件都是新的名称空间,一开始都是空的,但会继承类别物件的属性。

传递给self的引数会改变实体物件的属性

在类别的方法函式(method function)中,第一个引数(习惯上都以self命名)会指向函式正在处理实体物件;传递给self的引数会建立实体物件中的资料,或是改变实体物件中的资料,但绝不是动到类别里的属性。

我觉得这让我比较清楚Python中的类别的处理,但是在看周译乐的Python 教学文件,我发现我反而比较不懂,症结点在于特例(instance)的翻译,我觉得陈建勋译成实体真的很不错,虽然对于class、object、instance有点混淆,但是当我们看了这篇翻译名词:object, instance,‘object应该是泛指某一物件;而instance通常是特别指某一类的其中之一个。也就是说,出现instance的场合多半都会指明所属的类别,比 方说”a instance of Car class”;而出现object的场合,多半不会特别指明其所属类别,或者无法指明所属类别,比方说”delete all objects in the collection”。’

这样的翻译就很清楚为什么翻成实体会比较好了,分享研究心得出来!