2014-02-05 21 views

回答

2

原因是Python vs C/C++中的範圍規則。

Cython正試圖讓Python和C/C++世界變得更好。但是這兩個世界之間有一些不相容的地方。範圍規則是一個。

  • 在C/C++中,局部變量的範圍是從它聲明的點開始,直到它聲明的最內部塊的末尾。
  • 在Python中,如果函數中某個變量被賦值,則變量在函數中被視爲本地變量。然後它可以在函數內部的任何地方使用。

爲了修補這兩個規則,Cython開發人員決定局部變量聲明只允許在函數的開頭。

相關問題