Python: Dynamic Language
Strongly-typed? Dynamic?
- Dynamic?
- 静态类型:编译时就知道每个变量的类型,因为类型错误而不能做的事情是语法错误。
- 动态类型:编译时不知道每个变量的类型,因为类型错误而不能做的事情是运行时错误。
- 优点:
- 更适合开发小的项目,无需声明类型。
- 解除了很多束缚
- duck typing: 动态类型的一种风格。
- 在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由"当前方法和属性的集合"决定。【“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。”】
- 没有了接口类型的继承约束。
- 鸭子类型可以在不使用继承的情况下使用多态。(其实就是因为变量没有显式的类型)
- duck typing: 动态类型的一种风格。
- 缺点:
- 慢:编译器对于没有typing的变量,需要一个个check具体type
- 优点:
- Strongly-typed?
- 强类型语言:偏向于不容忍隐式类型转换。
- 弱类型语言:偏向于容忍隐式类型转换。
- python vs java?
- python是动态强类型语言,java是静态强类型语言。
- Python uses dynamic typing, which allows you to change the type of a variable, by replacing an integer with a string, for example.
跨平台
- java跨平台性做的很好:一次编译,多次运行。
满地都是六便士,她却抬头看见了月亮。
浙公网安备 33010602011771号