boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - python不支持多态
相关主题
A C++ runtime type casting question
python要把@当作矩阵乘法算符
不如各位高手挑个专题讲讲C++11吧
[分享]:一篇文章讲通一半Java《面向对象一家人》
国内的编程论坛很不自由
Python的问题
Python的script的兼容问题
问一个关于C++指针的问题
[合集] scipy还是matlab
C++指针问题 int (*) [10]
相关话题的讨论汇总
话题: python话题: 多态话题: 类型话题: 实例话题: c++
进入Programming版参与讨论
1 (共1页)
y**b
发帖数: 10166
1
组里头目很迷恋python,我曾学了一阵,方便是方便,但总觉得动态类型、动态变量很
不习惯。比如一个类的实例,可以随便添加实例属性,各个实例可以拥有完全不同类型
的实例属性,好怪怪。
现在用来帮人refactor一些科学计算的程序(用python写的,用到numpy),忽然发现pyt
hon不支持多态,这对代码的设计岂不是一个非常大的限制?比如设计了10来个具有继承
关系的类来表示不同的计算模型,C++在主程序里面就只需一个基类指针就行了,
python
还得根据不同的类类型来决定创建不同的对象?
X****r
发帖数: 3557
2
什么叫python不支持多态?Python使用动态类型,而不是静态类型。所有变量和参数都
不需要声明类型,只有到你试图调用它所不支持的方法才会出错。我看不出有任何情况会
比C++更不方便。

pyt
继承

【在 y**b 的大作中提到】
: 组里头目很迷恋python,我曾学了一阵,方便是方便,但总觉得动态类型、动态变量很
: 不习惯。比如一个类的实例,可以随便添加实例属性,各个实例可以拥有完全不同类型
: 的实例属性,好怪怪。
: 现在用来帮人refactor一些科学计算的程序(用python写的,用到numpy),忽然发现pyt
: hon不支持多态,这对代码的设计岂不是一个非常大的限制?比如设计了10来个具有继承
: 关系的类来表示不同的计算模型,C++在主程序里面就只需一个基类指针就行了,
: python
: 还得根据不同的类类型来决定创建不同的对象?

y**b
发帖数: 10166
3
后来想了一会想明白了。因为python是动态类型、动态变量,相当于直接
就支持多态了,比C++还方便。
回过头来,C++之所以通过指针/引用搞一个多态,是因为指针/引用都是
静态类型(但是能动态管理内存),而且指针/引用并不包含对象的类型信息,
是吧?

况会

【在 X****r 的大作中提到】
: 什么叫python不支持多态?Python使用动态类型,而不是静态类型。所有变量和参数都
: 不需要声明类型,只有到你试图调用它所不支持的方法才会出错。我看不出有任何情况会
: 比C++更不方便。
:
: pyt
: 继承

X****r
发帖数: 3557
4
如果你问的是“通过指针/引用”的话,Python里几乎所有变量都是指针/引用。
如果你问的是静态类型的话,静态类型的好处是编译器可以很容易做类型检查。

【在 y**b 的大作中提到】
: 后来想了一会想明白了。因为python是动态类型、动态变量,相当于直接
: 就支持多态了,比C++还方便。
: 回过头来,C++之所以通过指针/引用搞一个多态,是因为指针/引用都是
: 静态类型(但是能动态管理内存),而且指针/引用并不包含对象的类型信息,
: 是吧?
:
: 况会

g*****g
发帖数: 34805
5
另一个好处就是容易优化。

【在 X****r 的大作中提到】
: 如果你问的是“通过指针/引用”的话,Python里几乎所有变量都是指针/引用。
: 如果你问的是静态类型的话,静态类型的好处是编译器可以很容易做类型检查。

r****t
发帖数: 10904
6
胡说。

pyt
继承

【在 y**b 的大作中提到】
: 组里头目很迷恋python,我曾学了一阵,方便是方便,但总觉得动态类型、动态变量很
: 不习惯。比如一个类的实例,可以随便添加实例属性,各个实例可以拥有完全不同类型
: 的实例属性,好怪怪。
: 现在用来帮人refactor一些科学计算的程序(用python写的,用到numpy),忽然发现pyt
: hon不支持多态,这对代码的设计岂不是一个非常大的限制?比如设计了10来个具有继承
: 关系的类来表示不同的计算模型,C++在主程序里面就只需一个基类指针就行了,
: python
: 还得根据不同的类类型来决定创建不同的对象?

1 (共1页)
进入Programming版参与讨论
相关主题
C++指针问题 int (*) [10]
再问C++问题。
如何自学python
关于python的优势
python开发大型软件的可能性
别人说做Python的并行还不如去学C++,我不同意。
请教python
为什么Python巨慢无比?
请不要盲目崇拜FP语言
java很快吗?比python 能快多少?
相关话题的讨论汇总
话题: python话题: 多态话题: 类型话题: 实例话题: c++