Python¶àÏß³Ì֪ʶµã
֪ʶµã
1.Ïß³ÌÊÇ“ÇáÁ¿¼¶”½ø³Ì£¬ÒòΪÏà½ÏÓÚ½ø³ÌµÄ´´½¨ºÍ¹ÜÀí£¬²Ù×÷ϵͳͨ³£»áÓýÏÉÙµÄ×ÊÔ´À´´´½¨ºÍ¹ÜÀíÏ̡߳£²Ù×÷ϵͳҪΪн¨µÄ½ø³Ì·ÖÅäµ¥¶ÀµÄÄÚÔÚ¿Õ¼äºÍÊý¾Ý£»Ïà·´£¬³ÌÐòÖеÄÏß³ÌÔÚÏàͬµÄÄÚ´æ¿Õ¼äÖÐÖ´ÐУ¬²¢¹²ÏíÐí¶àÏàͬµÄ×ÊÔ´¡£¶àÏ̳߳ÌÐòÔÚ½áÄÚ´æµÄʹÓÃЧÂÊÒªÓÅÓÚ¶à½ø³Ì³ÌÐò¡£
2.pythonÌṩÁËÍêÕûµÄ¶àÏ̴߳¦ÀíÀ࣬Èç¹û²Ù×÷ϵͳ֧³Ö¶àỊ̈߳¬¾Í¿ÉÓÃpythonµÄthreadingÄ£¿é´´½¨¶àÏß³ÌÓ¦ÓóÌÐò¡£³ÌÐòÔ±¿ÉÒÔÔÚÒ»¸öÓ¦ÓóÌÐòÖаüº¬¶à¸öÖ´ÐÐỊ̈߳¬¶øÇÒÿ¸öÏ̶߳¼±íÃ÷³ÌÐòÖеÄÒ»²¿·ÝÒªÓëÆäËûÏ̲߳¢·¢Ö´ÐС£Ðí¶àÓ¦ÓóÌÐò¶¼¿É»ñÒæÓÚ¶àÏ̱߳à³Ì¡£Webä¯ÀÀÆ÷ÏÂÔØ´óÎļþʱ(±ÈÈçÒôÀÖ»òÊÓÆµ)£¬Óû§Ï£ÍûÁ¢¼´¿ÉÐÀÉÍÒôÀÖ»ò¹Û¿´ÊÓÆµ£¬ÕâÑù¾Í¿ÉÒÔÈÃÒ»¸öÏß³ÌÏÂÔØ£¬ÁíÒ»¸öÏ̲߳¥·ÅÒѾÏÂÔØµÄÒ»²¿·Ö¡£´Ó¶øÊµÏÖ¶à¸ö²Ù×÷²¢·¢Ö´ÐС£
ÐÔÄÜÌáʾ
1.µ¥Ï̳߳ÌÐòÎÊÌâÔÚÓÚÒªÔÚ½áÊø·Ñʱ½Ï³¤µÄ²Ù×÷ºó£¬²ÅÄÜ¿ªÊ¼ÆäËü²Ù×÷¡£¶øÔÚ¶àÏ̳߳ÌÐòÖУ¬Ï߳̿ɹ²ÏíÒ»¸ö»ò¶à¸ö´¦ÀíÆ÷£¬Ê¹¶à¸öÈÎÎñ²¢ÐÐÖ´ÐС£
2.½âÊÍÆ÷¿ªÊ¼Ö´ÐгÌÐòʱ£¬“Ö÷”Ï߳̿ªÊ¼Ö´ÐС£Ã¿¸öÏ̶߳¼¿É´´½¨ºÍÆô¶¯ÆäËüÏ̡߳£Èç¹û³ÌÐò°üº¬¶à¸öÕýÔÚÔËÐеÄỊ̈߳¬ËüÃǽ«ÒÀ¾ÝÖ¸¶¨µÄ¼ä¸ôʱ¼ä(³ÆÎªÒ»¸öquantum)£¬ÒÀ´Î½øÈëºÍÀ뿪½âÊÍÆ÷¡£PythonµÄ“È«¾Ö½âÊÍÆ÷Ëø”(Global Interpreter Lock,GIL)±£Ö¤½âÊÍÆ÷ÔÚÈκÎʱ¿ÌÖ»ÔËÐÐÒ»¸öÏ̡߳£GILÿ´Î¿ÉÓÃʱ£¬¶¼»áÓе¥¸öḬ̈߳üº¬Ëü£¬È»ºó£¬Ï߳̽øÈë½âÊÍÆ÷£¬¹ØÔÚ¸ÃÏ̵߳Äquantumʱ¼ä¶ÎÖÐÖ´ÐÐËü¡£Ò»µ©quantumµ½ÆÚ£¬Ï߳̾ÍÀ뿪½âÊÍÆ÷£¬Í¬Ê±ÊÍ·ÅGIL¡£
3.ÔÚÈκÎʱ¿Ì£¬Ï̶߳¼´¦ÓÚijÖÖÏß³Ì״̬¡£ÐÂÏ߳̽«´Ó“born”״̬¿ªÊ¼ËüµÄÉúÃüÖÜÆÚ¡£Ï̱߳£³ÖÕâ¸ö״̬£¬Ö±µ½³ÌÐòµ÷ÓÃÏ̵߳Ästart·½·¨£¬Õâ»áʹÏ߳̽øÈë“ready”״̬£¬ÓÐʱҲ³ÆÎª“runnable”״̬¡£ÁíÍ⣬¿ØÖÆÈ¨»áÁ¢¼´·µ»ØÖÁµ÷ÓÃÏß³Ì(µ÷ÓÃÕß)¡£Ö®ºó£¬µ÷ÓÃÕß¿ÉÓëÒÑÆô¶¯µÄÏß³ÌÒÔ¼°³ÌÐòÖÐµÄÆäËûÈκÎÏ̲߳¢·¢Ö´ÐС£µ±“ready”Ïß³ÌÊ״λñµÃGIL(Global Interpreter Lock£¬È«¾Ö½âÊÍÆ÷Ëø)£¬»áÖ´ÐÐËüµÄrun·½·¨£¬³ÉΪһÈË“running”Ï̡߳£run·½·¨»áÒ»Ö±Ö´ÐУ¬Ö±µ½Ïß³ÌÒý·¢Ò»¸öδ´¦ÀíµÄÒì³££¬»òÕßÏß³ÌÀ뿪½âÊÍÆ÷¡£runningÏß³ÌÀ뿪½âÊÍÆ÷ʱ£¬Ï̻߳á¼ÇסËüµÄµ±Ç°Ö´ÐÐλÖá£ÒÔºóÏß³ÌÖØÐ½øÈë½âÊÍÆ÷£¬Ï̻߳á´Ó¸ÃλÖüÌÐøÖ´ÐС£Ïß³ÌΩһÄÜ»ñµÃGILµÄ״̬¾ÍÊÇ“running”״̬¡£
4.run·½·¨·µ»Ø»òÖÕÖ¹(ÈçÓöµ½Ò»¸öδ½øÐв¶×½µÄÒì³£)£¬¾Í»á½øÈë“dead”״̬¡£½âÊÍÆ÷
Ïà¹ØÎĵµ£º
ʲôÊÇpycÎļþ
pycÊÇÒ»ÖÖ¶þ½øÖÆÎļþ£¬ÊÇÓÉpyÎļþ¾¹ý±àÒëºó£¬Éú³ÉµÄÎļþ£¬ÊÇÒ»ÖÖbyte code£¬pyÎļþ±ä³ÉpycÎļþºó£¬¼ÓÔØµÄËÙ¶ÈÓÐËùÌá¸ß£¬¶øÇÒpycÊÇÒ»ÖÖ¿çÆ½Ì¨µÄ×Ö½ÚÂ룬ÊÇÓÉpythonµÄÐéÄâ»úÀ´Ö´Ðеģ¬Õâ¸öÊÇÀàËÆÓÚJAVA»òÕß.NETµÄÐéÄâ»úµÄ¸ÅÄî¡£pycµÄÄÚÈÝ£¬ÊǸúpythonµÄ°æ±¾Ïà¹ØµÄ£¬²»Í¬°æ±¾±àÒëºóµÄpycÎļþÊDz»Í¬µÄ£¬2 ......
from cmd import *
class MyShell(Cmd):
def preloop(self):
print "print this line before entering the loop"
def postloop(self):
&nb ......
2005-2006ѧÄêµÚ1ѧÆÚ
±à Òë Ô Àí
¿Î ³Ì Éè ¼Æ ±¨ ¸æ
°à¼¶ 02¼Æ(¶þ)
ѧºÅ 19
ÐÕÃû ÁõÏþÃ÷
³É¼¨
Ö¸µ¼½Ìʦ ¬³¯»Ô
Ò»¡¢ Éè¼ÆÄ¿µÄ
¼ÓÉî¶Ô±àÒ ......
ÔÎÄ£ºhttp://www.klipdas.com/blog/?p=python-decorator
python×°ÊÎÆ÷½éÉÜ
Python 2.2ÖÐÒýÈëµÄ classmethod() ºÍ staticmethod() ÄÚÖú¯Êý£¬Äã¿ÉÒÔÕâÑùµ÷ÓÃclassmethod()£º
class A:
def foo(self, y):
print y
foo = classmethod(foo)
Ò²¿ÉÒÔÕâÑù£º
class A:
@classmethod
def foo(sel ......
import os
import unittest # °üº¬µ¥Ôª²âÊÔÄ£¿é
import sqlite3 as sqlite # °üº¬sqlite3Ä£¿é
def get_db_path():
return "sqlite_testdb"
class TransactionTests(unittest.TestCase): # µ¥Ôª²âÊÔµÚÒ»²½:¡¡ÓÉTestCaseÅÉÉúÀà
def setUp(self): # µ¥Ôª²âÊÔ»·¾³ÅäÖÃ
......