python中什么叫类、什么叫对象_Python-什么是“第一类”对象?

小编典典

简而言之,这意味着对对象的使用没有任何限制。它与任何其他对象相同。

第一类对象是可以动态创建,销毁,传递给函数,作为值返回并具有编程语言中其他变量所具有的所有权利的实体。

根据语言,这可能意味着:

可表示为匿名文字值

可存储在变量中

可存储在数据结构中

具有固有身份(独立于任何给定名称)

在与其他实体平等方面具有可比性

可作为参数传递给过程/功能

由于过程/功能可退还

在运行时可构造

可打印

易读

在分布式过程中可传播

在外部运行过程中可存储

但是,在C ++函数中,它们本身不是一流的对象:

你可以覆盖’()’运算符,以使它具有对象函数(第一类)成为可能。

函数指针是一流的。

boost bind,lambda和function确实提供了一流的功能

在C ++中,类不是第一类对象,但是这些类的实例是。在Python中,类和对象都是一流的对象。(有关将类作为对象的更多详细信息,请参见此答案)。

这是Javascript一流函数的示例:

// f: function that takes a number and returns a number

// deltaX: small positive number

// returns a function that is an approximate derivative of f

function makeDerivative( f, deltaX )

{

var deriv = function(x)

{

return ( f(x + deltaX) - f(x) )/ deltaX;

}

return deriv;

}

var cos = makeDerivative( Math.sin, 0.000001);

// cos(0) ~> 1

// cos(pi/2) ~> 0

不是第一类对象的实体称为第二类对象。C ++中的函数是第二类,因为它们不能动态创建。

关于编辑:

编辑。当一个人说“一切都是对象”时(就像在Python中一样),他的确表示“一切都是一流的”吗?

术语“对象”可以宽松地使用,并不意味着是一流的。将整个概念称为“一流实体”可能更有意义。但是在Python中,它们的目标是使所有东西都达到一流。我相信发表你讲话的人的意图是一流的。

2020-02-22

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值