python的弱类型

python 是一种弱类型语言,其“弱”的十分有趣。

C、C++ 是一种强类型语言,本质上可以看做是一种基于模板(或模式)的语言,一种“套路化”语言,即,数据类型一经声明(无论是普通变量、函数、还是class),数据类型的实例随即被类型定义的“框框”给严格限定,数据类型的使用必须按照已经规定的”框框“严格运作,不能越雷池半步。

而 python 设计为一种”弱‘类型语言,这种“弱”一定程度上降低了数据类型的定义和使用之间的耦合关系,即,我们在 python 中定义了一种数据结构,只是定义了一个数据结构的基本框架,在数据结构使用时,还可在基础框架基础上灵活进行“扩展”。

函数定义时的“可变参数’和”关键字参数“

func(*args, **kw)

类定义时,可以先对类进行定义,后期随着实例的实际使用需求,动态为实例添加在最初的类定义中没有的方法,既可将后期添加的方法绑定到实例对象,也可将后期添加的方法绑定到整个 class。这是 python 极具特色的地方,python 允许类的实例进行动态扩张;扩张起来类越变越大,如何对类的扩张进行控制呢?

使用类的__slots__属性!

参考文献:

  1. 《a byte of python》
  2. 《极客学院 — python》
  3. https://liaoxuefeng.com

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注