超级郁闷的一件事,理解python的类!



QUOTE:
原帖由 zengjin8310 于 2006-5-20 22:55 发表


你说的是类似于java的reflection机制, 这个在B教主的C++0x据说会支持. 其实python跟C++比的亮点关键是语言特性容易做FP,以及type inference机制带来的抽象统一能力以及动态能力

你就尽情地扯吧!
BBS 是一个自由言论的地方,所以你尽可以把你关于 C++ 和 Python 区别的观点发表在一个讨论 Python 类机制的帖子中去,没人能约束你,无论你说的对与错。
转行
flw斑竹的说法是正确的
简单的说c++中的类需要实例化生成对象才能使用,python中的类可以直接使用,因为python中的类本身就是对象
友情推荐一本书 <<Thinking in java>>这本书对类和对象讲的很明确.你可以参考一下


QUOTE:
原帖由 flw 于 2006-5-21 11:06 发表

当然有区别,如果你懂的话。
这个道理的明显程度就好比“根”应该写作“跟”,如果你懂汉语的话。

呵呵, flw原来是斑竹。 是有区别, python基于对象么。 这只是玩弄文字游戏, 可以把他称为类, 也可以成为类对象


QUOTE:
原帖由 flw 于 2006-5-21 11:08 发表

你就尽情地扯吧!
BBS 是一个自由言论的地方,所以你尽可以把你关于 C++ 和 Python 区别的观点发表在一个讨论 Python 类机制的帖子中去,没人能约束你,无论你说的对与错。

我说得是python类得实体性, 这个跟java reflection有点像, 也就是java引入得动态机制, 也就说到了语言机制, 请问这离题了么?
进而我说到了C++0x也会引入反射这种动态机制去解决这种类不能当参数得问题,  请问这离题了么?
然后你就死啃着我说得一句感觉说我离题了?
类和对象这两个概念在C++和在python中是一样的:
  类:可以理解成自己定义的复合数据类型,和c中的struct很像,但类中还可以指定该类
      型的一些操作。类是抽象的概念。
  对象:指的是某一个类的实例。

  举例来说:“汽车”这个概念本身是类,而任何一辆实实在在的汽车则是“汽车”这个类
  的一个对象。

python和C++不同的一点是:
    在python中,“类定义”也被看作是一个类,所以你写的每个具体的“类的定义”本身
    也是一个对象。
可以这么认为: 类就是一个模具,对象实例,就是模具做出来的一个个产品

在 C++中,模具在编译的时候使用,在运行的时候就没有了
在Python中,模具和他生产的对象都在内存中,你甚至可以在运行的时候改变这个模具,这在C++中是不行的