Pyke ¼ò½é (3) £ºµ÷ÖÆ Python º¯Êý
¶Ô Python º¯ÊýµÄ"µ÷ÖÆ"£¬ÊÇÖ¸¶ÔÆä×ö³öºÏºõÐèÇóµÄÉèÖ᣾ßÌåµÄµ÷ÖÆ·½·¨£¬Êǽ«Æä²ÎÊýÉèΪ¹Ì¶¨Öµ£¨³£Êý£©¡£
É趨µ¥Ò»µÄ²ÎÊýÖµ
ÔÏȵĺ¯ÊýÊÇÕâÑùµÄ£º
>>> def foo(cooked, standard):
... print "foo called with cooked: %s, standard: %s" % \
... (cooked, standard)
µ÷ÓÃËü£º
>>> foo('a', 'b')
foo called with cooked: a, standard: b
²»¹ý£¬ÏëÒªµÄÊÇÈÃÕâ¸öº¯ÊýµÄµÚÒ»¸ö²ÎÊý£¬±ä³É"µ÷ÖÆ²ÎÊý"£¬²¢ÇÒֻʣϵڶþ¸ö²ÎÊý¡£
ͨ¹ý Python ±ê×¼¿âÄ£¿éfunctoolsµÄÀàpartial£¬¿ÉÒÔ×öµ½¡£
>>> from functools import partial
Óà partial µ÷ÖÆµÚÒ»¸ö²ÎÊý£º
>>> cooked1 = partial(foo, 'cooked_value1')
Ôº¯Êý foo µÄµÚÒ»¸ö²ÎÊý£¬±»µ÷ÖÆ³ÉΪº¯Êý cooked1£¬foo µÄµÚ¶þ¸ö²ÎÊý£¬³ÉÁË cooked1 µÄΨһ²ÎÊý¡£
>>> cooked1('value1')
foo called with cooked: cooked_value1, standard: value1
>>> cooked1('value2')
foo called with cooked: cooked_value1, standard: value2
¿ÉÒÔÓÃÆäËûÖµ£¬Éú³Éµ÷ÖÆº¯Êý£º
>>> cooked2 = partial(foo, 'cooked_value2')
>>> cooked2('value1')
foo called with cooked: cooked_value2, standard: value1
>>> cooked2('value2')
foo called with cooked: cooked_value2, standard: value2
Ô±¾Ò»¸öº¯Êý£¬ÏÖÔÚµ÷ÖÆ³ÉÁËÁ½¸ö£¬Ê°빦±¶ºÇ¡£
>>> cooked1('value3')
foo called with cooked: cooked_value1, standard: value3
>>> cooked1('value4')
foo called with cooked: cooked_value1, standard: value4
>>> cooked2('value5')
foo called with cooked: cooked_value2, standard: value5
>>> cooked2('value6')
foo called with cooked: cooked_value2, standard: value6
Èç·¨ÅÚÖÆ£¬¿ÉÓÉÔº¯ÊýÉú³ÉÈÎÒâ¶à¸öµ÷ÖÆº¯Êý¡£
×ö³öº¯Êýµ÷ÓÃ˳Ðòͼ
ÓÃͬÑùµÄµ÷ÖÆ¼¼Êõ£¬¶Ôµ÷ÖÆ³öµÄº¯Êý£¬ÔٴνøÐе÷ÖÆ£¬¿ÉÒÔ²úÉúÏÂÒ»¼¶µ÷ÖÆº¯Êý£¬......£¬ÓÉ´ËÖð²½Ðγɺ¯Êýµ÷ÓÃ˳Ðòͼ£º
>>> def bar(child_fun, a):
... print "bar called with:", a
... return child_fun(a)
×¢Ò⣬º¯Êý bar µÄµÚÒ»²ÎÊýÊǸöÒýÓ㬼´º¯ÊýÃû¡£ÓÃÕâ¸ö°ì·¨£¬¿ÉÒÔµ÷ÖÆÈκβÎÊý£º
£¨ÆäÖÐµÄ float ºÍ min ÊÇ Python µÄÄÚ½¨º¯Êý£©
>>> bar_f
Ïà¹ØÎĵµ£º
ÕýÔò±í´ïʽÊÇËÑË÷¡¢Ìæ»»ºÍ½âÎö¸´ÔÓ×Ö·ûģʽµÄÒ»ÖÖÇ¿´ó¶ø±ê×¼µÄ·½·¨.
ÕýÔò±í´ïʽ£¨»ò RE£©ÊÇÒ»ÖÖСÐ͵ġ¢¸ß¶Èרҵ»¯µÄ±à³ÌÓïÑÔ£¬£¨ÔÚPythonÖУ©ËüÄÚǶÔÚPythonÖУ¬²¢Í¨¹ý re Ä£¿éʵÏÖ.×Ö·û´®Ò²Óкܶ෽·¨,¿ÉÒÔ½øÐÐËÑË÷ (index¡¢find ºÍ count)¡¢Ìæ»» (replace) ºÍ½â
Îö (split),µ«ËüÃǽöÏÞÓÚ´¦Àí×î¼òµ¥µÄÇé¿ö
re Ä£¿éʹ P ......
¼ò½é
ÄãÒѾѧϰÁËÈçºÎÔÚÄãµÄ³ÌÐòÖж¨ÒåÒ»´Îº¯Êý¶øÖØÓôúÂë¡£Èç¹ûÄãÏëÒªÔÚÆäËû³ÌÐòÖÐÖØÓúܶຯÊý£¬ÄÇôÄã¸ÃÈçºÎ±àд³ÌÐòÄØ£¿Äã¿ÉÄÜÒѾ²Âµ½ÁË£¬´ð°¸ÊÇʹÓÃÄ£¿é¡£Ä£¿é»ù±¾ÉϾÍÊÇÒ»¸ö°üº¬ÁËËùÓÐÄ㶨ÒåµÄº¯ÊýºÍ±äÁ¿µÄÎļþ¡£ÎªÁËÔÚÆäËû³ÌÐòÖÐÖØÓÃÄ£¿é£¬Ä£¿éµÄÎļþÃû±ØÐëÒÔ.pyΪÀ©Õ¹Ãû¡£
Ä£¿é¿ÉÒÔ´ÓÆäËû³ÌÐò ÊäÈë ÒÔ±ãÀûÓÃËüµ ......
1. What’s the difference between all of the os.popen() methods?
popen2 doesn't capture standard error, popen3 does capture standard
error and gives a unique file handle for it. Finally, popen4 captures
standard error but includes it in the same file object as standard
output.
os.popen()&n ......
ÕâÁ½¸ö»ù±¾É϶¼ÊÇÔÚÑ»·µÄʱºòÓá£
Python
´úÂë < type="application/x-shockwave-flash" width="14" height="15" src="http://cloudhe.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" src="http://cloudhe.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=for%20i% ......