Python 在函式中應用exec賦值時錯誤的解決

2021-10-13 02:57:55 字數 438 閱讀 4918

(2013-06-23 01:51:40)

寫程式時需要動態賦值,於是乎應用exec函式,發現以下**可以正常執行

exec('a'+str(i)+'=i')
而用如下**段封裝到函式內後無法執行

def attempt(i):

exec('a=i')

return a

a = attempt(i)

顯示 variable a  is not defined

查詢資料得到解決方法,通過如下**可正常執行

def attempt(i):

exec('a=i')

return locals()['a']

a = attempt(i)

完美解決。

原文見:

在應用中嵌入Python

翻譯 gashero 前面的章節討論如何擴充套件python,如何生成適合的c庫等。不過還有另一種情況 通過將python嵌入c c 應用以擴充套件程式的功能。python嵌入實現了一些使用python更合適的功能。這可以有很多用途,乙個例子是允許使用者裁減需要的python功能。也可以用於默寫使用...

在C 中呼叫EXE檔案

1.如果exe檔案的返回值是int型別,標識操作執行的結果是否成功,例如 class program 則在呼叫exe檔案時,可以用如下方法 process myprocess new process string filename c test.exe string para 你好 北京歡迎你!pr...

在ubuntu中執行exe檔案

exe檔案執行是要依靠windows系統的庫,linux系統肯定不支援。不過如果你在linux安裝wine軟體,可以安裝執行一般小型的windows程式。wine的安裝 1.安裝 wine ubuntu 官方自帶了 wine 但是推薦用 winehq 官方提供的最新版本 wine 新版本解決了很多以...