python: คำสั่ง exec
Submitted by wd on Fri, 2007-02-02 08:28
Python มีคำสั่ง exec ที่ใช้ในการแทนค่าตัวแปรแล้วรันคำสั่งแบบพลวัต (dynamicly)
บันทึกพฤติกรรมของ exec ไว้ดังนี้
- การใช้งาน
-
>>> var='123' >>> a='print %s' % (var) >>> exec a # OR exec(a) 123
- การกำหนดตัวแปร var ใหม่ ไม่สามารถเปลี่ยนแปลงการแทนค่าจากครั้งก่อน ต้องกำหนดใหม่ทั้งสองครั้ง
-
>>> var=456 >>> exec a 123 >>> a='print %s' % (var) >>> exec a 456
- การแทนค่า ไพธอนจะแทนค่าทุกสิ่งทุกอย่างของตัวแปร ลงไปในคำสั่ง
เวลาใช้กับตัวแปร string ต้องใส่เครื่องหมาย quot ซ้อนด้วย -
>>> var='abc' >>> a='print %s' % (var) >>> exec a Traceback (most recent call last): File "<stdin>", line 1, in ? File "<string>", line 1, in ? NameError: name 'abc' is not defined >>> var='"abc"' >>> a='print %s' % (var) >>> exec a abc
ยกเว้นกรณีคำสั่ง import ต้องใช้แบบปกติ
>>> var='re' >>> a='import %s' % (var) >>> exec a >>> dir(re) ['DOTALL', 'I', 'IGNORECASE', 'L', 'LOCALE', 'M', 'MULTILINE', 'S', 'U', 'UNICODE', 'VERBOSE', 'X', '__all__', '__builtins__', '__doc__', '__file__', '__name__', 'compile', 'engine', 'error', 'escape', 'findall', 'finditer', 'match', 'purge', 'search', 'split', 'sub', 'subn', 'template']
- Printer-friendly version
- Log in or register to post comments
- 7254 reads
Recent comments