簡體   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