第一类对象

第一类对象(First-class Object)

第一类对象具有如下几个特征:

  • 可以被存入变量或其他结构
  • 可以被作为参数传递给其他方法/函数
  • 可以被作为方法/函数的返回值
  • 可以在执行期被创建,而无需在设计期全部写出

大部分语言里的基本数据类型(int, float)都是第一类对象,但是数组不一定,比如C中的数组,作为函数参数时,传递的是第一个元素的地址,同时还丢失了数组长度信息。

在python里面,函数与整数、字符串、字典一样都是第一类对象,满足上面所有条件。但在其他语言里就不一定了,例如C/C++语言里面函数不是第一类对象,因为在这些语言中函数不能在执行期创造,而必须在设计时全部写好

原文地址:https://www.cnblogs.com/zzliu/p/10822438.html