繁体   English   中英

Python中的代码块

[英]Blocks of code in Python

你能详细说明Python中“块”(在Ruby意义上)的当前状态吗?

Python中存在哪些语言结构? 他们如何与其他语言(如Ruby,Smalltalk,[插入更多])进行比较? 或者Python缺乏这样的结构?

到目前为止,我已经了解了lambda事情; 它只是单行,但也许它接近。 在这种情况下,“装饰者”和yield怎么样?

我也在一些项目中使用旧的Python版本。 在Python版本(2.5,2.6等)或未来版本中计划引入哪些构造?

您是否可以链接有关该主题的有趣文章来解释Python的这些内容以及与其他语言进行比较,对于想要扩展基本Python知识的人来说可能会有趣吗?

函数是Python中的第一类成员:

def add(x, y):
    return x + y

a = add          # Bind
b = a(34, 1)     # Call

所以你可以传递你想要的所有功能。 您可以对Python中的任何可调用对象执行相同的操作。

lambda是最接近Ruby块的等价物,对一行的限制是故意的 通常认为多行匿名函数(Ruby中的块) 通常不如使用名称定义函数并传递它的可读性,如SilentGhost的答案所示

关于comp.lang.python的讨论与其他语言相比有很好的讨论:

def等同于赋值语句,它只将函数对象绑定到对象引用变量。

然后可以使用对象引用变量来调用要执行的函数对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM