Django學習篇(第二部)
阿新 • • 發佈:2018-04-30
adding 學習 AD odi 時也 hello ret order pytho
執行字符串表示的函數,並為該函數提供全局變量
本篇的內容從題目中就可以看出來,就是為之後剖析tornado模板做準備,
#!usr/bin/env python #coding:utf-8 namespace = {‘name‘:‘teddy‘,‘data‘:[25,73,84]} code = ‘‘‘def hellocute():return "name %s ,age %d" %(name,data[0],) ‘‘‘ func = compile(code, ‘<string>‘, "exec") exec func innamespace result = namespace[‘hellocute‘]() print result
此段代碼的執行結果是:name teddy,age 25
上述代碼解析:
第6行,code是一個字符串,該字符串的內容是一個函數體。
第8行,將code字符串編譯成函數 hello
第10行,將函數 hello 添加到namespace字典中(key為hello),同時也將python的所有內置函數添加到namespace字段中(key為__builtins__),
如此一來,namespace中的內容好比是一個個的全局變量,即5
name = wupeiqi data = [18,73,84] def hellocute(): return "name %s ,age %d" %(name,data[0])
-
- 第14行,輸入result
Django學習篇(第二部)