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

pythonÖÐeval, exec, execfile,ºÍcompile


eval(str [,globals [,locals ]])º¯Êý½«×Ö·û´®strµ±³ÉÓÐЧPython±í´ïʽÀ´ÇóÖµ£¬²¢·µ»Ø¼ÆËã½á¹û¡£
ͬÑùµØ, execÓï¾ä½«×Ö·û´®strµ±³ÉÓÐЧPython´úÂëÀ´Ö´ÐÐ.Ìṩ¸øexecµÄ´úÂëµÄÃû³Æ¿Õ¼äºÍexecÓï¾äµÄÃû³Æ¿Õ¼äÏàͬ.
×îºó£¬execfile(filename [,globals [,locals ]])º¯Êý¿ÉÒÔÓÃÀ´Ö´ÐÐÒ»¸öÎļþ,¿´ÏÂÃæµÄÀý×Ó:
>>> eval('3+4')
7
>>> exec 'a=100'
>>> a
100
>>> execfile(r'c:\test.py')
hello,world!
>>>
ĬÈϵģ¬eval(),exec,execfile()ËùÔËÐеĴúÂ붼λÓÚµ±Ç°µÄÃû×Ö¿Õ¼äÖÐ. eval(), exec,ºÍ execfile()º¯ÊýÒ²¿ÉÒÔ½ÓÊÜÒ»¸ö»òÁ½¸ö¿ÉÑ¡×Öµä²ÎÊý×÷Ϊ´úÂëÖ´ÐеÄÈ«¾ÖÃû×Ö¿Õ¼äºÍ¾Ö²¿Ãû×Ö¿Õ¼ä. ÀýÈç:
1 globals = {'x': 7,
2 'y': 10,
3 'birds': ['Parrot', 'Swallow', 'Albatross']
4 }
5 locals = { }
6
7 # ½«ÉϱߵÄ×Öµä×÷Ϊȫ¾ÖºÍ¾Ö²¿Ãû³Æ¿Õ¼ä
8 a = eval("3*x + 4*y", globals, locals)
9 exec "for b in birds: print b" in globals, locals # ×¢ÒâÕâÀïµÄÓï·¨
10 execfile("foo.py", globals, locals)
Èç¹ûÄãÊ¡ÂÔÁËÒ»¸ö»òÕßÁ½¸öÃû³Æ¿Õ¼ä²ÎÊý,ÄÇôµ±Ç°µÄÈ«¾ÖºÍ¾Ö²¿Ãû³Æ¿Õ¼ä¾Í±»Ê¹ÓÃ.Èç¹ûÒ»¸öº¯ÊýÌåÄÚǶǶÌ׺¯Êý»òlambdaÄäÃûº¯Êýʱ,ͬʱÓÖÔÚº¯ÊýÖ÷ÌåÖÐʹÓÃexec»òexecfile()º¯Êýʱ£¬ ÓÉÓÚÇ£µ½Ç¶Ì××÷ÓÃÓò£¬»áÒý·¢Ò»¸öSyntaxErrorÒì³£.£¨´Ë¶ÎÔ­ÎÄ:If you omit one or both namespaces, the current values of the global and local namespaces are used. Also,due to issues related to nested scopes, the use of exec or execfile() inside a function body may result in a SyntaxError exception if that function also contains nested function definitions or uses the lambda operator.£©
ÔÚPython2.4Öа³Î´·¢ÏÖ¿ÉÒÔÒýÆðÒì³£
×¢ÒâÀý×ÓÖÐexecÓï¾äµÄÓ÷¨ºÍeval(), execfile()ÊDz»Ò»ÑùµÄ. execÊÇÒ»¸öÓï¾ä(¾ÍÏóprint»òwhile), ¶øeval()ºÍexecfile()ÔòÊÇÄÚ½¨º¯Êý.
exec(str) ÕâÖÖÐÎʽҲ±»½ÓÊÜ£¬µ«ÊÇËüûÓзµ»ØÖµ¡£
µ±Ò»¸ö×Ö·û´®±»exec,eval(),»òexecfile()Ö´ÐÐʱ,½âÊÍÆ÷»áÏȽ«ËüÃDZàÒëΪ×Ö½Ú´úÂ룬ȻºóÔÙÖ´ÐÐ.Õâ¸ö¹ý³Ì±È½ÏºÄʱ,ËùÒÔÈç¹ûÐèÒª¶Ôij¶Î´úÂëÖ´Ðкܶà´Îʱ,×îºÃ»¹ÊǶԸôúÂëÏȽøÐÐÔ¤±àÒë,ÕâÑù¾Í²»ÐèҪÿ´Î¶¼±àÒëÒ»±é´úÂ룬¿ÉÒÔÓÐЧÌá¸ß³ÌÐòµÄÖ´ÐÐЧÂÊ¡£
compile(str ,filename ,kind )º¯Êý½«Ò»¸ö×Ö·û´®±àÒëΪ×Ö½Ú´úÂë, str


Ïà¹ØÎĵµ£º

¹ØÓÚPythonÖк¯ÊýÖØÔØÎÊÌâµÄ˼¿¼

È«ÎÄÀ´×Ô£ºIT¹¤³Ì¼¼ÊõÍø http://www.systhinker.com/html/91/n-11591.html
×òÌìºÍ·ÉÌìÎèÕßÌÖÂÛ¾²Ì¬ÀàÐÍÓïÑԺͶ¯Ì¬ÀàÐÍÓïÑÔÓÅÁӱȽϵÄʱºò£¬Ëµµ½PythonûÓÐÖØÔØ»úÖƵÄÎÊÌâ¡£
ºóÀ´ÏëÏëͦÓÐÒâ˼µÄ£¬°Ñ˼¿¼µÄ¾­¹ý¼Ç¼ÏÂÀ´£¬»¶Ó­ÅÄש¡£
ÖØÔØ£¨overload£©ºÍ¸²¸Ç£¨override£©£¬ÔÚC++£¬Java£¬C#µÈ¾²Ì¬ÀàÐÍÓïÑÔÀàÐÍÓïÑÔÖУ¬ÕâÁ½¸ö ......

ÓÃpy2exe±àÒëPython³ÌÐò

£¨Ò»£© py2exe¼ò½é
      py2exeÊÇÒ»¸ö½«python½Å±¾×ª»»³ÉwindowsÉϵĿɶÀÁ¢Ö´ÐеĿÉÖ´ÐгÌÐò(*.exe)µÄ¹¤¾ß£¬ÕâÑù£¬Äã¾Í¿ÉÒÔ²»ÓÃ×°python¶øÔÚ
windowsϵͳÉÏÔËÐÐÕâ¸ö¿ÉÖ´ÐгÌÐò¡£
¡¡¡¡
¡¡¡¡py2exeÒѾ­±»ÓÃÓÚ´´½¨
wxPython,Tkinter,Pmw,PyGTK,pygame,win32com
clientºÍserver,ºÍÆäËüµÄ¶ÀÁ¢³ ......

pythonÁ´½Ómysql³£¼ûÎÊÌâ

PythonÓëMysql
Ò»¡¢°²×°MySQLdbÄ£¿é
ʹÓÃpythonÁ¬½ÓMysqlµÄÇ°Ìᣬ¾ÍÊÇÐèÒªÒ»¸öÈÃpythonÁ¬½Óµ½MysqlµÄ½Ó¿Ú£¬Õâ¾ÍÊÇMySQLdbÄ£¿é¡£
ÑéÖ¤ÊÇ·ñÒѾ­°²×°ÁËMySQLdb£º
==========================================================
d:\usr\local\Python25>python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v ......

ʹÓÃCÓïÑÔÀ©Õ¹Python(¶þ)

ÔÚÉÏһƪÖÐÎÒÃÇÒѾ­Ê¹ÓÃcÓïÑÔʵÏÖÁËÒ»¸ö×î¼òµ¥µÄÀ©Õ¹Ä£¿é£¬ÕâһƪÖн«ÔÚÆä»ù´¡ÉϽøÐй¦Äܵķḻ¡£Ê×ÏÈÀ´¿¼ÂÇÈçºÎ´ÓÍⲿµÄPythonÏòCÄ£¿é´«µÝ½ø²ÎÊý£¬foo_bar2չʾÁËÈçºÎÏòCÄ£¿é´«µÝÕûÊý£¬¸¡µãÊý£¬×Ö·û´®Èý¸ö²ÎÊý£¬ÆäÖÐ"ids"Ö¸Ã÷ÁË´«Èë²ÎÊýµÄÊý¾ÝÀàÐÍ¡£PyArg_ParseTuple¸ºÔð¶Ôargs½øÐнâÎö£¬Èô½âÎöʧ°ÜÔò·µ»Ø0.´úÂë#include&n ......

Pythonѧϰ±Ê¼Ç

Python¼òµ¥ÓÖ¹¦ÄÜÇ¿´ó¡£Ëü×¢ÖصÄÊÇÈçºÎ½â¾öÎÊÌ⣬¶ø²»ÊDZà³ÌÓïÑÔµÄÓï·¨ºÍ½á¹¹¡£ÀíÏëµÄ½Å±¾ÓïÑÔ¡£ÊÊÓÃÓÚ¿ìËÙµÄÓ¦ÓóÌÐò¿ª·¢¡£
PythonÊÇÒ»ÖÖ½âÊÍÐÔÓïÑÔ¡£»¹ÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄÓïÑÔ¡£
ÓÐÁ½ÖÖʹÓÃpythonÔËÐÐÄãµÄ³ÌÐòµÄ·½Ê½£º
      ʹÓý»»¥Ê½µÄ´øÌáʾ·ûµÄ½âÊÍÆ÷
      ʹ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ