ö¾Ù
²»ÒªÕâô×ö£º
i = 0 for item in iterable: print i, item i += 1¶øÊÇÕâÑù£º
for i, item in enumerate(iterable): print i, itemEnumerate¿ÉÒÔ½ÓÊܵڶþ¸ö²ÎÊý£¬ÀýÈ磺
>>> list(enumerate('abc')) [(0, 'a'), (1, 'b'), (2, 'c')] >>> list(enumerate('abc', 1)) [(1, 'a'), (2, 'b'), (3, 'c')] ×Öµä/¼¯ºÏ ½âÎöÄã¿ÉÄÜÖªµÀÁбí½âÎö£¬µ«²»ÖªµÀ×Öµä/¼¯ºÏ½âÎö¡£×Öµä/¼¯ºÏ½âÎö¼òµ¥¶øÇÒ¸ßЧ£¬ÀýÈ磺
my_dict = {i: i * i for i in xrange(100)} my_set = {i * 15 for i in xrange(100)} # There is only a difference of ':' in both Ç¿ÖÆ¸¡µãÊý³ý·¨Èç¹ûÎÒÃdzýÒÔÒ»¸öÕûÊý£¬¼´Ê¹½á¹ûÊÇÒ»¸ö¸¡µãÊý£¬Python£¨2£© ÒÀ¾É»á¸øÎÒÃÇÒ»¸öÕûÊý¡£ÎªÁ˹æ±ÜÕâ¸öÎÊÌ⣬ÎÒÃÇÐèÒªÕâÑù×ö£º
result = 1.0/2µ«ÊÇÏÖÔÚÓÐÒ»ÖÖ±ðµÄ·½·¨¿ÉÒÔ½â¾öÕâ¸öÎÊÌ⣬ÉõÖÁÔÚ֮ǰÎÒ¶¼Ã»ÓÐÒâʶµ½ÓÐÕâÖÖ·½·¨´æÔÚ¡£Äã¿ÉÒÔ½øÐÐÈçϲÙ×÷£º
from __future__ import division result = 1/2 # print(result) # 0.5ÐèҪעÒâµÄÊÇÕâ¸öÇÏÃÅÖ»ÊÊÓÃÓÚPython 2¡£ÔÚPython 3 ÖоͲ»ÐèÒª½øÐÐimport ²Ù×÷ÁË£¬ÒòΪËüÒѾĬÈϽøÐÐimportÁË¡£
¼òµ¥µÄ·þÎñÆ÷ÄãÏë¿ìËÙ¼òµ¥µÄ·ÖÏíĿ¼ÏµÄÎļþÂ𣿿ÉÒÔÕâÑù×ö£º
# Python2 python -m SimpleHTTPServer # Python 3 python3 -m http.serverÕâ»ØÆô¶¯Ò»¸ö·þÎñÆ÷
Python±í´ïʽÇóÖµÎÒÃǶ¼ÖªµÀeval,µ«Ò²Ðí²¢²»ÊÇËùÓÐÈ˶¼ÖªµÀliteral_eval.¿ÉÒÔÕâô×ö£º
import ast my_list = ast.literal_eval(expr)¶ø²»ÊÇÕâÑù£º
expr = "[1, 2, 3]" my_list = eval(expr)ÎÒÏàÐŶÔÓÚ´ó¶àÊýÈËÀ´ËµÕâÖÖÐÎʽÊǵÚÒ»´Î¿´¼û£¬µ«ÊÇʵ¼ÊÉÏÕâ¸öÔÚPythonÖÐÒѾ´æÔںܳ¤Ê±¼äÁË¡£
·ÖÎö½Å±¾°´ÏÂÃæµÄ·½Ê½ÔËÐнű¾£¬¿ÉÒԺܼòµ¥µÄ¶ÔÆä½øÐзÖÎö£º
python -m cProfile my_script.py ¶ÔÏó×Ô¼ìÔÚPythonÖУ¬¿ÉÒÔͨ¹ýdir()À´¼ì²é¶ÔÏó£¬ÀýÈ磺
>>> foo = [1, 2, 3, 4] >>> dir(foo) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', ... , 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] µ÷ÊԽű¾Äã¿ÉÒÔʹÓÃpdbÄ£¿éÔڽű¾ÖÐÉèÖöϵãÀ´µ÷ÊԽű¾£¬¾ÍÏñÕâÑù£º
import pdb pdb.set_trace()Äã¿ÉÒÔÔڽű¾µÄÈκεط½¼ÓÈëpdb.set_trace()£¬¸Ãº¯Êý»áÔÚÄǸöλÖÃÉèÖÃÒ»¸ö¶Ïµã¡£³¬¼¶·½±ã¡£ÄãÓ¦¸Ã¶àÔĶÁpdb º¯ÊýµÄÏà¹ØÄÚÈÝ£¬ÒòΪÔÚËüÀïÃæ»¹ÓкܶàÏÊΪÈËÖªµÄ¹¦ÄÜ¡£
¼ò»¯if½á¹¹Èç¹û±ØÐë¼ì²éһЩֵ£¬¿ÉÒÔÓÃ
if n in [1,4,5,6]:¶ø²»ÊÇÓø´ÔÓµÄif½á¹¹£º
if n==1 or n==4 or n==5 or n==6: ×Ö·û´®/ÊýÁÐ ÄæÐòÏÂÃæµÄ·½Ê½¿ÉÒÔ¿ìËÙ·´×ªÒ»¸öÁÐ±í£º
>>> a = [1,2,3,4] >>> a[::-1] [4, 3, 2, 1] # This creates a new reversed list. # If you want to reverse a list in place you can do: a.reverse()ÕâÖÖ·½Ê½Í¬ÑùÊÊÓÃÓÚ×Ö·û´®£º
>>> foo = "yasoob" >>> foo[::-1] 'boosay' ÓÅÑŵشòÓ¡ÏÂÃæµÄ·½Ê½¿ÉÒÔÓÃÓÅÑŵķ½Ê½´òÓ¡×ÖµäºÍÁÐ±í£º
from pprint import pprint pprint(my_dict)ÕâÓÃÓÚ×Öµä´òÓ¡ÊǷdz£¸ßЧµÄ£¬Èç¹ûÄãÏë´ÓÎļþÖпìËÙÓÅÑŵĴòÓ¡³öjson£¬¿ÉÒÔÕâÑù×ö£º
cat file.json | python -m json.tools ÈýÔªÔËËãÈýÔªÔËËãÊÇif-else Óï¾äµÄ¿ì½Ý²Ù×÷£¬Ò²±»³ÆÎªÌõ¼þÔËËã¡£ÕâÀïÓм¸¸öÀý×Ó¿ÉÒÔ¹©Äã²Î¿¼:
[on_true] if [expression] else [on_false] x, y = 50, 25 small = x if x < y else y ÒëÎijö´¦£º±¾Îĸù¾Ý@Nicolas BevacquaµÄ¡¶nifty-python-tricks¡·ËùÒ룬Õû¸öÒëÎÄ´øÓÐÎÒ×Ô¼ºµÄÀí½âÓë˼Ï룬Èç¹ûÒëµÃ²»ºÃ»òÓв»¶ÔÖ®´¦»¹ÇëͬÐÐÅóÓÑÖ¸µã¡£ÈçÐè×ªÔØ´ËÒëÎÄ£¬Ðè×¢Ã÷Ó¢Îijö´¦£ºhttps://freepythontips.wordpress.com/2015/04/19/nifty-python-tricks/¡£
¡¡