Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

python µÄº¯ÊýDecorators

DecoratorsÊÇpythonÖбȽÏÄÑÒÔÀí½âµÄ¶«Î÷£¬µ±È»Èç¹ûÄã½Ó´¥¹ýjavaµÄannotation£¬»á·¢ÏÖÕâ¸öDecoratorsÔÚÓï·¨ÉϷdz£µÄÏàËÆ£¬µ«ÊÇÁ½ÕßµÄÉè¼Æ¶¯»úȴûʲô¹²Í¬µã£»
ÕâÀï½²µÄpythonÖеÄdecoratorsÊǶÔpythonÖеÄfunction/method×ö×°ÊΣ¬ÕâЩÐÞÊνöÊǵ±ÉùÃ÷Ò»¸öº¯Êý»òÕß·½·¨µÄʱºò£¬²Å»áÓ¦ÓõĶîÍâµ÷Óá£
pythonÖеÄdecorator·ÖΪÓвÎÊýµÄºÍÎÞ²ÎÊýµÄÁ½ÖÖ£º
@deco
def foo(): pass
µÈ¼Û£ºfoo = deco(foo)
ÓвÎÊýµÄdecoratorµÈ¼Û£º
@deco(deco_args)
def foo(): pass
µÈ¼Û£ºfoo = deco(deco_args)(foo)
´ÓÉÏÃæ×öµÄÁ½¸öµÈ¼Û¿ÉÒÔ¿´³ö£ºdeco±¾ÉíÊÇÒ»¸öº¯Êý£¬Æä½ÓÊܱ»ÐÞÊεķ½·¨×÷Ϊ²ÎÊý£¬deco·µ»ØµÄÓ¦¸ÃÒ²ÊÇÒ»¸öfunction/method£¬Õâ¸ö·µ»ØµÄfunctionÓ¦¸ÃºÍ±»ÐÞÊεÄfunc¾ßÓÐÏàͬµÄ²ÎÊýÁбíºÍ·µ»ØÖµ£¨Ò»°ãÊÇreturn func()£©.
decoratorsµÄÓÃ;¿ÉÒÔÀà±ÈjavaÖеÄaop¸ÅÄΪ·½·¨ÒýÈëͨÓõŦÄÜ£¬ÀýÈçlog¡¢perfomanceµÈ£»ÀýÈ磺£¨eg from core python programming£©
3  from time import time
4
5  def logged(when):
6      def log(f, *args, **kargs):
7          print '''Called:
8  function: %s
9  args: %r
10 kargs: %r''' % (f, args, kargs)
11
12     def pre_logged(f):
13         def wrapper(*args, **kargs):
14             log(f, *args, **kargs)
15             return f(*args, **kargs)
16         return wrapper
17
18     def post_logged(f):
19         def wrapper(*args, **kargs):
20             now = time()
21             try:
22                 return f(*args, **kargs)
23             finally:
24 &n


Ïà¹ØÎĵµ£º

python formatterÄ£¿é

formatter Ä£¿é
formatter Ä£¿éÌṩÁËһЩ¿ÉÓÃÓÚ htmllib µÄ¸ñʽÀà( formatter classes ).
ÕâЩÀàÓÐÁ½ÖÖ, formatter ºÍ writer . formatter ½« HTML ½âÎöÆ÷µÄ±êÇ©ºÍÊý¾ÝÁ÷ת»»ÎªÊʺÏÊä³öÉ豸µÄʼþÁ÷( event stream ), ¶ø writer ½«Ê¼þÁ÷Êä³öµ½É豸ÉÏ.
´ó¶àÇé¿öÏÂ, Äã¿ÉÒÔʹÓà AbstractFormatter Àà½øÐиñʽ»¯. Ëü»á¸ù¾ ......

python Êý×飬ÐòÁУ¬×ֵ䣬ÁÐ±í£¬Ðò±í£¬Ôª×棨tuple£©

python ûÓÐÊý×éµÄÊý¾Ý½á¹¹
#list ÐòÁÐ
sample_list = [1,2,3,'abc']
#dictionary ×Öµä
sample_dic = {"key":value, 2:3}
#tuple Ö»¶ÁµÄÐòÁÐ
sample_tuple = (1,3,"ab")
Ðò±í
    Ðò±íÓÉһϵÁÐÖµÓöººÅ·Ö¸ô¶ø³É
    Ðò±íÓë×Ö·û´®Ò»ÑùÊDz»¿É±äµÄ£º²»ÔÊÐí¶ÔÐ ......

PythonµÄlambdaº¯ÊýÓëÅÅÐò

ǰ¼¸Ìì¿´µ½ÁËÒ»ÐÐÇó1000µÄ½×³ËµÄPython´úÂ룺
print
  
reduce
(
lambda
  
x
,
y
:
x
*
y
,
  
range
(
1
,
  
1001
))

Ò»ÏÂ×Ó±»python´úÂëµÄ¾«¼ò
Óë½ô´ÕËùÕÛ·þ£¬¹Ê¶Ô´úÂë½øÐÐÁ˼òµ¥µÄ·ÖÎö¡£
reduceÓërange¶¼ÊÇPythonµÄÄÚÖú¯Êý¡£
range£¨1£¬10 ......

Python ´¦Àí×Ö½Ú


zz from: http://blog.sina.com.cn/s/blog_4b5039210100f1tu.html
Ô­ÎÄÓеãС´íÎ󣬸ÄÁËÒ»µãµã¡£
ÎÒÃÇÖªµÀpythonÖ»¶¨ÒåÁË6ÖÖÊý¾ÝÀàÐÍ£¬×Ö·û´®£¬ÕûÊý£¬¸¡µãÊý£¬ÁÐ±í£¬Ôª×飬×ֵ䡣µ«ÊÇCÓïÑÔÖÐÓÐЩ×Ö½ÚÐ͵ıäÁ¿£¬ÔÚpythonÖиÃÈçºÎʵÏÖÄØ£¿ÕâµãÆÄÎªÖØÒª£¬ÌرðÊÇÒªÔÚÍøÂçÉϽøÐÐÊý¾Ý´«ÊäµÄ»°¡£

pythonÌṩÁËÒ»¸östruc ......

python ¼¯ºÏÔËËã

¼¯ºÏÀàÐͲÙ×÷·û£¨ËùÓеļ¯ºÏÀàÐÍ£©
ÁªºÏ( | )
ÁªºÏ(union)²Ù×÷ºÍ¼¯ºÏµÄOR(ÓֳƿɼæÎöÈ¡(inclusive
disjunction))ÆäʵÊǵȼ۵ģ¬Á½¸ö¼¯
ºÏµÄÁªºÏÊÇÒ»¸öм¯ºÏ£¬¸Ã¼¯ºÏÖеÄÿ¸öÔªËØ¶¼ÖÁÉÙÊÇÆäÖÐÒ»¸ö¼¯ºÏµÄ³ÉÔ±£¬¼´£¬ÊôÓÚÁ½¸ö¼¯ºÏÆä
ÖÐ
Ö®Ò»µÄ³ÉÔ±¡£ÁªºÏ·ûºÅÓÐÒ»¸öµÈ¼ÛµÄ·½·¨£¬union().
Edit By Vheavens
Edit By Vhe ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ