exec語句用來執行儲存在字串或檔案中的python語句。例如,我們可以在執行時生成乙個包含python**的字串,然後使用exec語句執行這些語句。下面是乙個簡單的例子。
>>> exec 'print "hello world"'
hello world
注意例子中exec語句的用法和eval_r(), execfile()是不一樣的. exec是乙個語句(就象print或while), 而eval_r()和execfile()則是內建函式.
理解網上的乙個例子:
).decode("utf-8"))
後會輸出結果10。
解決方案:
class afunction:
def __init__(self,mystring):
exec("self."+mystring)
exec執行了儲存的字串(self.age=10);所以結果為d.age = 10
下面還要說明下__init__方法:
乙個類定義了__init__()方法以後,類例項化時就會自動為新生成的類例項呼叫呼叫__init__() 方法。所以在bag例子中,可以用如下程式生成新的初始化的例項:
x = bag()當然,__init__()方法可以有自變數,這樣可以實現更大的靈活性。在這樣的情況下,類例項化時指定的自變數被傳遞給__init__()方法。例如:
>>> class complex:... def __init__(self, realpart, imagpart):... self.r = realpart... self.i = imagpart...
>>> x = complex(3.0,-4.5)
>>> x.r, x.i(3.0, -4.5)方法可以和普通函式一樣地引用全域性名字。方法的全域性作用域是包含類定義的模組。(注意類本身並不被用作全域性作用域!)雖然我們很少需要在方法中使用全域性資料,全域性作用域還是有許多合法的用途:例如,匯入全域性作用域的函式和模組可以被方法使用,在同一模組中定義的函式和方法也可以被方法使用。
摘自: python 中 exec、 eval、 execfile 和 compile 用法
如何將字串的內容作為變數名使用?【已自行解決】
python程式設計入門
注意
exec 命令的用法
shell的內建命令exec將並不啟動新的shell,而是用要被執行命令替換當前的shell程序,並且將老程序的環境清理掉,而且exec命令後的其它命令將不再執行。因此,如果你在乙個shell裡面,執行exec ls那麼,當列出了當前目錄後,這個shell就自己退出了,因為這個shell程序已被替換...
PHP中exec與system用法區別分析
一般來說,在php中呼叫外部命令,可以用exec及system來實現 system 原型 string system string command int return var system 函式很其它語言中的差不多,它執行給定的命令,輸出和返回結果。第二個引數是可選的,用來得到命令執行後的狀態碼。...
exec 和 call 用法詳解
exec 和 call 用法詳解 exec 和 call 執行乙個procedure時,declare s in varchar2 30 where col 13 v sql str varchar2 200 begin v sql str select from t1 s in execute i...