¸üÐÂʱ¼ä:2020Äê08ÔÂ13ÈÕ13ʱ57·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:
Python 3 ´ú±í Python ÓïÑÔ½ø»¯µÄÒ»¸ö²úÎËùÒÔËü²»»áÖ´Ðдó¶àÊýÕë¶Ô Python 2.x °æ±¾ ½âÊÍÆ÷ËùдµÄ¾É´úÂë¡£µ«ÊÇ£¬Õâ²¢²»Òâζ×ÅÄã²»ÄÜʶ±ð¾ÉÓеĴúÂ룬»òÕßÐèÒª¹ã·ºµÄÒÆÖ²²Å ÄÜʹ¾É´úÂ빤×÷ÓÚ 3.x °æ±¾Ï¡£ÊÂʵÉÏ£¬ÐµÄÓï·¨Óë¹ýÈ¥µÄÓï·¨·Ç³£ÏàËÆ¡£È»¶ø£¬ÒòΪ print Óï¾äÔÚа汾Öв»ÔÙ´æÔÚ£¬ËùÒÔËüºÜÈÝÒ×ÆÆ»µ¾ÉÓеĴúÂë¡£¸½Â¼½«ÌÖÂÛ print ºÍ°æ±¾ 3.x µÄÆä Ëû±ä»¯£¬²¢ÇÒ½«×ÅÖØÇ¿µ÷ΪÁËʹÆä¸üÓÅÐ㣬Python ±ØÐë½øÐеÄһЩ¸Ä½ø¡£×îºó£¬ÎÒÃǸø³öÁË Ò»Ð©Ç¨ÒÆ¹¤¾ß£¬ËüÃÇ¿ÉÄÜÓÐÖúÓÚÄãʵÏÖÕâһת±ä¡£
PythonµÄ3.0°æ±¾£¬³£±»³ÆÎªPython 3000£¬»ò¼ò³ÆPy3k¡£Ïà¶ÔÓÚPythonµÄÔçÆÚ°æ±¾£¬ÕâÊÇÒ»¸ö½Ï´óµÄÉý¼¶¡£
ΪÁ˲»´øÈë¹ý¶àµÄÀÛ׸£¬Python 3.0ÔÚÉè¼ÆµÄʱºòûÓп¼ÂÇÏòÏÂÏàÈÝ¡£
Ðí¶àÕë¶ÔÔçÆÚPython°æ±¾Éè¼ÆµÄ³Ìʽ¶¼ÎÞ·¨ÔÚPython 3.0ÉÏÕý³£Ö´ÐС£
ΪÁËÕÕ¹ËÏÖÓгÌʽ£¬Python 2.6×÷Ϊһ¸ö¹ý¶É°æ±¾£¬»ù±¾Ê¹ÓÃÁËPython 2.xµÄÓï·¨ºÍ¿â£¬Í¬Ê±¿¼ÂÇÁËÏòPython 3.0µÄÇ¨ÒÆ£¬ÔÊÐíʹÓò¿·ÖPython 3.0µÄÓï·¨Ó뺯Êý¡£
еÄPython³Ìʽ½¨ÒéʹÓÃPython 3.0°æ±¾µÄÓï·¨¡£
³ý·ÇÖ´Ðл·¾³ÎÞ·¨°²×°Python 3.0»òÕß³Ìʽ±¾ÉíʹÓÃÁ˲»Ö§Ô®Python 3.0µÄµÚÈý·½¿â¡£Ä¿Ç°²»Ö§Ô®Python 3.0µÄµÚÈý·½¿âÓÐTwisted, py2exe, PILµÈ¡£
´ó¶àÊýµÚÈý·½¿â¶¼ÕýÔÚŬÁ¦µØÏàÈÝPython 3.0°æ±¾¡£¼´Ê¹ÎÞ·¨Á¢¼´Ê¹ÓÃPython 3.0£¬Ò²½¨Òé±àдÏàÈÝPython 3.0°æ±¾µÄ³Ìʽ£¬È»ºóʹÓÃPython 2.6, Python 2.7À´Ö´ÐС£
Python 3.0µÄ±ä»¯Ö÷ÒªÔÚÒÔϼ¸¸ö·½Ãæ
print º¯Êý
printÓï¾äûÓÐÁË£¬È¡¶ø´úÖ®µÄÊÇprint()º¯Êý¡£ Python 2.6ÓëPython 2.7²¿·ÖµØÖ§³ÖÕâÖÖÐÎʽµÄprintÓï·¨¡£ÔÚPython 2.6ÓëPython 2.7ÀïÃæ£¬ÒÔÏÂÈýÖÖÐÎʽÊǵȼ۵ģº
print "hello"
print ("python") #×¢ÒâprintºóÃæÓиö¿Õ¸ñ
print("app") #print()²»ÄÜ´øÓÐÈÎºÎÆäËü²ÎÊý
È»¶ø£¬Python 2.6ʵ¼ÊÒѾ֧³ÖеÄprint()Óï·¨£º
from __future__ import print_function
print("hello", "python","app", sep=',')
Unicode
Ŀǰ Python Óû§Ãæ¶ÔµÄÓÖÒ»¸ö“ÏÝÚ唾ÍÊÇ£¬×Ö·û´®ÏÖÔÚĬÈÏΪ Unicode ±àÂë¡£ÕâÖÖ±ä »¯²»¿ÉÄܺܿì¾ÍÀ´£¬µ±´¦Àí Unicode ºÍͨ³£µÄ ASCII ×Ö·û´®Ê±£¬ÎÞÊýµÄ Python ¿ª·¢ÈËÔ±Óöµ½ ÕâÖÖÎÊÌâÒѾ²»Ö¹Ò»Á½ÌìÁË¡£ÕâÖÖÎÊÌâ¿´ÆðÀ´ÈçÏÂËùʾ¡£
UnicodeEncodeError: 'ascii' codec can't encode character u'\xae' in position 0: ordinal not in range(128)
ÔÚ Python 3.x ÖÐÕâÖÖÀàÐ͵ÄÎÊÌ⽫²»ÔÙ¾³£·¢Éú¡£¹ØÓÚ Python ÖÐʹÓà Unicode µÄ¸ü ¶àÐÅÏ¢£¬¿ÉÒԲ鿴 Unicode HOWTO Îĵµ(Çë²ÎÔÄ C.3 ½ÚµÄ Web µØÖ·)¡£Ëæ×Åа汾µÄ Python ²ÉÓÃÁËÕâÖÖÄ£ÐÍ£¬Óû§½«²»ÔÙÐèҪʹÓà Unicode ºÍ ASCII/·Ç Unicode ×Ö·û´®ÕâЩ ÊõÓï¡£“Python 3.0 ÖеÄÐÂÄÚÈÝ”(What’s New in Python 3.0)ÎĵµÏ൱ÏêϸµØ×ܽáÁËÕâÖÖ ÐÂÄ£ÐÍ¡£ Python 3 ʹÓÃÁËÎı¾(text)ºÍ(¶þ½øÖÆ)Êý¾ÝµÄ¸ÅÄ¶ø·Ç Unicode ×Ö·û´®ºÍ 8 λ×Ö·û ´®¡£ËùÓеÄÎı¾¶¼ÊÇ Unicode ±àÂëµÄ¡£È»¶ø£¬±àÂëµÄ Unicode ±íʾ³É¶þ½øÖÆÊý¾Ý¡£ÓÃÀ´±£´æ Îı¾µÄÀàÐÍÊÇ str£¬¶øÓÃÀ´±£´æÊý¾ÝµÄÀàÐÍÊÇ bytes¡£
| python2 | python3 | ÊÇ·ñ¿É±ä |
| str("") | bytes(b"") | ·ñ |
| unicode(u"") | str("") | ·ñ |
| N/A | bytearray | ÊÇ |
ÓÉÓÚ Python3.X Ô´ÂëÎļþĬÈÏʹÓÃutf-8±àÂ룬Õâ¾ÍʹµÃÒÔÏ´úÂëÊǺϷ¨µÄ£º
>>> Öйú = 'china' >>>print(Öйú) china
Python 2.x
>>> str = "ÎÒ°®±±¾©Ìì°²ÃÅ" >>> str '\xe6\x88\x91\xe7\x88\xb1\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8' >>> str = u"ÎÒ°®±±¾©Ìì°²ÃÅ" >>> str u'\u6211\u7231\u5317\u4eac\u5929\u5b89\u95e8'
Python 3.x
>>> str = "ÎÒ°®±±¾©Ìì°²ÃÅ" >>> str 'ÎÒ°®±±¾©Ìì°²ÃÅ'
³ý·¨ÔËËã
PythonÖеijý·¨½ÏÆäËüÓïÑÔÏԵ÷dz£¸ß¶Ë£¬ÓÐÌ׺ܸ´ÔӵĹæÔò¡£PythonÖеijý·¨ÓÐÁ½¸öÔËËã·û£¬/ºÍ//
Ê×ÏÈÀ´Ëµ/³ý·¨:
ÔÚpython 2.xÖÐ/³ý·¨¾Í¸úÎÒÃÇÊìϤµÄ´ó¶àÊýÓïÑÔ£¬±ÈÈçJava°¡C°¡²î²»¶à£¬ÕûÊýÏà³ýµÄ½á¹ûÊÇÒ»¸öÕûÊý£¬°ÑСÊý²¿·ÖÍêÈ«ºöÂÔµô£¬¸¡µãÊý³ý·¨»á±£ÁôСÊýµãµÄ²¿·ÖµÃµ½Ò»¸ö¸¡µãÊýµÄ½á¹û¡£
ÔÚpython 3.xÖÐ/³ý·¨²»ÔÙÕâô×öÁË£¬¶ÔÓÚÕûÊýÖ®¼äµÄÏà³ý£¬½á¹ûÒ²»áÊǸ¡µãÊý¡£
Python 2.x: >>> 1 / 2 0 >>> 1.0 / 2.0 0.5 Python 3.x: >>> 1/2 0.5
¶ø¶ÔÓÚ//³ý·¨£¬ÕâÖÖ³ý·¨½Ð×öfloor³ý·¨£¬»á¶Ô³ý·¨µÄ½á¹û×Ô¶¯½øÐÐÒ»¸öfloor²Ù×÷£¬ÔÚpython 2.xºÍpython 3.xÖÐÊÇÒ»Öµġ£
python 2.x:
>>> -1 // 2 -1 python 3.x: >>> -1 // 2 -1
×¢ÒâµÄÊDz¢²»ÊÇÉáÆúСÊý²¿·Ö£¬¶øÊÇÖ´ÐÐ floor ²Ù×÷£¬Èç¹ûÒª½ØÈ¡ÕûÊý²¿·Ö£¬ÄÇôÐèҪʹÓà math Ä£¿éµÄ trunc º¯Êý
python 3.x:
>>> import math >>> math.trunc(1 / 2) 0 >>> math.trunc(-1 / 2) 0
²»µÈÔËËã·û
Python 2.xÖв»µÈÓÚÓÐÁ½ÖÖд·¨ != ºÍ <>
Python 3.xÖÐÈ¥µôÁË<>, Ö»ÓÐ!=Ò»ÖÖд·¨£¬»¹ºÃ£¬ÎÒ´ÓÀ´Ã»ÓÐʹÓÃ<>µÄϰ¹ß
ÊäÈëµÄ²»Í¬
1. ´Ó¼üÅ̼ÈëÒ»¸ö×Ö·û´®
Ô:
raw_input( "ÌáʾÐÅÏ¢" )
¸ÄΪ:
input( "ÌáʾÐÅÏ¢" )
ÔÚpython2.xÖÐraw_input()ºÍinput( )£¬Á½¸öº¯Êý¶¼´æÔÚ£¬ÆäÖÐÇø±ðΪ£º
·raw_input()---½«ËùÓÐÊäÈë×÷Ϊ×Ö·û´®¿´´ý£¬·µ»Ø×Ö·û´®ÀàÐÍ
·input()-----Ö»ÄܽÓÊÕ"Êý×Ö"µÄÊäÈ룬ÔÚ¶Ô´ý´¿Êý×ÖÊäÈëʱ¾ßÓÐ×Ô¼ºµÄÌØÐÔ£¬Ëü·µ»ØËùÊäÈëµÄÊý×ÖµÄÀàÐÍ(int, float )
ÔÚpython3.xÖÐrawinput()ºÍinput( )½øÐÐÁËÕûºÏ£¬È¥³ýÁËrawinput()£¬½ö±£ÁôÁËinput()º¯Êý£¬Æä½ÓÊÕÈÎÒâÈÎÐÔÊäÈ룬½«ËùÓÐÊäÈëĬÈÏΪ×Ö·û´®´¦Àí£¬²¢·µ»Ø×Ö·û´®ÀàÐÍ¡£
Ä£¿é¸ÄÃû
StringIOÄ£¿éÏÖÔÚ±»ºÏ²¢µ½ÐµÄioÄ£×éÄÚ¡£ new, md5, gopherlibµÈÄ£¿é±»É¾³ý¡£
httplib, BaseHTTPServer, CGIHTTPServer, SimpleHTTPServer, Cookie, cookielib±»ºÏ²¢µ½http°üÄÚ¡£ È¡ÏûÁËexecÓï¾ä£¬Ö»Ê£ÏÂexec()º¯Êý¡£
I/O·½·¨XREADLINES()
python2ÖУ¬Îļþ¶ÔÏóÓÐÒ»¸öxreadlines()·½·¨£¬·µ»ØÒ»¸öµü´úÆ÷£¬Ò»´Î¶ÁÈ¡ÎļþµÄÒ»ÐС£ÕâÔÚforÑ»·ÖÐÓÈÆäʵÓá£python3ÖУ¬xreadlines()·½·¨²»ÔÙ¿ÉÓá£
ÁбíÍÆµ¼
²»ÔÙÖ§³Ö[n for n in a,b]Óï·¨£¬¸ÄΪ[n for n in (a,b)]»ò[n for n in [a,b]]
`a``=``1``b``=``2``c``=``[n ``for` `n ``in` `[a,b]]``print``(c)`
Êä³ö[1,2]
¸üÐÂÒì³£µÄÓï·¨
Òì³£´¦Àí ÔÚ¹ýÈ¥£¬²¶»ñÒì³£µÄÓï·¨ºÍÒì³£²ÎÊý/ʵÀýÓÐÒÔÏÂÐÎʽ¡£ except ValueError, e: ÓÃÏàͬµÄ´¦Àí³ÌÐò²¶»ñ¶à¸öÒì³££¬»áʹÓÃÏÂÃæµÄÓï·¨¡£ except (ValueError, TypeError), e: ËùÐèµÄÔ²À¨ºÅʹµÃһЩÓû§ÃÔ»ó£¬ÒòΪËûÃǾ³£³¢ÊÔ±àд¿´ÆðÀ´ÏñÏÂÃæÕâÑùµÄÎÞЧ ´úÂë¡£ except ValueError, TypeError, e: Ð嵀 as ¹Ø¼ü×ÖÊÇΪÁËÈ·±£Äã²»»áÒòΪÔʼÓï·¨ÖеĶººÅ¶ø»ìÏý;È»¶ø£¬µ±ÄãÊÔͼʹÓÃÏà ͬµÄ´¦Àí³ÌÐò²¶»ñÒ»ÖÖÒÔÉϵÄÒ쳣ʱ£¬ÈÔ¾ÉÐèÒªÔ²À¨ºÅ¡£ÕâÀïÓÐÁ½¸öÏàͬ¹¦ÄܵÄÐÂÓï·¨Àý×Ó£¬ ËüÃÇչʾÁËÕâÖֱ仯£º
except ValueError as e:
except (ValueError, TypeError) as e:
×Ô Python 2.6 ÒÔÀ´£¬Ö®ºó·¢ÐÐµÄ 2.x °æ±¾ÔÚ´´½¨Òì³£´¦Àí³ÌÐòʱ¶¼¿ªÊ¼½ÓÊÜÕâÁ½ÖÖÐÎʽ£¬ ´Ó¶ø´Ù½øÁËÒÆÖ²¹ý³Ì¡£¿ÉÒÔÔÚ PEP 3110 ÕÒµ½¹ØÓڸñ仯µÄ¸ü¶àÐÅÏ¢¡£ Å׳öÒì³£ Python 2.x ÖÐÅ׳öÒì³£µÄ×îÊÜ»¶ÓµÄÓï·¨ÈçÏÂËùʾ¡£
raise ValueError, e
ÐèÒªÖØµãÇ¿µ÷µÄÊÇ£¬ÄãÕýÔÚ´´½¨Ò»ÖÖÒì³£µÄÒ»¸öʵÀý£¬Python 3.x ÖÐΨһ֧³ÖµÄÒ»ÖÖÓï ·¨ÈçÏÂËùʾ¡£ raise ValueError(e) Õâ¸öÓï·¨ÆäʵһµãÒ²²»ÐÂÏÊ¡£ÔÚ³¬¹ý 10 ÄêǰµÄ Python 1.5(Êǵģ¬ÄãûÓп´´í)ÖоÍÒý ÈëÁËÕâÖÖÓï·¨£¬µ±Ê±Òì³£ÓÉ×Ö·û´®±ä»¯³ÉÀ࣬ÀàʵÀý»¯µÄÓï·¨¿´ÆðÀ´¸üÏñÊǺóÕß¶ø·ÇǰÕߣ¬ ²¢ÇÒÎÒÃÇÈ·ÐÅÄã»áͬÒâÕâÒ»µã¡£
²ÂÄãϲ»¶£º
PythonÖÐcookieµÄÉèÖ÷½·¨
ѧϰpython×îµÍµçÄÔÅäÖÃ?
Python»ù´¡ÊÓÆµ½Ì³Ì(600¼¯)¡¾ÀÖÓã²¥¿Í¾«Æ·½Ì³Ì¡¿
Èí¼þ²âÊÔ4.0¿Î³Ì
±±¾©Ð£Çø