python是一門動態語言,可以動態的建立類。
這裡主要學習exce,eval,execfile,complie.
exce----是跟while,for一樣的python語句
eval,excefile,complie 是python的內建函式
1、exce 可以執行儲存在字串中的python**
>>> exec 'print "hello world"'
hello world
2、eval可以執行儲存在字串中的python表示式
>>>eval '1+2'
>>>3
3、execfile(filename [,globals [,locals ]])函式可以用來執行乙個檔案,看下面的例子:
>>> execfile(r'c:/test.py')
hello world!
>>>
預設的,eval_r(),exec,execfile()所執行的**都位於當前的名字空間中. eval_r(), exec 和 execfile()函式也可以接受乙個或兩個可選字典引數作為**執行的全域性名字空間和區域性名字空間. 例如:
1globals
=
5locals
=
6
7# 將上邊的字典作為全域性和區域性命名空間
8 a=eval
("3*x + 4*y"
,globals
,locals
)
9exec
"for b in birds: print b"
inglobals
,locals
# 注意這裡的語法
10execfile
("foo.py"
,globals
,locals
)
4、compile(str ,filename ,kind )函式將乙個字串編譯為位元組**,
str是將要被編譯的字串,
filename是定義該字串變數的檔案,
kind引數指定了**被編譯的型別-- 'single'指單個語句, 'exec'指多個語句, 'eval'指乙個表示式.
cmpile()函式返回乙個**物件,該物件當然也可以被傳遞給eval()函式和exec語句來執行
python動態語言特性小結
python 動態語言特性 a.動態模組呼叫 如果模組是動態的,如從某個配置檔案中讀取.那麼關於模組的字串如何轉換為 的import呢,下面 很好解釋了這一點 例子11 sys import sys 2 os import os 3 re import re 4 print sys.path 例子2...
python學習 高階特性
高階函式 可以使用函式作為引數的函式 def f func sorted 對列表排序,有乙個名為key的引數 指定key為abs,根據l的絕對值排序sorted l,key abs filter 對序列過濾 filter a,b a為函式,b為被處理的資料列表,a會對b中的每個元素判斷,結果為真擇保...
C 動態特性
在絕大多數情況下,程式的功能是在編譯的時候就確定下來的,我們稱為靜態特性。反之,如果程式的功能是在執行時刻才確定下來的,則稱為動態特性。動態特性是物件導向語言最強大的功能之一,因為它在語言層面上支援程式的可擴充套件性,而可擴充套件性是軟體設計追求的重要目標之一。c 虛函式 抽象基類 動態繫結 多型構...