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

PythonºÍSingleton £¨µ¥¼þ£©Ä£Ê½

ÎÒÖªµÀµÄÒ»ÖÖÔÚ
python
ÖÐ
Singleton mode
µÄʵÏÖÈçÏ£º
class Foo: pass
def
instance():
   
global inst
   
try:
       
inst
   
except:
       
inst =
Foo
()
   
return inst
¸ÃʵÏÖµÄÓŵã¾ÍÊǼòµ¥ºÍÖ±¹Û£¬µ«È±µãҲͬÑùÃ÷ÏÔ£º
ÐèÒª¿Í»§´úÂëÏÔʽ֪µÀÒ»¸ö½Ð
instance()
µÄ·½·¨À´´´½¨¸ÃÀàµÄ¶ÔÏó£»
ÔÚ²¢·¢»·¾³ÏÂÕâÖÖʵÏÖ²¢²»¿É¿¿£»
 
µÚ
2
µãÊÇÏ൱ÑÏÖØµÄÒ»¸öȱÏÝ£¬Èç¹ûÄãÓÃÁËÉÏÃæµÄ´úÂ룬ÄÇÖ»ÄÜÆíµ»²»ÒªÓÐ
1
¸öÒÔÉϵÄʵÀý³öÏÖ£¨ËäÈ»¼¸Âʽϵͣ¬µ«»¹ÊÇÓпÉÄÜ£©£¬·ñÔò¾Í»á³öÏÖÏ¡Ææ¹Å¹ÖµÄÎÊÌâ¡£
Ò»¸öÉÔ΢ºÃЩʵÏÖÈçÏ£º
class
Singleton(object):   
   
objs 
= {}
   
def __new__(cls, *args, **kv):
       
if cls in cls.objs:
           
return cls.objs[cls]
       
cls.objs[cls] = object.__new__(cls)
Õâ¸öʵÏÖ½â¾öÁ˵ÚÒ»¸öȱµã£¬ÄÇЩֻÐèÒªÒ»¸öʵÀýµÄÀàÏëʵÏÖ
Singleton mode
£¬Ö»Òª´Ó
Singleton
Àà¼Ì³Ð¼´¿É£¬ÎÞÂÛÔÚ´úÂëµÄÄÄÀïʵÀý»¯¸ÃÀ࣬¶¼Ö»´æÔÚ¸ÃÀàµÄÒ»¸öʵÀý¡£
 
ΪÁ˽â¾öµÚ
2
¸öȱµã£¬Ò»¸ö½ø»¯µÄ°æ±¾³öÏÖÁË£¬ÈçÏ£º
class
Singleton(object):
   
objs 
= {}
   
objs_locker = 
threading.Lock()
   
def __new__(cls, *args, **kv):
       
if cls in cls.objs:
           
return cls.objs[cls]
       
cls.objs_locker.acquire()
       
try:
           
if cls in cls.objs: ## double check
locking
               
return cls.objs[cls]
        &nb


Ïà¹ØÎĵµ£º

Python ×Öµä

Python ×Öµä
 
×ÖµäÀàËÆÓÚÄãͨ¹ýÁªÏµÈËÃû×Ö²éÕÒµØÖ·ºÍÁªÏµÈËÏêϸÇé¿öµÄµØÖ·²¾£¬¼´£¬ÎÒÃǰѼü£¨Ãû×Ö£©ºÍÖµ£¨ÏêϸÇé¿ö£©ÁªÏµÔÚÒ»Æð¡£×¢Ò⣬¼ü±ØÐëÊÇΨһµÄ£¬¾ÍÏñÈç¹ûÓÐÁ½¸öÈËÇ¡ÇÉͬÃûµÄ»°£¬ÄãÎÞ·¨ÕÒµ½ÕýÈ·µÄÐÅÏ¢¡£
×¢Ò⣬ÄãÖ»ÄÜʹÓò»¿É±äµÄ¶ÔÏ󣨱ÈÈç×Ö·û´®£©À´×÷Ϊ×ÖµäµÄ¼ü£¬µ«ÊÇÄã¿ÉÒÔ²»¿É±ä»ò¿É±äµÄ¶ÔÏó×÷Ϊ×Öµäµ ......

Python ÐòÁÐ


Python ÐòÁÐ
ÁÐ±í¡¢Ôª×éºÍ×Ö·û´®¶¼ÊÇÐòÁУ¬µ«ÊÇÐòÁÐÊÇʲô£¬ËüÃÇΪʲôÈç´ËÌØ±ðÄØ£¿ÐòÁеÄÁ½¸öÖ÷ÒªÌØµãÊÇË÷Òý²Ù×÷·ûºÍÇÐÆ¬²Ù×÷·û¡£Ë÷Òý²Ù×÷·ûÈÃÎÒÃÇ¿ÉÒÔ´ÓÐòÁÐÖÐץȡһ¸öÌØ¶¨ÏîÄ¿¡£ÇÐÆ¬²Ù×÷·ûÈÃÎÒÃÇÄܹ»»ñÈ¡ÐòÁеÄÒ»¸öÇÐÆ¬£¬¼´Ò»²¿·ÖÐòÁС£
ʹÓÃÐòÁÐ
Àý9.5 ʹÓÃÐòÁÐ
#!/usr/bin/python
# Filename: seq.py
shoplist ......

PythonʵÏÖ¡°¸÷ÀàÐÍÎļþͳ¼Æ¡±¹¦ÄÜ

²»¶à˵ÁË£¬Ö±½Ó¿´´úÂë°É£¡
import os
path = 'e:/Download/'
kzm = []
kzmTemp = set()
kzmTemp2 = []
dict = {}
for root,dirs,files in os.walk(path):
    for file in files:
        ext = os.path.splitext(file)[1][1:]
      ......

python formatterÄ£¿é

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