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
Ïà¹ØÎĵµ£º
1¡¢Ê¹ÓÃdef¶¨Ò庯Êý
2¡¢º¯ÊýÎĵµ£ºÔÚº¯ÊýµÄ¿ªÍ·Ð´ÏÂ×Ö·û´®£¬Ëü¾Í»á×÷Ϊº¯ÊýµÄÒ»²¿·Ö½øÐд洢£¬³ÆÎª"Îĵµ×Ö·û´®"¡£
ÄÚ½¨µÄ½Ð×öhelpµÄº¯Êý·Ç³£ÓÐÓÃ,Èç¹ûÄãÔÚ½»»¥Ê½½âÊÍÆ÷ÖÐʹÓã¬Äã¿ÉÒԵõ ......
ÕýÔò±í´ïʽÊÇËÑË÷¡¢Ìæ»»ºÍ½âÎö¸´ÔÓ×Ö·ûģʽµÄÒ»ÖÖÇ¿´ó¶ø±ê×¼µÄ·½·¨.
ÕýÔò±í´ïʽ£¨»ò RE£©ÊÇÒ»ÖÖСÐ͵ġ¢¸ß¶Èרҵ»¯µÄ±à³ÌÓïÑÔ£¬£¨ÔÚPythonÖУ©ËüÄÚǶÔÚPythonÖУ¬²¢Í¨¹ý re Ä£¿éʵÏÖ.×Ö·û´®Ò²Óкܶ෽·¨,¿ÉÒÔ½øÐÐËÑË÷ (index¡¢find ºÍ count)¡¢Ìæ»» (replace) ºÍ½â
Îö (split),µ«ËüÃǽöÏÞÓÚ´¦Àí×î¼òµ¥µÄÇé¿ö
re Ä£¿éʹ P ......
×ֵ䣨Dictionary£©ÊÇÒ»ÖÖÓ³Éä½á¹¹µÄÊý¾ÝÀàÐÍ£¬ÓÉÎÞÐòµÄ“¼ü£Öµ¶Ô”×é³É¡£×ÖµäµÄ¼ü±ØÐëÊDz»¿É¸Ä±äµÄÀàÐÍ£¬È磺×Ö·û´®£¬Êý×Ö£¬tuple£»Öµ¿É
ÒÔΪÈκÎpythonÊý¾ÝÀàÐÍ¡£
1¡¢Ð½¨×Öµä
>>> dict1={}
#½¨Á¢Ò»¸ö¿Õ×Öµä
>>> type(dict1)
<ty ......
Áбí
listÊÇ´¦ÀíÒ»×éÓÐÐòÏîÄ¿µÄÊý¾Ý½á¹¹£¬¼´Äã¿ÉÒÔÔÚÒ»¸öÁбíÖд洢һ¸ö ÐòÁÐ
µÄÏîÄ¿¡£¼ÙÏëÄãÓÐÒ»¸ö¹ºÎïÁÐ±í£¬ÉÏÃæ¼ÇÔØ×ÅÄãÒªÂòµÄ¶«Î÷£¬Äã¾ÍÈÝÒ×Àí½âÁбíÁË¡£Ö»²»¹ýÔÚÄãµÄ¹ºÎï±íÉÏ£¬¿ÉÄÜÿÑù¶«Î÷¶¼¶À×ÔÕ¼ÓÐÒ»ÐУ¬¶øÔÚPythonÖУ¬
ÄãÔÚÿ¸öÏîĿ֮¼äÓöººÅ·Ö¸î¡£
ÁбíÖеÄÏîĿӦ¸Ã°üÀ¨ÔÚ·½À¨ºÅÖУ¬ÕâÑùPython¾ÍÖªµÀÄãÊÇ ......