วันศุกร์ที่ 26 มิถุนายน พ.ศ. 2552

decorator ใน python

ลองเล่น decorator ของ python
โผล่มาก็มีสาระเลย เหอๆ กำลังหัดเขียน python อยู่ ทำไปมั่วไปเลื้อยๆไป
แล้ววันนี้ก็ดูเรื่อง decorator มันคืออะไรกันเนี่ย ตัวอะไรมาช่วยแต่ง program หรือไงหว่าาา
อ่ะ ลองๆ เล่นไปแล้วมันคืออะไรที่มาเป็นคล้ายกับ function นี่เอง เจ้า decorator function ใน python เนี่ย
โดยวิธีใส่ decorator คือ @ชื่อdecorator ที่ต้องการใช้งาน ลองดูจากตัวอย่างข้างล่างก็คือ @entryExit

def entryExit(f):
def new_f():
print "Entering", f.__name__
f()
print "Exited", f.__name__
print "--------------"
return new_f

@entryExit
def func1():
print "inside func1()"
result = linkfunc()
print "result = ",result

@entryExit
def func2():
print "inside func2()"
result = linkfunc()
print "result = ",result

def linkfunc():
print "--link func--"
a = 'aa'
return a

func1()
func2()
print "func1.__name__ = %s",func1.__name__
print "func2.__name__ = %s",func2.__name__

ไปดูต่อกันว่า script นี้มันทำงานยังไงที่ step การเรียก decorator

ไม่มีความคิดเห็น:

แสดงความคิดเห็น