ÁªÃËÊ×Ò³ Эͬ¿ª·¢ ¹²´´Èí¼þ ¿ª·ÅÔ´Âë Èí¼þ¹¤³Ì ¹²´´ÂÛ̳ ¹ØÓÚÁªÃË
  ÄúµÄλÖà » 2004Äê10ÔÂ30ÈÕ  
ͨ¹ýSSLµÇ¼
ÐÂÓû§Í¨¹ýSSL×¢²á

ÍêÈ«Æ¥Åä   

glace
MaGuoLiang
²ÌÎÄÁÁ
רÀ¸ÕªÒª

רÀ¸¹ÜÀí


ÏîÄ¿Ãû³Æ: python:
ÂÛ̳: ä¯ÀÀÂÛ̳

ÌÖÂÛÂÛ̳: PythonÓ¦ÓÃÔÚÖйú

¹ÜÀí

By: ccba ( ²ÌÎÄÁÁ )   BBS ˮľÇ廪վ [ reply ]     2002-05-10 14:35
ʱ¼ä[May 10 14:22] ×ÜÈËÊý [ 2987 ] [Y£ºY] ʹÓÃÕß[chinagnu] Í£Áô[ 0: 8]
·¢ÐÅÈË: MoneyMaker (ÖÁÈËÎÞ¼º), ÐÅÇø: Linux
±ê Ìâ: PythonµÄÓÅÊÆ
·¢ÐÅÕ¾: BBS ˮľÇ廪վ (Fri Jul 14 10:55:33 2000)

ż¶ûÔÚBBSÉÏ¿´¼ûÓÐÈËÌáÆðPython£¬µ«ÊÇ»ù±¾ÉÏÿÈË»ØÓ¦£¬Õâʱ×ܸоõ±È½Ï±¯°§
£¨ËùνÒÅÖéÖ®º¶£©£¬ËùÒÔÎÒÅ×שÒýÓñ£¬ÏÈ̸̸¶ÔPythonµÄÈÏʶ£¬µ«ÓÉÓÚ¶ÔPython
Ò²ÊÇÂÔÖªÒ»¶þ£¬Çë´ó¼Ò¶à¶àÖ¸½Ì¡£
Python×ܵÄÀ´ËµÊÇÒ»ÖÖ½âÊÍÐÍ¡¢ÃæÏò¶ÔÏóµÄÓïÑÔ¡£
ÏÈ´µÒ»´µËûµÄºÃ´¦£º
¡¤½âÊÍÆ÷ºÍºÜ¶à¿â¶¼ÊÇOpenSource£¬µ«ÊÇLicense¶¼±È½Ï¿íËÉ£¬¿ÉÊÊÓÃÓÚ¸÷ÖÖÇé¿ö£»
¡¤½âÊÍÆ÷·Ç³£Îȶ¨£¬ÓÃPython£«À©Õ¹PythonÄ£¿é×÷µÄZope£¨Ò»¸öÃæÏò¶ÔÏóµÄ
Application Server£¬Ò²¿ÉÒÔÖ±½Ó×öWebServer£©£¬ÓÐÈËÅÜÁË10¸öÔ£¨7¡Á24£©
²»³öÎÊÌ⣬ºóÀ´ÒòÉý¼¶Zope²ÅÖØÆðÒ»´Î¡£±Ï¾¹PythonÒ²ÊÇ·¢Õ¹ÁËÊ®¼¸ÄêµÄ¶¬¶¬£»
¡¤Æ½Ì¨Î޹أ¨³ý·ÇʹÓÃƽ̨Ïà¹ØµÄÄ£¿é£©£¬BSD¡¢MacOS¡¢Irix¡¢SunOS/Solaris¡¢
Win32¡¢»¹ÓÐһЩ´óÐÍ»úϵͳ¶¼Ö§³Ö£»
¡¤¶ÔÃæÏò¶ÔÏóµÄÖ§³Ö£¬Ïñ·â×°£¬¼Ì³Ð£¬¶à̬µÈµÈÒ»¸ö¶¼²»ÉÙ£»
¡¤Ö§³ÖModule£¨ÏóJavaµÄPackage£©£¬¿É·â×°ÐÔ¸üÇ¿£»
¡¤ÍêÈ«µÄ¶¯Ì¬°ó¶¨£¬ÏóÀà¡¢ÀàµÄ³ÉÔ±£¨°üÀ¨Êý¾ÝºÍ¹ý³Ì£©¡¢ÃüÃûµÈ¶¼ÊǶ¯Ì¬°ó¶¨µÄ£»
¡¤Óï·¨¼ò½à£¬¿É¶ÁÐԷdz£ºÃ£¬PythonÓÃËõ½ø±íʾ²ã´Î£¬¶øÇÒÓï·¨¹æÔò±È½Ï¾«Á¶£»
ÎÒ¾ÙÒ»¸ö¼òµ¥µÄÀý×Ó£¬ÔÚLinuxÏÂÓÐMD5SumµÄ³ÌÐò¼ÆËãÎļþµÄMD5ÕªÒª£¨ÏÂÁËISO
Ò»¶¨Òª¼ìÑéร©£¬µ«ÔÚWindowsÏÂûÓÐÏֳɵģ¬ÓÚÊÇÎÒÓÃÁ˼¸·ÖÖÓдÁËÒ»¸ö£º
#########################¿ªÊ¼#########################
import md5,sys
ÏÂÃ滹ÓÐภ(35%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
import md5,sys
filename=sys.argv[1]
a=md5.new()
file=open(filename,'rb')
while 1:
buffer=file.read(65536)
if len(buffer)>0:
a.update(buffer)
else:break
del file
r=a.digest()
s=''
for i in range(0,16):
t=hex(ord(r[i]))
if len(t)<4:
s=s+'0'
s=s+t[2:]
print s
#########################½áÊø#########################
µ±È»³ÌÐò¼òµ¥£¬²»×ãÒÔ˵Ã÷PythonÃæÏò¶ÔÏóµÄÌØÐÔ£¬µ«¿´ÆðÀ´¸Ð¾õ»¹ÊǺÜˬ¡£
¡¤À©Õ¹ÐԷdz£ºÃ£¬¿ÉÒÔÓÃC/C£«£«Ð´Ä£¿é£¨ÔÚWin32ÏÂΪDll£©£¬ºÍPerl²î²»¶à£¬
ÎÒÔø¾­×ö¹ýºÃ¼¸¸öÀ©Õ¹Ä£¿é£¬¿ª·¢·Ç³£¼òµ¥¡£
¡¤Ç¶Èë±ðµÄ³ÌÐò·Ç³£ÈÝÒ×£¬Ö»Òª½«PythonµÄÒ»¸öÄ£¿éÁ¬½øÄãµÄÖ÷³ÌÐò¼´¿É£¬µ«ÓÃ
ÏÂÃ滹ÓÐภ(56%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
¡¤Ç¶Èë±ðµÄ³ÌÐò·Ç³£ÈÝÒ×£¬Ö»Òª½«PythonµÄÒ»¸öÄ£¿éÁ¬½øÄãµÄÖ÷³ÌÐò¼´¿É£¬µ«ÓÃ
VB£¬³ýÁË×Ô¼ºÀ´½âÊÍVB£¡£¡£¡£¬ÎÒ²»ÖªµÀÔõÑùǶÈ뵽ϵͳÖС£
¡¤PyhtonµÄÄ£¿é¿â·Ç³£·á¸»£¨ºÍPerl²î²»¶à°É£¬µ±È»PerlµÄÄ£¿é£¬PythonµÄÄ£¿é
¸ÄÒ»¸ÄÓ¦¸Ã¿ÉÒÔ»»Óðɣ¿¶¼ÊÇC/C++µÄ˵£©£¬ÄÚ´æ´¦Àí¡¢IO¡¢½ø³ÌÏ̡߳¢¼ÓÃÜ¡¢
Êý¾Ý¿â¡¢ÍøÂ磨µ×²ãµÄSocketºÍ±ê×¼µÄHttp¡¢ftpµÈ¶¼ÓУ©£¬ÖµµÃÒ»ÌáµÄÊÇ£¬¾ÓÈ»ÓÐ

·ÖÎöPythonÓïÑԵĿ⡢¶ÔÏó´æ´¢µÄ¿â£¨Êý¾ÝºÍ·½·¨¶¼¿ÉÒԴ棡£©£»
¡¤»¹ÅäºÏJPython£¨½«Python±àÒëΪJava ByteCode£©¡¢StacklessPython£¨Ò»ÖÖ¼ÓËÙµÄ
Python½âÊÍÆ÷£©µÈÏîÄ¿½øÒ»²½ÍÚ¾òÓ¦Óã»
¡¤¹ØÓÚXMLµÄÖ§³Ö£¬Æäʵûʲô¿É˵µÄ£¬·´ÕýÈçÓÐÒ»¸öC/C£«£«µÄ¶¬¶¬£¬½«Æä¸ã³ÉPython

µÄÄ£¿é²»ÊǺܷѾ¢£¬ÏÖÔÚ¾ÍÓкü¸¸ö£¬ÏóExpact¾Í±»¸ã½øÈ¥ÁË£»
²»¹ýÓÐÈËÆÀ¼ÛPythonËٶȱȽÏÂý£¬StacklessPythonµÈŬÁ¦Ó¦¿ÉÒÔ½øÐÐÒ»¶¨µÄ¸ÄÉÆ£¬

²»¹ýÍêÈ«¶¯Ì¬°ó¶¨±Ø½«¸¶³ö´ú¼Û£¬·´Õý¹Ø¼üËã·¨¿ÉÓà C/C£«£«¸ã³ÉÄ£¿é¡£
PythonÊÇÈç´ËÓÅÐ㣬µ«ÖªµÀµÄÈËÈ·ºÜÉÙ£¬ËüÔÚWebServer¶ËºÍLinux¡¢BSDµÈµØϵͳ
¹ÜÀíÖÐÓõñȽ϶࣬ÆäʵËûÈç´ËÇ¿´ó£¬ºÜ¶à»·¾³¶¼¿ÉÒÔÊÊÓã¬ÕæÊÇ¿Éϧ£¬Îҷdz£ÍƼö
ÔÚϵͳÖÐǶÈëPythonÖ§³ÖÀ´¼ò»¯¶þ´Î¿ª·¢£¨Kick VB£©£¬»¹ÓÐPythonµÄÈ«¶¯Ì¬°ó¶¨£¬·Ç³£

ÊʺÏWebµÄ¿ª·¢¡£
²»ÖªµÀÓÐûÓÐÈËÔ¸ÒâºÍÎÒÒ»Æð½øÐÐPythonµÄÍƹ㣬ÎÒ¸öÈ˵ÄÁ¦Á¿Ì«Ð¡ÁË£¬Ê±¼ä²»¹»
£¬
¼¼ÊõÓֲÐèÒª´ó¼ÒÒ»ÆðÀ´Å¬Á¦¡£
ÏÂÃ滹ÓÐภ(88%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦

µÄÄ£¿é²»ÊǺܷѾ¢£¬ÏÖÔÚ¾ÍÓкü¸¸ö£¬ÏóExpact¾Í±»¸ã½øÈ¥ÁË£»
²»¹ýÓÐÈËÆÀ¼ÛPythonËٶȱȽÏÂý£¬StacklessPythonµÈŬÁ¦Ó¦¿ÉÒÔ½øÐÐÒ»¶¨µÄ¸ÄÉÆ£¬

²»¹ýÍêÈ«¶¯Ì¬°ó¶¨±Ø½«¸¶³ö´ú¼Û£¬·´Õý¹Ø¼üËã·¨¿ÉÓà C/C£«£«¸ã³ÉÄ£¿é¡£
PythonÊÇÈç´ËÓÅÐ㣬µ«ÖªµÀµÄÈËÈ·ºÜÉÙ£¬ËüÔÚWebServer¶ËºÍLinux¡¢BSDµÈµØϵͳ
¹ÜÀíÖÐÓõñȽ϶࣬ÆäʵËûÈç´ËÇ¿´ó£¬ºÜ¶à»·¾³¶¼¿ÉÒÔÊÊÓã¬ÕæÊÇ¿Éϧ£¬Îҷdz£ÍƼö
ÔÚϵͳÖÐǶÈëPythonÖ§³ÖÀ´¼ò»¯¶þ´Î¿ª·¢£¨Kick VB£©£¬»¹ÓÐPythonµÄÈ«¶¯Ì¬°ó¶¨£¬·Ç³£

ÊʺÏWebµÄ¿ª·¢¡£
²»ÖªµÀÓÐûÓÐÈËÔ¸ÒâºÍÎÒÒ»Æð½øÐÐPythonµÄÍƹ㣬ÎÒ¸öÈ˵ÄÁ¦Á¿Ì«Ð¡ÁË£¬Ê±¼ä²»¹»
£¬
¼¼ÊõÓֲÐèÒª´ó¼ÒÒ»ÆðÀ´Å¬Á¦¡£
¡¾×¢¡¿£ºPythonµÄÍøÖ· http://www.python.org /> ZopeµÄÍøÖ· http://www.zope.org /> ÔÚhttp://statms.stat.pku.edu.cn/~ldf/(±±´óÊýѧѧԺ À·çÀÏʦµÄÖ÷
Ò³)
ÉÏÓÐһЩ¶ÔPythonµÄ½éÉÜ£¬ÓеĻ¹ÊÇÖÐÎĵġ£
ÁíÍâºÃÏñscaner@smth ¶ÔPython±È½Ï¾«Í¨.
ÎÒµÄemail£º [email protected] »¶Ó­´ó¼Ò½»Á÷¡£

    By: ccba ( ²ÌÎÄÁÁ )   RE: BBS ˮľÇ廪վ [ reply ]     2002-05-12 04:14
    ·¢ÐÅÈË: mikky (ЦÎûÎû), ÐÅÇø: Python
    ±ê Ìâ: Re: ÖÐÎÄ£ºpython-tutorial
    ·¢ÐÅÕ¾: BBS ˮľÇ廪վ (Tue Mar 27 23:27:13 2001)

    µÚÒ»Õ ½éÉÜ
    ½Å±¾ÓïÑÔÊÇÀàËÆDOSÅú´¦Àí¡¢UNIX shell³ÌÐòµÄÓïÑÔ¡£½Å±¾ÓïÑÔ²»ÐèҪÿ´Î±àÒëÔÙÖ´ÐУ¬
    ²¢ÇÒÔÚÖ´ÐÐÖпÉÒÔºÜÈÝÒ׵طÃÎÊÕýÔÚÔËÐеijÌÐò£¬ÉõÖÁ¿ÉÒÔ¶¯Ì¬µØÐÞ¸ÄÕýÔÚÔËÐеijÌÐò
    £¬ÊÊÓÃÓÚ¿ìËٵؿª·¢ÒÔ¼°Íê³ÉһЩ¼òµ¥µÄÈÎÎñ¡£ÔÚʹÓýű¾ÓïÑÔʱ³£³£ÐèÒªÔöµÄÐµĹ¦
    ÄÜ£¬µ«ÓÐʱÒòΪ½Å±¾ÓïÑÔ±¾À´¾ÍÒѾ­ºÜÂý¡¢ºÜ´ó¡¢ºÜ¸´ÔÓÁ˶ø²»ÄÜʵÏÖ£»»òÕߣ¬ËùÐèµÄ
    ¹¦ÄÜÉæ¼°Ö»ÄÜÓÃCÓïÑÔÌṩµÄϵͳµ÷ÓûòÆäËûº¯Êý¡ª¡ªÍ¨³£ËùÒª½â¾öµÄÎÊÌâûÓÐÖØÒªµ½±Ø
    ÐëÓÃCÓïÑÔÖØдµÄ³Ì¶È£»»òÕߣ¬½â¾öÎÊÌâÐèÒªÖîÈç¿É±ä³¤¶È×Ö·û´®µÈÊý¾ÝÀàÐÍ£¨ÈçÎļþÃû
    µÄÓÐÐòÁÐ±í£©£¬ÕâÑùµÄÊý¾ÝÀàÐÍÔڽű¾ÓïÑÔÖÐÊ®·ÖÈÝÒ׶øCÓïÑÔÔòÐèÒªºÜ¶à¹¤×÷²ÅÄÜʵÏÖ
    £»»òÕߣ¬±à³ÌÕß²»ÊìϤCÓïÑÔ£ºÕâЩÇé¿öÏ»¹ÊÇ¿ÉÒÔʹÓýű¾ÓïÑԵġ£
    ÔÚÕâÑùµÄÇé¿öÏ£¬Python¿ÉÄÜÕýºÃÊʺÏÄãµÄÐèÒª¡£PythonʹÓüòµ¥£¬µ«ËüÊÇÒ»¸öÕæÕýµÄ
    ³ÌÐòÓïÑÔ£¬¶øÇÒ±ÈshellÌṩÁ˸ü¶à½á¹¹ºÍ¶Ô´óÐͳÌÐòµÄÖ§³Ö¡£ÁíÒ»·½Ã棬Ëü±ÈCÌṩ¸ü
    ¶àµÄ´íÎó¼ì²é£¬ËüÊÇÒ»¸ö·Ç³£¸ß¼¶µÄÓïÑÔ£¬ÄÚÖÃÁ˸÷Öָ߼¶Êý¾Ý½á¹¹£¬ÈçÁé»îµÄÊý×éºÍ
    ×ֵ䣬ÕâЩÊý¾Ý½á¹¹ÒªÓÃC¸ßЧʵÏֵĻ°¿ÉÄÜÒª»¨·ÑÄ㼸ÌìµÄʱ¼ä¡£ÓÉÓÚPython¾ßÓиüÒ»
    °ãµÄÊý¾Ý½á¹¹£¬Ëü±ÈAwkÉõÖÁPerlÊÊÓõķ¶Î§¶¼¹ã£¬¶øÐí¶à¶«Î÷ÔÚPythonÄÚÖÁÉÙºÍÔÚÕâЩ
    ÓïÑÔÄÚÒ»ÑùÈÝÒס£
    ¡¡
    PythonÔÊÐíÄã°Ñ³ÌÐò·Ö½âΪģ¿é£¬Ä£¿é¿ÉÒÔÔÚÆäËûPython³ÌÐòÖÐÖØÓá£Ëü´øÓÐÒ»´óÅú±ê
    ׼ģ¿é¿ÉÒÔ×÷ΪÄã×Ô¼ºµÄ³ÌÐòµÄ»ù´¡¡ª¡ª»ò×÷ΪѧϰPython±à³ÌµÄÀý×Ó¡£ÏµÍ³»¹ÌṩÁË
    ¹ØÓÚÎļþÊäÈëÊä³ö¡¢ÏµÍ³µ÷Óᢲå×ù(sockets)µÄ¶«Î÷£¬ÉõÖÁÌṩÁË´°¿Úϵͳ(STDWIN)µÄ
    ÏÂÃ滹ÓÐภ(51%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    ¹ØÓÚÎļþÊäÈëÊä³ö¡¢ÏµÍ³µ÷Óᢲå×ù(sockets)µÄ¶«Î÷£¬ÉõÖÁÌṩÁË´°¿Úϵͳ(STDWIN)µÄ
    ͨÓýӿڡ£
    ¡¡
    PythonÊÇÒ»¸ö½âÊÍÐÔÓïÑÔ£¬ÒòΪ²»ÐèÒª±àÒëºÍÁ¬½ÓËùÒÔÄܽÚÊ¡´óÁ¿µÄ³ÌÐò¿ª·¢Ê±¼ä¡£½â
    ÊͳÌÐò¿ÉÒÔ½»»¥Ê¹Óã¬ÕâÑù¿ÉÒÔ¿ÉÒÔºÜÈÝÒ×µØÊÔÑéÓïÑԵĸ÷ÖÖÌØÉ«£¬Ð´Ö»ÓÃÒ»´ÎµÄ³ÌÐò
    £¬»òÔÚ´Óµ×ÏòÉϳÌÐò¿ª·¢ÖвâÊÔº¯Êý¡£ËüÒ²ÊÇÒ»¸ö·½±ãµÄ¼ÆËãÆ÷¡£
    ¡¡
    PythonÔÊÐíÄãд³ö·Ç³£ÑϽ÷¶øÇҿɶÁµÄ³ÌÐò¡£ÓÃPythonдµÄ³ÌÐòͨ³£¶¼±ÈÏàÓ¦µÄC³ÌÐòÒª
    ¶Ì£¬ÒòΪÈçϼ¸¸öÀíÓÉ£º
    ¡¡
    ¸ß¼¶µÄÊý¾Ý½á¹¹ÔÊÐíÄãÓÃÒ»¸öÓï¾ä±í´ï¸´ÔӵIJÙ×÷; ¡¡
    ¸´ºÏÓï¾äÊÇ¿¿Ëõ½ø¶ø²»ÊÇÓñíʾ¿ªÊ¼ºÍ½áÊøµÄÀ¨ºÅ; ¡¡
    ²»ÐèÒª±äÁ¿ÉùÃ÷»ò²ÎÁ¿ÉùÃ÷¡£¡¡
    PythonÊÇ¿ÉÀ©³äµÄ£ºÈç¹ûÄã»áÓÃCÓïÑÔ±à³Ì¾ÍºÜÈÝÒ×Ϊ½âÊͳÌÐòÔö¼ÓеÄÄÚÖú¯Êý»òÄ£¿é
    £¬ÕâÑù¿ÉÒÔÒÔ×î¿ìËÙ¶ÈÖ´Ðйؼü²Ù×÷£¬»ò°ÑPython³ÌÐòºÍÖ»ÄÜÒÔ¶þ½øÖÆÂëÌṩµÄ¿â£¨Èç
    ²»Í¬³§ÉÌÌṩµÄͼÐο⣩Á¬½ÓÆðÀ´¡£µ±Äã±äµÃȷʵºÜÔÚÐÐʱÄã¿ÉÒÔ°ÑPython½âÊÍÆ÷ÓëÓÃ
    CдµÄÓ¦ÓÃÏàÁ¬½Ó£¬°ÑËü×÷Ϊ¸ÃÓ¦ÓõÄÀ©Õ¹»òÃüÁîÓïÑÔ¡£
    PythonµÄÃüÃûÊÇÓÉBBCµÄ¡°Monty Python's Flying Circus¡±½ÚÄ¿¶øµÃ£¬ÓëòþÉßûÓÐʲô
    ¹Øϵ¡£

    --

    ¡ù À´Ô´:¡¤BBS ˮľÇ廪վ smth.org¡¤[FROM: 202.112.255.153]


    µÚ¶þÕ ½âÊͳÌÐòµÄʹÓÃ
    ¡¡ÔÚÃüÁîÐмüÈë
    python
    »òÔÚWindows»·¾³ÏÂË«»÷ÏàÓ¦µÄͼ±ê¿ÉÒÔ½øÈëPythonµÄ½âÊͳÌÐò¡£Èç¹ûÒªÔËÐд¢´æÔÚÎļþ
    ÖеÄPython³ÌÐò£¬¿ÉÒÔÓÃ
    python ÎļþÃû
    µÄÐÎʽ¡£¡¡
    ½øÈë½âÊͳÌÐòµÄ»·¾³ºó£¬½âÊͳÌÐò³ÆΪ´¦ÓÚ½»»¥×´Ì¬¡£ÔÚÕâÖÖ״̬ÏÂϵͳÓà Ö÷ÌáʾÌáʾ
    ÊäÈëÏÂÒ»¸öÃüÁÕâÒ»°ãÊÇÈý¸ö´óÓÚºÅ(>>>)£¬Èç¹ûÐèÒªÐøÐÐϵͳÓà ´ÎÌáʾÌáʾÊäÈ룬
    ȱʡΪÈý¸öСÊýµã(...)¡£ÔÚÖ÷ÌáʾϼüÈëÎļþβ·ûºÅ£¨ÔÚUNIXÖÐΪControl-D£¬ÔÚDOS»ò
    WindowsÖÐΪControl-Z£©¿ÉÒÔÕý³£Í˳ö½âÊͳÌÐò¡£
    ¡¡ Python½âÊͳÌÐòµÄÓÐЩ°æ±¾Ö§³ÖÃüÁîÐб༭ºÍÃüÁîÀúÊ·£¬Ê¹ÓÃÓÃEmacs»òviµÄ¼ü×éºÏ
    ¡£¡¡


    --

    ¡ù À´Ô´:¡¤BBS ˮľÇ廪վ smth.org¡¤[FROM: 202.112.255.153]

    µÚÈýÕ »ù±¾Ê¹ÓÃ
    ÏÂÃæÎÒÃÇÓÃÀý×ÓÀ´½éÉÜPythonµÄ»ù±¾Ó÷¨¡£ÔÚÀý×ÓÖУ¬Óû§ÊäÈëºÍϵͳÊä³ö¿¿ÓÐûÓÐÌá
    ʾ£¨>>>ºÍ...£©À´·Ö±ð¡£Èç¹ûÒªÊÔÕâЩÀý×ӵĻ°£¬ÐèÒª¼üÈëÌáʾºóµÄËùÓÐÃüÁÀý×ÓÖÐ
    ûÓÐÌáʾµÄÐÐÊÇϵͳµÄÊä³ö¡£×¢ÒâÖ»ÓдÎÌáʾµÄÐÐÒâζ×ÅÐèÒª¼üÈëÒ»¸ö¿ÕÐУ¬ÕâÓÃÓÚ½á
    Êø¶àÐÐÃüÁî¡£
    ¡¡
    3.1 ÓÃPython×÷¼ÆËãÆ÷ʹÓÃ
    Æô¶¯½âÊͳÌÐò£¬µÈ´ýÖ÷Ìáʾ>>>³öÏÖ¡£½âÊͳÌÐò¿ÉÒÔ×÷Ϊ¼ÆËãÆ÷ʹÓ᣼üÈëÒ»¸ö±í´ïʽ£¬
    ½âÊͳÌÐò¾Í¿ÉÒÔÊä³ö½á¹û¡£±í´ïʽµÄд·¨ºÜÖ±¹Û£º+£¬-£¬*£¬/, %, **µÈËã·ûµÄ×÷ÓúÍÆä
    Ëü´ó¶àÊýÓïÑÔ£¨ÈçPascal»òC£©Ã»Ê²Ã´²î±ð£¬À¨ºÅ¿ÉÒÔÓÃÀ´×éºÏ¡£ÀýÈ磺
    ¡¡
    >>> 2+2
    ¡¡
    4
    ¡¡
    >>> # ÕâÊÇÒ»¸ö×¢ÊÍ
    ... 2+2
    4
    >>> 2+2 # ºÍ´úÂëÔÚͬһÐеÄ×¢ÊÍ
    ÏÂÃ滹ÓÐภ(8%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    >>> 2+2 # ºÍ´úÂëÔÚͬһÐеÄ×¢ÊÍ
    4
    >>> (50-5*6)/4
    5
    >>> # ÕûÊý³ý·¨µÃÏÂÃæµÄÕûÊý
    ... 7/3
    2
    >>> 7/-3
    -3
    >>>
    ºÍCÖÐÒ»Ñù£¬µÈÓÚºÅÓÃÀ´¸ø±äÁ¿¸³Öµ£¬¸³ÖµµÄ½á¹û²»ÏÔʾ£º
    >>> width = 20
    >>> height = 5*9
    >>> width * height
    900
    >>>
    ¿ÉÒÔͬʱ¸ø¼¸¸ö±äÁ¿¸³Í¬Ò»¸öÖµ£º
    >>> x = y = z = 0 # °Ñ x, y ºÍ z¸³Áã
    ¡¡
    >>> x
    0
    >>> y
    0
    ÏÂÃ滹ÓÐภ(11%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    0
    >>> z
    0
    >>>
    PythonÍêÈ«Ö§³Ö¸¡µãÊý£¬»ìºÏÀàÐ͵ÄÔËËã»á°ÑÕûÊýÏÈת»»³É¸¡µãÊý£º
    >>> 4 * 2.5 / 3.3
    3.0303030303
    >>> 7.0 / 2
    3.5
    >>>
    PythonÒ²ÌṩÁ˸´Êý£¬·½·¨ÊÇÓÃjºÍJ×÷ΪÐéÊýµ¥Î»£¬Èç1+1j£¬3.14e-10j£¬µÈµÈ¡£
    3.2. ×Ö·û´®
    ¡¡ Python³ý´¦ÀíÊý×ÖÍ⻹¿ÉÒÔ´¦Àí×Ö·û´®£¬×Ö·û´®Óõ¥Æ²ºÅ»ò˫ƲºÅ°ü¹ü£º
    >>> 'spam eggs'
    'spam eggs'
    >>> 'doesn\'t'
    "doesn't"
    >>> "doesn't"
    "doesn't"
    >>> '"Yes," he said.'
    '"Yes," he said.'
    >>> "\"Yes,\" he said."
    '"Yes," he said.'
    ÏÂÃ滹ÓÐภ(17%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    '"Yes," he said.'
    >>> '"Isn\'t," she said.'
    '"Isn\'t," she said.'
    >>>
    ×Ö·û´®Êä³ö¸ñʽÓëÊäÈëµÄÑù×ÓÏàͬ£¬¶¼ÊÇÓÃƲºÅ°ü¹ü£¬Æ²ºÅºÍÆäËüÌØÊâ×Ö·ûÓÃÓ÷´Ð±¸Ü
    תÒå¡£Èç¹û×Ö·û´®ÖÐÓе¥Æ²ºÅ¶øûÓÐ˫ƲºÅÔòÓÃ˫ƲºÅ°ü¹ü£¬·ñÔòÓ¦¸ÃÓõ¥Æ²ºÅ°ü¹ü¡£
    ºóÃæÒª½éÉܵÄprintÓï¾ä¿ÉÒÔ²»´øƲºÅ»òתÒåÊä³ö×Ö·û´®¡£
    ¡¡×Ö·û´®¿ÉÒÔÓÃ+ºÅÁ¬½ÓÆðÀ´£¬ÓÃ*ºÅÖظ´£º
    >>> word = 'Help' + 'A'
    >>> word
    'HelpA'
    >>> '<' + word*5 + '>'
    '<HelpAHelpAHelpAHelpAHelpA>'
    >>>
    ×Ö·û´®¿ÉÒÔÏóÔÚCÖÐÄÇÑùÓÃϱêË÷Òý£¬×Ö·û´®µÄµÚÒ»¸ö×Ö·ûϱêΪ0¡£
    PythonûÓе¥¶ÀµÄ×Ö·ûÊý¾ÝÀàÐÍ£¬Ò»¸ö×Ö·û¾ÍÊdz¤¶ÈΪһµÄ×Ö·û´®¡£ÏóÔÚIconÓïÑÔÖÐÄÇ
    Ñù£¬¿ÉÒÔÓÃƬ¶Î(slice)¼ÇºÅÀ´Ö¸¶¨×Ó´®£¬Æ¬¶Î¼´ÓÃðºÅ¸ô¿ªµÄÁ½¸öϱꡣ
    >>> word[4]
    'A'
    >>> word[0:2]
    'He'
    >>> word[2:4]
    'lp'
    ÏÂÃ滹ÓÐภ(25%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    'lp'
    >>>
    Ƭ¶ÎÓкܺõÄȱʡֵ£ºµÚһϱêÊ¡ÂÔʱȱʡΪÁ㣬µÚ¶þϱêÊ¡ÂÔʱȱʡΪ×Ö·û´®µÄ³¤¶È
    ¡£
    >>> word[:2] # Ç°Á½¸ö×Ö·û
    'He'
    >>> word[2:] # ³ýÇ°Á½¸ö×Ö·û´®ÍâµÄ²¿·Ö
    'lpA'
    >>>
    ×¢Òâs[:i] + s[i:] µÈÓÚ s ÊÇƬ¶ÎÔËËãµÄÒ»¸öÓÐÓõĺãµÈʽ¡£
    >>> word[:2] + word[2:]
    'HelpA'
    >>> word[:3] + word[3:]
    ¡¡
    'HelpA'
    >>>
    ²»ºÏÀíµÄƬ¶Îϱê¿ÉÒԺܺõصõ½½âÊÍ£º¹ý´óµÄϱ걻»»³É×Ö·û´®³¤¶È£¬ÉϽçСÓÚϽç
    ʱ·µ»Ø¿Õ´®¡£
    >>> word[1:100]
    'elpA'
    >>> word[10:]
    ''
    >>> word[2:1]
    ÏÂÃ滹ÓÐภ(30%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    >>> word[2:1]
    ''
    >>>
    ϱêÔÊÐíΪ¸ºÊý£¬Õâʱ´ÓÓÒÏò×óÊý¡£ÀýÈ磺
    >>> word[-1] # ×îºóÒ»¸ö×Ö·û
    'A'
    >>> word[-2] # µ¹ÊýµÚ¶þ¸ö×Ö·û
    'p'
    >>> word[-2:] # ×îºóÁ½¸ö×Ö·û
    'pA'
    >>> word[:-2] # ³ý×îºóÁ½¸ö×Ö·ûÍâµÄ²¿·Ö
    'Hel'
    >>>
    µ«Òª×¢ÒâµÄÊÇ -0 ʵ¼Ê»¹ÊÇ 0£¬ËùÒÔËü²»»á´ÓÓÒÏò×óÊý£¡
    >>> word[-0] # (ÒòΪ -0 µÈÓÚ 0)
    'H'
    >>>
    ³¬³ö·¶Î§µÄƬ¶Îϱ걻½Ø¶Ï£¬µ«ÔÚ·ÇƬ¶ÎµÄÇé¿öϲ»ÒªÕâÑù£º
    >>> word[-100:]
    'HelpA'
    >>> word[-10] # ´íÎó
    Traceback (innermost last):
    File "<stdin>", line 1
    ÏÂÃ滹ÓÐภ(36%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    File "<stdin>", line 1
    IndexError: string index out of range
    ¡¡
    >>>
    ¼ÇסƬ¶ÎÒâÒåµÄ×îºÃ·½·¨ÊÇ°Ñϱ꿴³ÉÊÇ×Ö·û Ö®¼äµÄµã£¬µÚÒ»¸ö×Ö·ûµÄ×ó±ß½çºÅÂëΪ0
    ¡£ÓÐn¸ö×Ö·ûµÄ×Ö·û´®µÄ×îºóÒ»¸ö×Ö·ûµÄÓұ߽çϱêΪn£¬ÀýÈ磺
    ¡¡
    +---+---+---+---+---+
    | H | e | l | p | A |
    +---+---+---+---+---+
    0 1 2 3 4 5
    -5 -4 -3 -2 -1
    ¡¡
    µÚÒ»ÐÐÊý×Ö¸ø³ö×Ö·û´®ÖÐϱê0µ½5µÄλÖ㬵ڶþÐиø³öÏàÓ¦µÄ¸ºÏ±ꡣ´Óiµ½jµÄƬ¶ÎÓÉ
    Ôڱ߽çiºÍjÖ®¼äµÄ×Ö·û×é³É¡£
    ¡¡
    ¶ÔÓڷǸºÏ±꣬Èç¹ûϱ궼ÔÚ½çÄÚ£¬ÔòƬ¶ÎµÄ³¤¶ÈΪϱêµÄ²î¡£ÀýÈ磬word[1:3] µÄ³¤
    ¶ÈΪ 2¡£
    ¡¡ÄÚÖú¯Êýlen()·µ»Ø×Ö·û´®µÄ³¤¶È£º
    >>> s = 'supercalifragilisticexpialidocious'
    >>> len(s)
    34
    >>>
    ÏÂÃ滹ÓÐภ(43%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    >>>
    ¶àÐеij¤×Ö·û´®Ò²¿ÉÒÔÓÃÐÐβ·´Ð±¸ÜÐøÐУ¬ÐøÐеÄÐÐÊ׿հײ»±»ºöÂÔ£¬Èç
    hello = "This is a rather long string containing\n\
    several lines of text just as you would do in C.\n\
    Note that whitespace at the beginning of the line is\
    significant.\n"
    print hello
    ½á¹ûΪ
    ¡¡
    This is a rather long string containing
    several lines of text just as you would do in C.
    Note that whitespace at the beginning of the line is significant
    .
    ¶ÔÓÚÌر𳤵Ä×Ö·û´®£¨±ÈÈç°üº¬ËµÃ÷µÄ¼¸¶ÎÎÄ×Ö£©£¬Èç¹ûÓÃÉÏÃæµÄ·½Ê½Ã¿Ðж¼ÓÃ\n\½áβ
    ÊǺÜÂé·³µÄ£¬ÌرðÊÇÕâÑùÎÞ·¨ÓÃÏóEmacsÕâÑùµÄ¹¦ÄÜÇ¿´óµÄ±à¼­Æ÷ÖØбàÅÅ¡£¶ÔÕâÖÖÇé¿ö
    £¬¿ÉÒÔʹÓÃÈýÖØƲºÅ£¬ÀýÈç
    hello = """
    ¡¡
    This string is bounded by triple double quotes (3 times ").
    Unescaped newlines in the string are retained, though \
    it is still possible\nto use all normal escape sequences.
    ¡¡
    Whitespace at the beginning of a line is
    ÏÂÃ滹ÓÐภ(54%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    Whitespace at the beginning of a line is
    significant. If you need to include three opening quotes
    you have to escape at least one of them, e.g. \""".
    ¡¡
    This string ends in a newline.
    """
    ÈýÖØƲºÅ×Ö·û´®Ò²¿ÉÒÔÓÃÈý¸öµ¥Æ²ºÅ£¬Ã»ÓÐÈκÎÓïÒå²î±ð¡£
    ¶àÐеÄ×Ö·û´®³£Á¿¿ÉÒÔÖ±½ÓÁ¬½ÓÆðÀ´£¬×Ö·û´®³£Á¿Ö®¼äÓÿոñ·Ö¸ôÔòÔÚ±àÒëʱ¿ÉÒÔ×Ô¶¯
    Á¬½ÓÆðÀ´£¬ÕâÑù¿ÉÒÔ°ÑÒ»¸ö³¤×Ö·û´®Á¬½ÓÆðÀ´¶ø²»ÐèÒªÎþÉüËõ½ø¶ÔÆë»òÐÔÄÜ£¬²»ÏóÓüÓ
    ºÅÁ¬½ÓÐèÒªÔËË㣬Ҳ²»Ïó×Ö·û´®´®ÄڵĻ»ÐÐÆäÐÐÊ׿ոñÐèÒª±£³Ö¡£
    3.3 Áбí
    PythonÖÐÓм¸ÖÖ¸´ºÏÊý¾ÝÀàÐÍ£¬ÓÃÀ´°ÑÆäËüÖµ×éºÏµ½Ò»Æð¡£ÆäÖÐ×îÁé»îµÄÊÇÁÐ±í£¬¿ÉÒÔ
    д³ÉÔÚ·½À¨ºÅÖ®¼äÓöººÅ¸ô¿ªµÄÈô¸ÉÖµ£¨Ï¡£ÁбíµÄÏî²»±ØȡͬһÀàÐÍ¡£
    >>> a = ['spam', 'eggs', 100, 1234]
    >>> a
    ['spam', 'eggs', 100, 1234]
    >>>
    Ïó×Ö·û´®Ï±êÄÇÑù£¬Áбíϱê´Ó0¿ªÊ¼£¬Áбí¿ÉÒÔȡƬ¶Î£¬¿ÉÒÔÁ¬½Ó£¬µÈµÈ£º
    >>> a[0]
    'spam'
    >>> a[3]
    1234
    >>> a[-2]
    ÏÂÃ滹ÓÐภ(64%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    >>> a[-2]
    100
    >>> a[1:-1]
    ['eggs', 100]
    >>> a[:2] + ['bacon', 2*2]
    ['spam', 'eggs', 'bacon', 4]
    >>> 3*a[:3] + ['Boe!']
    ['spam', 'eggs', 100, 'spam', 'eggs', 100, 'spam', 'eggs', 100, 'Boe!']
    >>>
    Óë×Ö·û´®²»Í¬µÄÊÇÁбíÊǿɱäµÄ£¬¿ÉÒÔÐÞ¸ÄÁбíµÄÿ¸öÔªËØ£º
    >>> a
    ['spam', 'eggs', 100, 1234]
    >>> a[2] = a[2] + 23
    >>> a
    ['spam', 'eggs', 123, 1234]
    >>>
    Ò²¿ÉÒÔ¸øÒ»¸öƬ¶ÎÖØи³Öµ£¬ÕâÉõÖÁ¿ÉÒԸıä±íµÄ´óС£º
    >>> # Ìæ»»Èô¸ÉÏî:
    ... a[0:2] = [1, 12]
    >>> a
    [1, 12, 123, 1234]
    >>> # È¥µôÈô¸ÉÏî:
    ... a[0:2] = []
    ÏÂÃ滹ÓÐภ(70%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    ... a[0:2] = []
    >>> a
    [123, 1234]
    >>> # ²åÈëÈô¸ÉÏî:
    ... a[1:1] = ['bletch', 'xyzzy']
    >>> a
    [123, 'bletch', 'xyzzy', 1234]
    >>> a[:0] = a # ÔÚ¿ªÍ·²åÈë×ÔÉí
    >>> a
    [123, 'bletch', 'xyzzy', 1234, 123, 'bletch', 'xyzzy', 1234]
    >>>
    ÄÚÖú¯ÊýҲʹÓÃÓÚÁÐ±í£º
    >>> len(a)
    8
    >>>
    ¿ÉÒÔ½¨Á¢Ç¶Ì×ÁÐ±í£¨±íµÄÔªËØÒ²ÊÇÁÐ±í£©£¬È磺
    >>> q = [2, 3]
    >>> p = [1, q, 4]
    >>> len(p)
    3
    >>> p[1]
    [2, 3]
    >>> p[1][0]
    ÏÂÃ滹ÓÐภ(74%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    >>> p[1][0]
    2
    >>> p[1].append('xtra') # ÁÐ±í·½·¨
    >>> p
    [1, [2, 3, 'xtra'], 4]
    >>> q
    [2, 3, 'xtra']
    >>>
    ×¢ÒâÕâ¸öÀý×ÓÖÐp[1]ºÍqʵ¼ÊÊÇͬһ¸ö¶ÔÏó£¡Ò²¾ÍÊÇ˵ËüÃÇÖ»²»¹ýÊÇͬһ¸ö¶«Î÷µÄÁ½¸öÃû
    ×Ö£¨ÒýÓ㩶øÒÑ¡£
    3.4 ±à³Ì³õ²½
    Pythonµ±È»²»ÊÇÖ»ÄÜÓÃÀ´°ÑÁ½¸öÊý¼Óµ½Ò»Æð£¬Ëü¿ÉÒÔÍê³ÉºÜ¸´ÔӵŤ×÷¡£ÀýÈ磬ÎÒÃÇ¿É
    ÒÔд³öFibonacciÐòÁеĿªÊ¼¼¸¸ö£º
    >>> # Fibonacci ÐòÁÐ:
    ... # Á½¸öÔªËصĺͶ¨ÒåÏÂÒ»¸ö
    ... a, b = 0, 1
    >>> while b < 10:
    ... print b
    ... a, b = b, a+b
    ...
    1
    1
    2
    ÏÂÃ滹ÓÐภ(79%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    2
    3
    5
    8
    >>>
    Õâ¸öÀý×Ó½éÉÜÁ˼¸¸öÐÂÌØÉ«¡£
    µÚÒ»Ðаüº¬Ò»¸ö¶àÖظ³Öµ£º ±äÁ¿aºÍbͬʱµÃµ½ÐÂÖµ0ºÍ1¡£ÔÚ×îºóÒ»ÐÐÓÖÓÃÁ˶àÖظ³Öµ£¬
    ÎÒÃÇ¿ÉÒÔ¿´³ö¸³ÖµÊ±ÏÈ°ÑÓұ߶¼Ëã³öºóÔÙ½øÐи³Öµ¡£
    whileÑ­»·µ±Ñ­»·Ìõ¼þ(ÕâÀï¼´: b < 10)³ÉÁ¢Ê±²»¶ÏÖ´ÐС£ÔÚPythonÖкÍCÖÐÒ»Ñù£¬·ÇÁã
    ÕûÊýֵΪÕæÖµ£¬ÁãΪ¼ÙÖµ¡£Ìõ¼þÒ²¿ÉÒÔÊÇ×Ö·û´®»òÁбí»òÈκÎÐòÁУ¬³¤¶ÈΪ·ÇÁãµÄΪÕæ
    £¬¿ÕÐòÁÐΪ¼Ù¡£Àý×ÓÖÐËùÓõÄÊÇÒ»¸ö¼òµ¥±È½Ï¡£±ê×¼µÄ±È½ÏËã·ûºÍCÒ»Ñù£º
    <, >, ==, <=, >= ºÍ !=¡£
    Ñ­»·ÌåÊÇËõ½øµÄ£ºËõ½øÊÇPythonÓÃÀ´×éºÏÓï¾äµÄ·½Ê½¡£PythonÄ¿Ç°»¹²»ÄÜÌṩÖÇÄÜ×Ô¶¯
    Ëõ½ø£¬ËùÒÔÄãÐèÒª×Ô¼ºÎªÃ¿¸öËõ½øÐмüÈëÖƱí·û»ò¿Õ¸ñ¡£Êµ¼ÊʹÓÃÖÐÄã¿ÉÒÔÓÃÎı¾±à¼­
    ³ÌÐòΪPython ×¼±¸¸´ÔÓµÄÊäÈ룬¶àÊýÎı¾±à¼­³ÌÐò¶¼ÓÐ×Ô¶¯Ëõ½øµÄ¹¦ÄÜ¡£ÔÚ½»»¥ÊäÈ븴
    ºÏÓï¾äʱ±ØÐÞ¸½¼ÓÒ»¸ö¿ÕÐÐÒÔָʾ¸´ºÏÓï¾äµÄÍê³É£¨ÒòΪ½âÊͳÌÐòÎÞ·¨²Âµ½ÄÄÊÇÓï¾äµÄ
    ×îºóÒ»ÐУ©¡£printÓï¾äÏÔʾºóÃæµÄ±í´ïʽֵ¡£ÕâºÍÖ±½Óд³ö±í´ïʽ²»Í¬£¬Ëü¿ÉÒÔÏÔʾ¶à
    ¸ö±í´ïʽºÍ×Ö·û´®£¬¶øÇÒ¿ÉÒÔÓÃÓÚ³ÌÐòÎļþÖС£ÏÔʾʱ×Ö·û´®Ã»ÓÐƲºÅ£¬¸÷ÏîÄ¿Ö®¼ä²å
    ÈëÒ»¸ö¿Õ¸ñ£¬ËùÒÔÄã¿ÉÒÔÒÔ¾«ÃÀµÄ¸ñʽÏÔʾ£¬È磺
    >>> i = 256*256
    >>> print 'The value of i is', i
    The value of i is 65536
    >>>
    ÏÂÃ滹ÓÐภ(91%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    >>>
    ÔÚβ²¿Ð´Ò»¸ö¶ººÅ¿ÉÒÔ±ÜÃâ×îºó»»ÐУº
    >>> a, b = 0, 1
    >>> while b < 1000:
    ... print b,
    ... a, b = b, a+b
    ...
    1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
    >>>
    ×¢ÒâÈç¹ûÇ°Ò»ÐÐûÓнáÊøµÄ»°ÏµÍ³ÔÚÏÔʾÌáʾ֮ǰÏÈ»»ÐС£
    Python»¹ÌṩÁ˺ÍCÓïÑÔÒ»ÑùµÄprintf¸ñʽµÄÊä³ö·½Ê½£¬ÕâÊÇÓÃ%ʵÏֵģ¬×ó±ßÊǸñʽ£¬
    È磺
    ¡¡
    >>> print 'The value of 1/7 is approximately %5.3f.' % 0.142857
    The value of 1/7 is approximately 0.143.
    >>>
    Èç¹ûÓжà¸öÐèÒªÊä³öµÄÏî°Ù·ÖºÅÓұߵÄÏî¿ÉÒÔÊÇÒ»¸öÐò×飬Èç
    >>> print "Name: %-10s Age: %3d" % ("White", 31)
    Name: White Age: 31
    ¡¡


    --
    ÏÂÃ滹ÓÐภ(99%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    >>> a, b = 0, 1
    >>> while b < 1000:
    ... print b,
    ... a, b = b, a+b
    ...
    1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
    >>>
    ×¢ÒâÈç¹ûÇ°Ò»ÐÐûÓнáÊøµÄ»°ÏµÍ³ÔÚÏÔʾÌáʾ֮ǰÏÈ»»ÐС£
    Python»¹ÌṩÁ˺ÍCÓïÑÔÒ»ÑùµÄprintf¸ñʽµÄÊä³ö·½Ê½£¬ÕâÊÇÓÃ%ʵÏֵģ¬×ó±ßÊǸñʽ£¬
    È磺
    ¡¡
    >>> print 'The value of 1/7 is approximately %5.3f.' % 0.142857
    The value of 1/7 is approximately 0.143.
    >>>
    Èç¹ûÓжà¸öÐèÒªÊä³öµÄÏî°Ù·ÖºÅÓұߵÄÏî¿ÉÒÔÊÇÒ»¸öÐò×飬Èç
    >>> print "Name: %-10s Age: %3d" % ("White", 31)
    Name: White Age: 31
    ¡¡


    --

    ¡ù À´Ô´:¡¤BBS ˮľÇ廪վ smth.org¡¤[FROM: 202.112.255.153]
    µÚËÄÕ Á÷³Ì¿ØÖÆ
    Ç°ÃæÎÒÃÇÒѾ­¼ûµ½ÁËÈçºÎÓÉÓÃwhile½á¹¹¿ØÖÆÁ÷³ÌÔËÐС£ÕâÒ»ÕÂÎÒÃǽéÉܸü¶àµÄ¿ØÖƽṹ
    ¡£Python¾ßÓкÍÆäËüÓïÑÔÀàËƵĿØÖƽṹµ«ÂÔÓвî±ð¡£
    4.1 If Óï¾ä
    If Óï¾ä¿ÉÄÜÊÇ×î»ù±¾µÄ³ÌÐò·ÖÖ§Óï¾äÁË¡£ÀýÈ磺
    >>> if x < 0:
    ... x = 0
    ... print 'Negative changed to zero'
    ... elif x == 0:
    ... print 'Zero'
    ... elif x == 1:
    ... print 'Single'
    ... else:
    ... print 'More'
    ...
    ¿ÉÒÔÓÐÁãµ½¶à¸öelif²¿·Ö£¬else²¿·Ö¿ÉÑ¡¡£¹Ø¼ü×ÖelifÊÇelse ifµÄËõд£¬ÕâÑù¿ÉÒÔËõ¶Ì
    Óï¾äÐг¤¶È¡£ÆäËüÓïÑÔÖÐswitch »ò case Óï¾ä¿ÉÒÔÓÃif...elif...elif...Óï¾ä×éÀ´Êµ
    ÏÖ¡£
    4.2 for Óï¾ä
    ÏÂÃ滹ÓÐภ(6%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    4.2 for Óï¾ä
    PythonÖеÄforÓï¾äÓëÄã¿ÉÄÜÊìϤµÄC»òÕßPascalÖеÄÏàÓ¦Óï¾äÂÔÓв»Í¬¡£²»ÏóPascal ÄÇ
    Ñù×ÜÊǶÔÊý×ÖÐòÁнøÐÐÑ­»·£¬Ò²²»ÊÇÏóCÖÐÄÇÑùÍêÈ«ÓɳÌÐòÔ±×ÔÓɵؿØÖÆÑ­»·Ìõ¼þºÍÑ­»·
    Ì壬PythonµÄforÑ­»·ÊǶÔÈÎÒâÖÖÀàµÄÐòÁУ¨ÈçÁбí»ò×Ö·û´®£©°´³öÏÖ´ÎÐò±éÀúÿһÏî¡£
    ÀýÈ磺
    >>> # ¼ÆËã×Ö·û´®³¤:
    ... a = ['cat', 'window', 'defenestrate']
    >>> for x in a:
    ... print x, len(x)
    ...
    cat 3
    window 6
    defenestrate 12
    >>>
    ¾¡Á¿²»ÒªÔÚÑ­»·ÌåÄÚÐÞ¸ÄÓÃÀ´¿ØÖÆÑ­»·µÄÐòÁУ¨µ±È»£¬Ö»ÓпɱäµÄÐòÁÐÀàÐÍÈçÁбí²ÅÓÐ
    ¿ÉÄܱ»Ð޸ģ©£¬ÕâÑù³ÌÐò¿ÉÄÜ»á³öÎÊÌâ¡£Èç¹ûÐèÒªÕâÑù£¬±ÈÈç˵Ҫ¸´ÖÆijЩÏ¿ÉÒÔÓÃ
    ÐòÁеĸ±±¾À´¿ØÖÆÑ­»·¡£Æ¬¶Î¼ÇºÅÈÃÄãºÜÈÝÒ×Éú³É¸±±¾£º
    >>> for x in a[:]: # Éú³ÉÕû¸öÁбíµÄƬ¶Î¸±±¾
    ... if len(x) > 6: a.insert(0, x)
    ...
    >>> a
    ['defenestrate', 'cat', 'window', 'defenestrate']
    >>>
    ÏÂÃ滹ÓÐภ(13%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    >>>
    ½á¹ûÊÇ°ÑÁбíÖг¤¶È³¬¹ý6¸ö×Ö·ûµÄ×Ö·û´®²åÈëµ½ÁÐ±í¿ªÍ·¡£
    4.3 range() º¯Êý
    Èç¹ûȷʵÐèÒª¶ÔÒ»ÁÐÊý×Ö½øÐÐÑ­»·µÄ»°£¬¿ÉÒÔʹÓÃÄÚÖú¯Êýrange()¡£ËüÉú³É°üº¬Êý×ÖÐò
    ÁеÄÁÐ±í£¬È磺
    >>> range(10)
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>>
    ×¢Òâ¸ø³öµÄÖÕµãÓÀÔ¶²»³öÏÖÔÚÉú³ÉµÄÁбíÖУ¬range(10)Éú³ÉÒ»¸öÊ®¸öÊýµÄÁÐ±í£¬Ç¡ºÃÊÇ
    ³¤¶ÈΪ10µÄÐòÁеĺϷ¨Ï±êµÄ¸÷¸öÖµ¡£Ò²¿ÉÒÔÖ¸¶¨²»Í¬µÄÆðʼµã£¬»òÕßÖ¸¶¨²»Í¬µÄ¼ä¸ô
    £¨ÉõÖÁ¸ºÊý£©£º
    >>> range(5, 10)
    [5, 6, 7, 8, 9]
    >>> range(0, 10, 3)
    [0, 3, 6, 9]
    >>> range(-10, -100, -30)
    [-10, -40, -70]
    >>>
    ΪÁ˶ÔÐòÁеÄϱê½øÐÐÑ­»·£¬ÈçÏÂÁªºÏʹÓÃrange() ºÍ len()£º
    >>> a = ['Mary', 'had', 'a', 'little', 'lamb']
    >>> for i in range(len(a)):
    ... print i, a[i]
    ...
    ÏÂÃ滹ÓÐภ(19%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    ...
    0 Mary
    1 had
    2 a
    3 little
    4 lamb
    >>>
    ¡¡
    4.4 breakÓï¾ä£¬continueÓï¾äºÍÑ­»·ÖеÄelse×Ó¾ä
    ÈçͬCÓïÑÔÒ»Ñù£¬breakÓï¾äÌø³öÆäËù´¦µÄ×îÄÚ²ãµÄfor »ò whileÑ­»·£¬continueÓï¾ä¼Ì
    ÐøÏÂһѭ»·²½¡£
    Ñ­»·Óï¾ä»¹¿ÉÒÔ´øÒ»¸ö else ×Ӿ䣬µ±Ñ­»·Õý³£½áÊøʱִÐÐÆäÄÚÈÝ£¬µ«Èç¹ûÑ­»·ÊÇÓÃbr
    eak Óï¾äÌø³öµÄÔò²»Ö´ÐÐÆäÄÚÈÝ¡£ÏÂÀý˵Ã÷ÁËÕâÖÖÓ÷¨£¬´ËÀýÇóËØÊý£º
    >>> for n in range(2, 10):
    ... for x in range(2, n):
    ... if n % x == 0:
    ... print n, 'equals', x, '*', n/x
    ... break
    ... else:
    ... print n, 'is a prime number'
    ...
    2 is a prime number
    3 is a prime number
    ÏÂÃ滹ÓÐภ(24%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    3 is a prime number
    4 equals 2 * 2
    5 is a prime number
    6 equals 2 * 3
    7 is a prime number
    8 equals 2 * 4
    9 equals 3 * 3
    >>>
    ¡¡
    4.5 pass Óï¾ä
    passÓï¾ä²»Ö´ÐÐÈκβÙ×÷£¬µ±Óï·¨ÒªÇóÒ»¸öÓï¾ä¶ø³ÌÐò²»ÐèÒªÖ´ÐвÙ×÷ʱ¾ÍÓôËÓï¾ä¡£
    ÀýÈ磺
    >>> while 1:
    ... pass # µÈ´ý¼üÅÌÖжÏ
    ...
    ¡¡
    4.6 º¯Êý¶¨Òå
    ÎÒÃÇ¿ÉÒÔ¶¨ÒåÒ»¸öº¯ÊýÓÃÀ´¼ÆËãijһ½çÏÞÒÔϵÄËùÓÐFibonacciÐòÁÐÖµ£º
    >>> def fib(n): # д³ö n ÒÔϵÄËùÓÐFibonacciÐòÁÐÖµ
    ... a, b = 0, 1
    ... while b < n:
    ... print b,
    ... a, b = b, a+b
    ÏÂÃ滹ÓÐภ(29%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    ... a, b = b, a+b
    ...
    >>> # µ÷Óøոն¨ÒåµÄº¯Êý:
    ... fib(2000)
    ¡¡
    1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
    >>>
    ÆäÖйؼü×Ö def ¿ªÊ¼Ò»¸öº¯Êý¶¨Ò壬ÆäºóÓ¦¸ÃÊǺ¯ÊýÃû£¬À¨ºÅÄÚµÄÐÎ²Î±í£¬ÒÔðºÅ½áÊø
    ¡£¹¹³Éº¯ÊýÌåµÄ¸÷Óï¾ä´ÓÏÂÒ»ÐпªÊ¼£¬ÓÃÒ»¸öÖƱí·ûËõ½ø¡£º¯ÊýµÄµÚÒ»¸öÓï¾ä¿ÉÒÔÊÇÒ»
    ¸ö×Ö·û´®£¬Èç¹ûÊǵĻ°£¬Õâ¸ö×Ö·û´®¾ÍÊǺ¯ÊýµÄÎĵµ×Ö·û´®£¬¼ò³ÆΪdocstring¡£ÓÐһЩ
    ¹¤¾ß¿ÉÒÔÀûÓÃÎĵµ×Ö·û´®×Ô¶¯Éú³É¿É´òÓ¡µÄÎĵµ£¬»òÕßÈÃÓû§½»»¥µØä¯ÀÀ´úÂ룬ËùÒÔÔÚ
    ×Ô¼º±à³Ìʱ¼ÓÈëÎĵµ×Ö·û´®ÊÇÒ»¸öºÃÏ°¹ß£¬Ó¦¸ÃÑø³ÉÕâÑùµÄÏ°¹ß¡£
    º¯ÊýÔÚÖ´ÐÐʱ¶Ô¾Ö²¿±äÁ¿ÒýÈëÒ»¸öеķûºÅ±í¡£º¯ÊýÖеıäÁ¿¸³Öµ¶¼´æÈë¾Ö²¿·ûºÅ±í£»
    ÒýÓñäÁ¿Ê±±äÁ¿ÃûÏÈ´Ó¾Ö²¿·ûºÅ±íÖвéÕÒ£¬È»ºóÔÚÈ«¾Ö·ûºÅ±íÖвéÕÒ£¬×îºó´ÓÄÚÖõÄÃû
    ×ÖÖвéÕÒ¡£Òò´Ë£¬ÔÚº¯ÊýÖв»ÄÜÖ±½Ó¶ÔÈ«¾Ö±äÁ¿¸³Öµ£¨³ý·ÇÓÃÁËglobalÓï¾äÀ´ËµÃ÷£©£¬
    µ«¿ÉÒÔÒýÓÃÈ«¾Ö±äÁ¿µÄÖµ¡£
    º¯Êýµ÷ÓõÄʵ²Î±»ÒýÈ뺯ÊýµÄ¾Ö²¿·ûºÅ±í£¬¼´º¯ÊýµÄ²ÎÊýÊÇ°´Öµµ÷Óõġ£º¯ÊýÔÙµ÷ÓÃÆä
    Ëüº¯ÊýʱΪ¸Ãº¯ÊýÉú³ÉÒ»¸öеķûºÅ±í¡£µ«ÊÇÑϸñµØ˵£¬º¯ÊýµÄµ÷ÓÃÊÇ°´ÒýÓõ÷Óõģ¬
    ÒòΪÈç¹û²ÎÊýÊÇÒ»¸ö¿É±äÀàÐÍÈçÁбíµÄ»°ÔÚº¯ÊýÖиıäÐβεÄÄÚÈݽ«µ¼ÖÂʵ²ÎµÄÄÚÈݱ»
    ¸Ä±ä£¨²»¸Ä±äµÄÊÇʵ²ÎÃû×ֵİ󶨹Øϵ£©¡£
    º¯Êý¶¨Òå°Ñº¯ÊýÃû·ÅÈ뵱ǰ·ûºÅ±í¡£º¯ÊýÃûµÄÖµÀàÐÍΪÓû§×Ô¶¨Ò庯Êý£¬Õâ¸öÖµ¿ÉÒÔ¸³
    ¸øÁíÒ»¸öÃû×Ö£¬´Ó¶øÕâ¸öÃû×ÖÒ²´ú±íÏàͬµÄº¯Êý¡£Õâ¿ÉÒÔ×÷Ϊһ°ãµÄ¸ÄÃû·½·¨£º
    ¡¡
    ÏÂÃ滹ÓÐภ(40%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    ¡¡
    >>> fib
    <function object at 10042ed0>
    >>> f = fib
    >>> f(100)
    1 1 2 3 5 8 13 21 34 55 89
    >>>
    ¡¡
    Äã¿ÉÄÜ»á˵ fib ²»ÊǺ¯Êý¶øÊǹý³Ì¡£PythonºÍCÒ»Ñù£¬¹ý³ÌÖ»ÊDz»·µ»ØÖµµÄº¯Êý¡£Êµ¼Ê
    ÉÏ£¬ÑϸñµØ˵£¬¹ý³ÌÒ²·µ»ØÒ»¸öÖµ£¬Ö»²»¹ýÊÇÒ»¸öºÜûÒâ˼µÄÖµ¡£Õâ¸öÖµ½Ð×ö None£¨Õâ
    ÊÇÒ»¸öÄÚÖõÄÃû×Ö£©¡£½âÊͳÌÐò½»»¥ÔËÐÐʱÈç¹ûÖ»ÐèÒªÏÔʾÕâ¸öÖµµÄ»°¾Í»áºöÂÔ²»ÏÔʾ
    ¡£Èç¹ûÏ£ÍûÏÔʾµÄ»°¿ÉÒÔÓà print Óï¾ä£º
    ¡¡
    >>> print fib(0)
    None
    >>>
    ¡¡
    Ò²¿ÉÒÔдһ¸öº¯Êý·µ»ØFibonacci ÐòÁеÄÊýÖµÁбí¶ø²»ÊÇÏÔʾÕâЩֵ£º
    ¡¡
    >>> def fib2(n): # ·µ»ØÖ±µ½nµÄFibonacci ÐòÁÐÖµ
    ... result = []
    ... a, b = 0, 1
    ... while b < n:
    ÏÂÃ滹ÓÐภ(45%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    ... while b < n:
    ... result.append(b) # ½âÊͼûÏÂÃæ
    ... a, b = b, a+b
    ... return result
    ...
    >>> f100 = fib2(100) # µ÷ÓÃ
    >>> f100 # Êä³ö½á¹û
    [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
    ¡¡
    >>>
    ¡¡
    Õâ¸öÀý×ÓÒ²ÑÝʾÁËеÄPythonÌØÉ«£ºreturnÓï¾ä´Óº¯ÊýÖÐÍ˳ö²¢·µ»ØÒ»¸öÖµ¡£²»´ø·µ»Ø
    ÖµµÄreturn¿ÉÒÔ´Ó¹ý³ÌÖмäÍ˳ö£¬ÔËÐе½¹ý³ÌµÄĩβҲ¿ÉÒÔÍ˳ö£¬ÕâÁ½ÖÖÇé¿öÏ·µ»ØNo
    ne¡£
    Óï¾äresult.append(b)µ÷ÓÃÁбí¶ÔÏóresultµÄÒ»¸ö·½·¨¡£·½·¨ÊÇ¡°ÊôÓÚ¡±Ò»¸ö¶ÔÏóµÄº¯
    Êý£¬ÒýÓøñʽΪobj.methodname£¬ÆäÖÐobjÊÇij¸ö¶ÔÏó£¨Ò²ÔÊÐíÊÇÒ»¸ö±í´ïʽ£©£¬ meth
    odname ÊÇÓɸöÔÏóµÄÀàÐͶ¨ÒåµÄÒ»¸ö·½·¨µÄÃû×Ö¡£²»Í¬µÄ²»Í¬µÄ·½·¨¡£²»Í¬ÀàÐ͵ķ½·¨
    ¿ÉÒÔʹÓÃÏàͬµÄÃû×Ö¶ø²»ÖÂÒýÆðÎó½â¡££¨¿ÉÒÔ¶¨Òå×Ô¼ºµÄ¶ÔÏóÀàÐͺͷ½·¨£¬Ê¹ÓÃÀ࣬±¾
    ÎĺóÃæ»áÌÖÂÛÕâ¸ö»°Ì⣩¡£Àý×ÓÖеÄappend()·½·¨Ê±Áбí¶ÔÏóµÄ·½·¨£¬ËüÔÚÁбíĩβÔö
    ¼ÓÒ»¸öÐÂÔªËØ¡£ÔÚ±¾ÀýÖÐÕâµÈ¼ÛÓÚ¡°result = result + [b]¡±£¬Ö»ÊǸüÓÐЧ¡£
    4.7 º¯Êý²ÎÊý
    ¡¡¿ÉÒÔ¶¨ÒåʹÓÿɱä¸öÊý²ÎÊýµÄº¯Êý¡£ÕâÑùµÄ¶¨Òå·½·¨ÓÐÈýÖÖ£¬¿ÉÒÔÁªºÏʹÓá£
    4.7.1 ²ÎÊýȱʡֵ
    ÏÂÃ滹ÓÐภ(54%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    4.7.1 ²ÎÊýȱʡֵ
    ¿ÉÒÔΪһ¸ö²ÎÊý»ò¼¸¸ö²ÎÊýÖ¸¶¨È±Ê¡Öµ¡£ÕâÑù¶¨ÒåµÄº¯ÊýÔÚµ÷ÓÃʱʵ²Î¸öÊý¿ÉÒԱȶ¨Òå
    ʱÉÙ¡£ÀýÈ磺
    def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
    while 1:
    ok = raw_input(prompt)
    if ok in ('y', 'ye', 'yes'): return 1
    if ok in ('n', 'no', 'nop', 'nope'): return 0
    retries = retries - 1
    if retries < 0: raise IOError, 'refusenik user'
    print complaint
    Õâ¸öº¯ÊýÔÚµ÷ÓÃʱ¼È¿ÉÒÔÕâÑùµ÷Óãºask_ok('Do you really want to quit?')£¬»òÕß¿É
    ÒÔÕâÑùµ÷Óãºask_ok('OK to overwrite the file?', 2)¡£È±Ê¡ÖµÊÇÔÚº¯Êý¶¨ÒåʱµÄ¶¨
    Òå×÷ÓÃÓòÖмÆËãµÄ£¬ËùÒÔÀýÈ磺
    i = 5
    def f(arg = i): print arg
    i = 6
    f()
    ½«ÏÔʾ5¡£
    ×¢Ò⣺ȱʡֵֻ¼ÆËãÒ»´Î¡£µ±È±Ê¡ÖµÊǿɱä¶ÔÏóÈçÁбí»ò×ÖµäʱÕâÒ»µãÊÇҪעÒâµÄ¡£Àý
    È磬ÒÔϺ¯Êý»áÔÚÒÔºóµÄµ÷ÓÃÖÐÀÛ¼ÓËüµÄÖµ£º
    def f(a, l = []):
    l.append(a)
    ÏÂÃ滹ÓÐภ(61%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    l.append(a)
    return l
    print f(1)
    print f(2)
    print f(3)
    This will print
    ¡¡
    [1]
    [1, 2]
    [1, 2, 3]
    Èç¹ûÄ㲻ϣÍûȱʡֵÔÚÁ¬ÐøµÄµ÷ÓÃÖб»±£Áô£¬¿ÉÒÔÏóÏÂÃæÕâÑù¸Äдº¯Êý£º
    def f(a, l = None):
    if l is None:
    l = []
    l.append(a)
    return l
    4.7.2 ¹Ø¼ü×Ö²ÎÊý
    º¯Êýµ÷ÓÃʱҲ¿ÉÒÔÏ󡰹ؼü×Ö = Öµ¡±ÕâÑùÖ¸¶¨Êµ²Î£¬ÆäÖйؼü×ÖÊǶ¨ÒåʱʹÓõÄÐβεÄ
    Ãû×Ö¡£ÀýÈ磺
    def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):
    print "-- This parrot wouldn't", action,
    print "if you put", voltage, "Volts through it."
    print "-- Lovely plumage, the", type
    ÏÂÃ滹ÓÐภ(67%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    print "-- Lovely plumage, the", type
    print "-- It's", state, "!"
    ¿ÉÒÔÓÃÈçϼ¸ÖÖ·½Ê½µ÷Óãº
    parrot(1000) # ȱʡֵ
    parrot(action = 'VOOOOOM', voltage = 1000000) # ¹Ø¼ü×Ö£¬È±Ê¡Öµ£¬´ÎÐò¿É±ä
    parrot('a thousand', state = 'pushing up the daisies') # λÖòÎÊý£¬È±Ê¡Öµ£¬
    ¹Ø¼ü×Ö
    parrot('a million', 'bereft of life', 'jump') # λÖòÎÊý£¬È±Ê¡Öµ
    µ«ÒÔϼ¸ÖÖµ÷Ó÷½Ê½ÊÇ´íÎóµÄ£º
    ¡¡
    parrot() # ·ÇȱʡµÄ²ÎÊýûÓÐÌṩ
    parrot(voltage=5.0, 'dead') # ¹Ø¼ü×Ö²ÎÊýºóÃæÓÖ³öÏÖÁ˷ǹؼü×Ö²ÎÊý
    parrot(110, voltage=220) # ²ÎÊýÖµÖظ´Ìṩ
    parrot(actor='John Cleese') # δ֪¹Ø¼ü×Ö
    Ò»°ã˵À´£¬Êµ²Î±íÖÐλÖòÎÊýÔÚÇ°£¬¹Ø¼ü×Ö²ÎÊýÔں󣬹ؼü×ÖÃû×Ö±ØÐëÊÇÐβÎÃû×Ö¡£ÐÎ
    ²ÎÓÐûÓÐȱʡֵ¶¼¿ÉÒÔÓùؼü×Ö²ÎÊýµÄÐÎʽµ÷Óá£Ã¿Ò»ÐβÎÖÁ¶àÖ»ÄܶÔÓ¦Ò»¸öʵ²Î£¬Òò
    ´Ë£¬ÒѾ­ÓÉλÖòÎÊý´«ÈëÖµµÄÐβξͲ»ÄÜÔÚͬһµ÷ÓÃÖÐÔÙ×÷Ϊ¹Ø¼ü×Ö²ÎÊý¡£
    Èç¹ûÐβαíÖÐÓÐÒ»¸öÐÎΪ**nameµÄÐβΣ¬ÔÚµ÷ÓÃʱÕâ¸öÐβοÉÒÔ½ÓÊÕÒ»¸ö×ֵ䣬×ÖµäÖÐ
    °üº¬ËùÓв»ÓëÈκÎÐβÎÆ¥ÅäµÄ¹Ø¼ü×Ö²ÎÊý¡£ÐβαíÖл¹¿ÉÒÔʹÓÃÒ»¸öÌØÊâµÄÈç*nameµÄÐÎ
    ²Î£¬Ëü½«½ÓÊÜËùÓв»ÄÜÆ¥ÅäµÄλÖòÎÊý×é³ÉµÄÒ»¸öÐò±í¡£*nameÖ»ÄÜÔÚ**name֮ǰ³öÏÖ¡£
    ÀýÈ磬Èç¹û¶¨ÒåÁËÏÂÃæµÄº¯Êý£º
    def cheeseshop(kind, *arguments, **keywords):
    print "-- Do you have any", kind, '?'
    ÏÂÃ滹ÓÐภ(77%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    print "-- Do you have any", kind, '?'
    print "-- I'm sorry, we're all out of", kind
    for arg in arguments: print arg
    print '-'*40
    for kw in keywords.keys(): print kw, ':', keywords[kw]
    ¾Í¿ÉÒÔÏóÏÂÃæÕâÑùµ÷Óãº
    cheeseshop('Limburger', "It's very runny, sir.",
    "It's really very, VERY runny, sir.",
    client='John Cleese',
    shopkeeper='Michael Palin',
    sketch='Cheese Shop Sketch')
    ½á¹ûÏÔʾ£º
    -- Do you have any Limburger ?
    -- I'm sorry, we're all out of Limburger
    It's very runny, sir.
    It's really very, VERY runny, sir.
    ----------------------------------------
    client : John Cleese
    shopkeeper : Michael Palin
    sketch : Cheese Shop Sketch
    4.7.3 ÈÎÒâ¸öÊý²ÎÊý
    ÔÚËùÓÐÓÐÃûµÄÐβεĺóÃæ¿ÉÒÔÓÐÁ½¸öÌØÊâµÄÐβΣ¬Ò»¸öÒÔ*argsµÄÐÎʽÃüÃû£¬Ò»¸öÒÔ**k
    w µÄÐÎʽÃüÃû¡£ÓÐÁË*argsÐÎʽµÄÐβκóº¯ÊýÔÚµ÷ÓÃʱ¾Í¿ÉÒÔÔÚÕý³£µÄÄÜÆ¥ÅäµÄʵ²Î±íºó
    ÏÂÃ滹ÓÐภ(85%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    w µÄÐÎʽÃüÃû¡£ÓÐÁË*argsÐÎʽµÄÐβκóº¯ÊýÔÚµ÷ÓÃʱ¾Í¿ÉÒÔÔÚÕý³£µÄÄÜÆ¥ÅäµÄʵ²Î±íºó
    ÃæÊäÈëÈÎÒâ¸öÊýµÄ²ÎÊý£¬ÕâЩ²ÎÊý×é³ÉÒ»¸öÐò±í¸³¸øargsÐβΣ¬²»ÄÜÆ¥ÅäµÄ¹Ø¼ü×Ö²ÎÊý
    ×é³ÉÒ»¸ö×ֵ丳¸økwÐβΡ£ÔÚÈÎÒâ¸öÊýÐβÎ֮ǰ¿ÉÒÔÓÐ0µ½¶à¸öÕý³£µÄ²ÎÊý¡£ÀýÈ磺
    def fprintf(file, format, *args):
    file.write(format % args)
    4.7.4 LambdaÐÎʽ
    ÒòΪÐí¶àÈ˵ÄÒªÇó£¬PythonÖмÓÈëÁËһЩÔÚº¯Êý±à³ÌÓïÑÔºÍLispÖг£¼ûµÄ¹¦ÄÜ¡£¿ÉÒÔÓÃ
    lambda ¹Ø¼ü×ÖÀ´¶¨ÒåСµÄÎÞÃûº¯Êý¡£ÕâÊÇÒ»¸ö·µ»ØÆäÁ½¸ö²ÎÊýµÄºÍµÄº¯Êý£º¡°lambda
    a, b: a+b¡± ¡£LambdaÐÎʽ¿ÉÒÔÓÃÓÚÈκÎÐèÒªº¯Êý¶ÔÏóµÄµØ·½¡£´Ó¾ä·¨ÉϽ²lambdaÐÎʽ
    ¾ÖÏÞÓÚÒ»¸ö±í´ïʽ¡£´ÓÓïÒåÉϽ²£¬ÕâÖ»ÊÇÕý³£µÄº¯Êý¶¨ÒåµÄ¾ä·¨Ìðʳ¡£ÏñǶÌ׺¯Êý¶¨Òå
    Ò»Ñù£¬lambdaÐÎʽ²»ÄÜ·ÃÎÊ°üº¬Æ䶨ÒåµÄ×÷ÓÃÓòÖеıäÁ¿£¬µ«ÉóÉ÷µØʹÓÃȱʡ²ÎÊýÖ®¿É
    ÒÔÈƹýÕâ¸öÏÞÖÆ¡£ÀýÈ磺
    def make_incrementor(n):
    return lambda x, incr=n: x+incr
    4.7.5 Îĵµ×Ö·û´®
    ¹ØÓÚÎĵµ×Ö·û´®µÄÄÚÈÝÓë¸ñʽÕýÔÚÐγÉһЩ¹ßÀý¡£µÚÒ»ÐÐÓ¦¸ÃΪ¼ò¶ÌµÄ¶ÔÏóÄ¿µÄ¸ÅÀ¨Ëµ
    Ã÷¡£ÎªÁ˼òÃ÷Æð¼û£¬ÕâÒ»Ðв»Ó¦¸ÃÌá¼°¶ÔÏóµÄÃû×Ö»òÀàÐÍ£¬ÒòΪÕâЩ¿ÉÒÔͨ¹ýÆäËû;¾¶
    µÃÖª£¨µ±È»Èç¹û¶ÔÏóÃû×Ö¾ÍÊÇÒ»¸öÃèÊöº¯Êý²Ù×÷µÄ¶¯´ÊÔòµ±È»¿ÉÒÔÌá¼°ÆäÃû×Ö£©¡£×ÅÒÔ
    ÐÐÓ¦¸ÃÓôóЩ×Öĸ¿ªÊ¼£¬ÒÔ¾äµã½áβ¡£Èç¹ûÎĵµ×Ö·û´®ÖÐÓжàÐУ¬µÚ¶þÐÐÓ¦¸ÃÊÇ¿ÕÐУ¬
    °Ñ¸ÅÀ¨ËµÃ÷ÓëÆäËü˵Ã÷·Ö¿ª¡£ÒÔϵÄÐпÉÒÔÊÇÒ»¶Î»ò¼¸¶Î£¬ÃèÊö¶ÔÏóµÄµ÷Ó÷½·¨£¬ËüµÄ
    ¸±×÷Ó㬵ȵȡ£
    PythonµÄɨÃè³ÌÐò²»»á´Ó¶àÐÐ×Ö·û´®ÖÐÈ¥µôËõ½ø¿Õ°×£¬ËùÒÔ´¦ÀíÎĵµµÄ¹¤¾ßÐèÒª×Ô¼º´¦
    ÀíËõ½ø¡£Ö»Òª×ñÑ­ÈçϵĹßÀý¾Í¿ÉÒÔÓÐÀûÓÚËõ½ø¿Õ°×µÄ´¦Àí¡£ÔÚµÚÒ»ÐÐÖ®ºóµÄµÚÒ»¸ö·Ç
    ÏÂÃ滹ÓÐภ(97%) ©¦ ½áÊø ¡û <q> ©¦ ¡ü/¡ý/PgUp/PgDn Òƶ¯ ©¦ ? ¸¨Öú˵Ã÷ ©¦
    a, b: a+b¡± ¡£LambdaÐÎʽ¿ÉÒÔÓÃÓÚÈκÎÐèÒªº¯Êý¶ÔÏóµÄµØ·½¡£´Ó¾ä·¨ÉϽ²lambdaÐÎʽ
    ¾ÖÏÞÓÚÒ»¸ö±í´ïʽ¡£´ÓÓïÒåÉϽ²£¬ÕâÖ»ÊÇÕý³£µÄº¯Êý¶¨ÒåµÄ¾ä·¨Ìðʳ¡£ÏñǶÌ׺¯Êý¶¨Òå
    Ò»Ñù£¬lambdaÐÎʽ²»ÄÜ·ÃÎÊ°üº¬Æ䶨ÒåµÄ×÷ÓÃÓòÖеıäÁ¿£¬µ«ÉóÉ÷µØʹÓÃȱʡ²ÎÊýÖ®¿É
    ÒÔÈƹýÕâ¸öÏÞÖÆ¡£ÀýÈ磺
    def make_incrementor(n):
    return lambda x, incr=n: x+incr
    4.7.5 Îĵµ×Ö·û´®
    ¹ØÓÚÎĵµ×Ö·û´®µÄÄÚÈÝÓë¸ñʽÕýÔÚÐγÉһЩ¹ßÀý¡£µÚÒ»ÐÐÓ¦¸ÃΪ¼ò¶ÌµÄ¶ÔÏóÄ¿µÄ¸ÅÀ¨Ëµ
    Ã÷¡£ÎªÁ˼òÃ÷Æð¼û£¬ÕâÒ»Ðв»Ó¦¸ÃÌá¼°¶ÔÏóµÄÃû×Ö»òÀàÐÍ£¬ÒòΪÕâЩ¿ÉÒÔͨ¹ýÆäËû;¾¶
    µÃÖª£¨µ±È»Èç¹û¶ÔÏóÃû×Ö¾ÍÊÇÒ»¸öÃèÊöº¯Êý²Ù×÷µÄ¶¯´ÊÔòµ±È»¿ÉÒÔÌá¼°ÆäÃû×Ö£©¡£×ÅÒÔ
    ÐÐÓ¦¸ÃÓôóЩ×Öĸ¿ªÊ¼£¬ÒÔ¾äµã½áβ¡£Èç¹ûÎĵµ×Ö·û´®ÖÐÓжàÐУ¬µÚ¶þÐÐÓ¦¸ÃÊÇ¿ÕÐУ¬
    °Ñ¸ÅÀ¨ËµÃ÷ÓëÆäËü˵Ã÷·Ö¿ª¡£ÒÔϵÄÐпÉÒÔÊÇÒ»¶Î»ò¼¸¶Î£¬ÃèÊö¶ÔÏóµÄµ÷Ó÷½·¨£¬ËüµÄ
    ¸±×÷Ó㬵ȵȡ£
    PythonµÄɨÃè³ÌÐò²»»á´Ó¶àÐÐ×Ö·û´®ÖÐÈ¥µôËõ½ø¿Õ°×£¬ËùÒÔ´¦ÀíÎĵµµÄ¹¤¾ßÐèÒª×Ô¼º´¦
    ÀíËõ½ø¡£Ö»Òª×ñÑ­ÈçϵĹßÀý¾Í¿ÉÒÔÓÐÀûÓÚËõ½ø¿Õ°×µÄ´¦Àí¡£ÔÚµÚÒ»ÐÐÖ®ºóµÄµÚÒ»¸ö·Ç
    ¿Õ°×µÄÐоö¶¨Õû¸öÎĵµ×Ö·û´®µÄËõ½øÊýÁ¿£¨ÎÒÃDz»ÓõÚÒ»ÐУ¬ÒòΪËü¾­³£ÊÇÖ±½Ó¸úÔÚ±í
    ʾ×Ö·û´®¿ªÊ¼µÄÒýºÅºóÃ棩¡£Îĵµ×Ö·û´®ÖгýµÚÒ»ÐÐÒÔÍâµÄ¸÷Ðж¼ÒªÉ¾³ýµÈ¼ÛÓÚ´ËÐеÄ
    Ëõ½øÁ¿µÄ¿Õ°×¡£¶ÔÖƱí·û½«À©Õ¹Îª¿Õ¸ñºóÔÙɾ³ý¡£


    --

    ¡ù À´Ô´:¡¤BBS ˮľÇ廪վ smth.org¡¤[FROM: 202.112.255.153]
    4:11 02-5-12


    By: wangxu ( ÍõÐñ )   RE: BBS ˮľÇ廪վ [ reply ]     2003-04-28 11:25
    ·¢ÐÅÈË: mikky (ЦÎûÎû), ÐÅÇø: Python
    ±ê Ìâ: Re: ÖÐÎÄ£ºpython-tutorial
    ·¢ÐÅÕ¾: BBS ˮľÇ廪վ (Tue Mar 27 23:30:14 2001)

    µÚÎåÕ PythonÊý¾Ý½á¹¹
    ±¾Õ¸üÏêϸµØÌÖÂÛһЩÒѾ­½²¹ýµÄÊý¾ÝÀàÐ͵ÄʹÓ㬲¢ÒýÈëһЩеÄÀàÐÍ¡£
    5.1 Áбí
    ÁбíÊý¾ÝÀàÐÍ»¹ÓÐÆäËüһЩ·½·¨¡£ÏÂÃæÊÇÁбí¶ÔÏóµÄËùÓз½·¨£º
    insert(i, x) ---- ÔÚÖ¸¶¨Î»ÖòåÈëÒ»Ïî¡£µÚÒ»×Ô±äÁ¿ÊÇÒªÔÚÄÄÒ»¸öÔªËØÇ°Ãæ²åÈ룬ÓÃ
    ϱê±íʾ¡£ÀýÈ磬a.insert(0, x)ÔÚÁбíÇ°Ãæ²åÈ룬a.insert(len(a), x)µÈ¼ÛÓÚa.app
    end(x) ¡£
    append(x) ---- µÈ¼ÛÓÚa.insert(len(a), x)
    index(x) ---- ÔÚÁбíÖвéÕÒÖµxÈ»ºó·µ»ØµÚÒ»¸öֵΪxµÄÔªËصÄϱꡣûÓÐÕÒµ½Ê±³ö´í
    ¡£
    remove(x) ---- ´ÓÁбíÖÐɾȥµÚÒ»¸öֵΪxµÄÔªËØ£¬ÕÒ²»µ½Ê±³ö´í¡£
    sort() ---- ¶ÔÁбíÔªËØÔÚԭλÅÅÐò¡£×¢ÒâÕâ¸ö·½·¨¸Ä±äÁÐ±í£¬¶ø²»ÊÇ·µ»ØÅÅÐòºóµÄÁÐ
    񡭜
    reverse() ---- °ÑÁбíÔªËØ·´Ðò¡£¸Ä±äÁÐ±í¡£
    count(x) ---- ·µ»ØxÔÚÁбíÖгöÏֵĴÎÊý¡£
    ¡¡ÏÂÀýʹÓÃÁËËùÓеÄÁÐ±í·½·¨£º
    >>> a = [66.6, 333, 333, 1, 1234.5]
    >>> print a.count(333), a.count(66.6), a.count('x')
    2 1 0
    >>> a.insert(2, -1)
    >>> a.append(333)
    >>> a
    [66.6, 333, -1, 333, 1, 1234.5, 333]
    >>> a.index(333)
    1
    >>> a.remove(333)
    >>> a
    [66.6, -1, 333, 1, 1234.5, 333]
    >>> a.reverse()
    >>> a
    [333, 1234.5, 1, 333, -1, 66.6]
    >>> a.sort()
    >>> a
    [-1, 1, 66.6, 333, 333, 1234.5]
    5.1.1 º¯Êý³ÌÐòÉè¼Æ¹¤¾ß
    PythonÖÐÓÐһЩº¯Êý³ÌÐòÉè¼Æ·ç¸ñµÄ¶«Î÷£¬ÀýÈçÇ°ÃæÎÒÃÇ¿´µ½µÄlambdaÐÎʽ¡£¹ØÓÚÁбí
    ÓÐÈý¸ö·Ç³£ÓÐÓõÄÄÚÖú¯Êý£ºfilter(), map()ºÍreduce()¡£
    ¡°filter(º¯Êý, ÐòÁÐ)¡±·µ»ØÒ»¸öÐòÁУ¨¾¡¿ÉÄÜÓëÔ­À´Í¬ÀàÐÍ£©£¬ÐòÁÐÔªËØÊÇÔ­ÐòÁÐÖÐ
    ÓÉÖ¸¶¨µÄº¯Êýɸѡ³öÀ´µÄÄÇЩ£¬É¸Ñ¡¹æÔòÊÇ¡°º¯Êý(ÐòÁÐÔªËØ)=true¡±¡£filter()¿ÉÒÔÓÃ
    À´È¡³öÂú×ãÌõ¼þµÄ×Ó¼¯¡£ÀýÈ磬ΪÁ˼ÆËãһЩËØÊý£º
    >>> def f(x): return x % 2 != 0 and x % 3 != 0
    ...
    >>> filter(f, range(2, 25))
    [5, 7, 11, 13, 17, 19, 23]
    ¡°map(º¯Êý£¬ÐòÁÐ)¡±¶ÔÖ¸¶¨ÐòÁеÄÿһÏîµ÷ÓÃÖ¸¶¨µÄº¯Êý£¬½á¹ûΪ·µ»ØÖµ×é³ÉµÄÁÐ±í¡£
    map() ¿ÉÒÔ¶ÔÐòÁнøÐÐÒþʽѭ»·¡£ÀýÈ磬Ҫ¼ÆËãÈý´Î·½£¬¿ÉÓãº
    >>> def cube(x): return x*x*x
    ...
    >>> map(cube, range(1, 11))
    [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
    ¿ÉÒÔÓжà¸öÐòÁÐ×÷Ϊ×Ô±äÁ¿£¬Õâʱָ¶¨µÄº¯Êý±ØÐëÒ²ÓÐÏàͬ¸öÊýµÄ×Ô±äÁ¿£¬º¯Êý´Óÿ¸ö
    ÐòÁзֱðÈ¡³ö¶ÔÓ¦ÔªËØ×÷Ϊ×Ô±äÁ¿½øÐе÷Óã¨Èç¹ûij¸öÐòÁбÈÆäËüµÄ¶ÌÔòÈ¡³öµÄÖµÊÇNo
    ne£©¡£Èç¹ûÖ¸¶¨µÄº¯ÊýÊÇNone£¬map()°ÑËüµ±³ÉÒ»¸ö·µ»Ø×Ô¼ºµÄ×Ô±äÁ¿µÄºãͬº¯Êý¡£ÔÚº¯
    ÊýÓÃNoneµÄÇé¿öÏÂÖ¸¶¨¶à¸öÐòÁпÉÒ԰Ѷà¸öÐòÁдîÅäÆðÀ´£¬±ÈÈç¡°map(None, list1, l
    ist2)¡±¿ÉÒÔ°ÑÁ½¸öÁбí×éºÏΪһ¸ö³É¶ÔÖµµÄÁÐ±í¡£¼ûÏÂÀý£º
    >>> seq = range(8)
    >>> def square(x): return x*x
    ...
    >>> map(None, seq, map(square, seq))
    [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25), (6, 36), (7, 49)]
    ¡°reduce(º¯Êý, ÐòÁÐ)¡±ÓÃÀ´½øÐÐÀàËÆÀÛ¼ÓÕâÑùµÄ²Ù×÷£¬ÕâÀïµÄº¯ÊýÊÇÒ»¸öÁ½¸ö×Ó±äÁ¿
    µÄº¯Êý£¬reduce()ÏȶÔÐòÁеÄÇ°Á½Ïîµ÷Óú¯ÊýµÃµ½Ò»¸ö½á¹û£¬È»ºó¶Ô½á¹ûºÍÐòÁÐÏÂÒ»Ïî
    µ÷Óú¯ÊýµÃµ½Ò»¸öнá¹û£¬Èç´Ë½øÐе½ÐòÁÐβ²¿¡£ÀýÈ磬Ҫ¼ÆËã1µ½10µÄºÍ£º
    >>> def add(x,y): return x+y
    ...
    >>> reduce(add, range(1, 11))
    55
    Èç¹ûÐòÁÐÖÐÖ»ÓÐÒ»¸öÖµÔò·µ»ØÕâ¸öÖµ£¬ÐòÁÐΪ¿Õʱ»á²úÉúÀýÍâ¡£¿ÉÒÔÖ¸¶¨µÚÈý¸ö×Ô±äÁ¿
    ×÷Ϊ³õʼֵ¡£Óгõʼֵʱ¶Ô¿ÕÐòÁк¯Êý½«·µ»Ø³õʼֵ£¬·ñÔòº¯ÊýÏȶԳõʼֵºÍÐòÁеÚÒ»
    Ïî×÷Óã¬È»ºó¶Ô½á¹ûºÍÐòÁÐÏÂÒ»Ïî×÷Óã¬Èç´Ë½øÐе½ÐòÁÐβ¡£ÀýÈ磺
    >>> def sum(seq):
    ... def add(x,y): return x+y
    ... return reduce(add, seq, 0)
    ...
    >>> sum(range(1, 11))
    55
    >>> sum([])
    0
    5.2 delÓï¾ä
    ÉÏÃæÎÒÃÇ¿´µ½£¬ÁбíµÄremove()·½·¨¿ÉÒÔ´ÓÁбíÖÐɾȥij¸öÈ¡ÖµµÄÏÎÒÃÇ»¹¿ÉÒÔÓÃde
    l Óï¾äÀ´É¾³ýÖ¸¶¨Ï±êµÄÏî¡£Ò²¿ÉÒÔÓÃdelÓï¾ä´ÓÁбíÖÐɾ³ýÒ»¸öƬ¶Ï£¨Ç°ÃæÎÒÃÇÊÇÓøø
    Ƭ¶Ï¸³¿ÕÁбíµÄ°ì·¨É¾³ýƬ¶ÏµÄ£©¡£ÀýÈ磺
    >>> a
    [-1, 1, 66.6, 333, 333, 1234.5]
    >>> del a[0]
    >>> a
    [1, 66.6, 333, 333, 1234.5]
    >>> del a[2:4]
    >>> a
    [1, 66.6, 1234.5]
    delÒ²¿ÉÒÔÓÃÀ´É¾³ýÕû¸ö±äÁ¿£¬ÀýÈ磺
    >>> del a
    ±äÁ¿É¾³ýÒÔºóÔÙÒýÓøñäÁ¿¾Í»á³ö´í£¨³ý·ÇÓÖ¸øËü¸³ÖµÁË£©¡£ºóÃæÎÒÃÇ»¹»á¿´µ½delµÄÆä
    ËüһЩӦÓá£
    5.3 Ðò±íºÍÐòÁÐ
    ÎÒÃÇ¿´µ½ÁбíºÍ×Ö·û´®ÓÐÐí¶à¹²Í¬µã£¬ÀýÈ磬ϱêºÍƬ¶ÏÔËËã¡£ËüÃǶ¼ÊôÓÚÐòÁÐÊý¾ÝÀà
    ÐÍ¡£ÒòΪPythonÊÇÒ»¸öÕýÔÚ²»¶Ï·¢Õ¹µÄÓïÑÔ£¬ÒԺ󻹿ÉÄÜ»á¼ÓÈëÆäËüµÄÐòÁÐÊý¾ÝÀàÐÍ¡£
    ÏÖÔÚ»¹ÓÐÒ»ÖÖ±ê×¼µÄÐòÁÐÊý¾ÝÀàÐÍ£¬³ÆΪÐò±í£¨tuple£©¡£
    Ðò±íÓÉһϵÁÐÖµÓöººÅ·Ö¸ô¶ø³É£¬ÀýÈ磺
    >>> t = 12345, 54321, 'hello!'
    >>> t[0]
    12345
    >>> t
    (12345, 54321, 'hello!')
    >>> # Ðò±íÔÊÐíǶÌ×£º
    ... u = t, (1, 2, 3, 4, 5)
    >>> u
    ((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))
    Êä³öµÄÐò±í×ÜÊÇÓÃÀ¨ºÅ°üΧ£¬ÕâÑù¿ÉÒÔ±£Ö¤Ç¶Ì×Ðò±íµÃÒÔÕýÈ·½âÊÍ¡£ÊäÈëʱ¿ÉÒÔÓÐÀ¨ºÅ
    Ò²¿ÉÒÔûÓÐÀ¨ºÅ£¬µ±¾­³£ÊDZØÐëÓÐÀ¨ºÅ£¨Èç¹ûÐò±íÊÇÒ»¸ö´ó±í´ïʽµÄÒ»²¿·Ö£©¡£
    Ðò±íÓÐÐí¶àÓô¦£¬ÀýÈ磬£¨x£¬y£©×ø±ê¶Ô£¬Êý¾Ý¿âÖеÄÖ°¹¤¼Í¼£¬µÈµÈ¡£Ðò±íÓë×Ö·û´®
    Ò»ÑùÊDz»¿É±äµÄ£º²»ÔÊÐí¶ÔÐò±íµÄijһÏֵ¡£
    Éú³ÉÐò±íʱ¶Ô0Ïî»ò1ÏîµÄÐò±íÓÐÌØÊâµÄ¹æ¶¨£º¿ÕÐò±íÓÃÒ»¶Ô¿ÕÀ¨ºÅ±íʾ£»Ö»ÓÐÒ»ÏîµÄÐò
    ±íÓÃÒ»¸öÖ®ºóÃæ¸úÒ»¸ö¶¶ºÃ±íʾ£¨Ö¸°ÑÕâ¸öÖµ·ÅÔÚÀ¨ºÅÄÚÊDz»¹»µÄ£©¡£ÕâÑùд²»¹»ÃÀ¹Û
    £¬µ«ºÜÓÐЧ¡£ÀýÈ磺
    >>> empty = ()
    >>> singleton = 'hello', # <-- note trailing comma
    >>> len(empty)
    0
    >>> len(singleton)
    1
    >>> singleton
    ('hello',)
    Óï¾ät = 12345, 54321, 'hello!'ÊÇÐò±í´ò°üµÄÒ»¸öʵÀý£º12345, 54321ºÍ'hello!'Õâ
    Щֵ±»´ò°ü½øÁËÒ»¸öÐò±íÖС£Ïà·´µÄ²Ù×÷Ò²ÊÇÔÊÐíµÄ£¬ÀýÈ磺
    >>> x, y, z = t
    Õâ½Ð×öÐò±í½â°ü¡£Ðò±í½â°üÒªÇóµÈºÅ×ó±ßµÄ±äÁ¿¸öÊýµÈÓÚÐò±íµÄ³¤¶È¡£×¢Òâ¶àÖظ³ÖµÖ»
    ÊÇÐò±í´ò°üºÍÐò±í½â°üµÄÁªºÏʹÓá£ÓÐʱҲ¶ÔÁбí½øÐÐÀàËƲÙ×÷£¬¼´Áбí½â°ü¡£Ö»Òª°Ñ
    ¸÷±äÁ¿Ð´³ÉÒ»¸öÁбí¾Í¿ÉÒÔ½øÐнâ°ü£º
    >>> a = ['spam', 'eggs', 100, 1234]
    >>> [a1, a2, a3, a4] = a
    5.4 ×Öµä
    PythonÄÚÖõÄÁíÒ»¸öÓÐÓõÄÊý¾ÝÀàÐÍÊÇ×ֵ䡣×ÖµäÔÚÆäËüÓïÑÔÖÐÓÐʱ±»³ÆΪ¡°¹ØÁª¼ÇÒä
    ¡± »ò¡°¹ØÁªÊý×顱¡£×ֵ䲻ÏóÐòÁУ¬Ëü²»ÊÇÓÃÔÚÒ»¸ö·¶Î§Ö®ÄÚµÄÊý×ÖϱêÀ´Ë÷Òý£¬¶øÊÇ
    ÓüüÖµÀ´Ë÷Òý£¬¼üÖµ¿ÉÒÔÊÇÈκβ»¿É±äÀàÐÍ¡£×Ö·û´®ºÍÊýÖµ×Ü¿ÉÒÔ×÷¼üÖµ¡£Èç¹ûÐò±íÖ»
    °üº¬×Ö·û´®¡¢ÊýÖµ»òÐò±íÔòÐò±íÒ²¿ÉÒÔ×÷¼üֵʹÓá£ÁÐ±í²»ÄÜÓÃ×÷¼üÖµ£¬ÒòΪÁбí¿ÉÒÔ
    ÓÃÆäappend()·½·¨¾ÍµØ¸Ä±äÖµ¡£
    ×îºÃ°Ñ×ֵ俴³ÉÊÇһϵÁÐδÅÅÐòµÄ¡°¼üÖµ£ºÖµ¡±µÄ¼¯ºÏ£¬ÔÚͬһ×ÖµäÄÚ¼üÖµÊÇ»¥²»Ïàͬ
    µÄ¡£Ò»¶Ô¿Õ´óÀ¨ºÅ²úÉúÒ»¸ö¿Õ×ֵ䣺{}¡£ÔÚ´óÀ¨ºÅÄÚ¼ÓÈëÓöººÅ·Ö¿ªµÄ¡°¼üÖµ£ºÖµ¡±¶Ô
    ¿ÉÒÔÔÚ×ÖµäÄÚ¼ÓÈë³õʼµÄ¼üÖµºÍÖµ¶Ô£¬×ÖµäÔÚÊä³öʱҲÊÇÕâÑùÏÔʾµÄ¡£¶Ô×ÖµäµÄÖ÷Òª²Ù
    ×÷ÊÇÒÔij¸ö¼üÖµ±£´æÒ»¸öÖµ£¬ÒÔ¼°¸ø¶¨¼üÖµºó²éÕÒ¶ÔÓ¦µÄÖµ¡£Ò²¿ÉÒÔÓÃdelɾ³ýij¸ö¼üÖµ
    £ºÖµ¶Ô¡£Èç¹ûÓÃÒ»¸öÒÑÓж¨ÒåµÄ¼üÖµ±£´æij¸öÖµÔòÔ­À´µÄÖ²±»ÒÅÍü¡£Óò»´æÔڵļüֵȥ
    ²éÕÒ»á³ö´í¡£
    ×Öµä¶ÔÏóµÄkeys()·½·¨·µ»Ø×ÖµäÖÐËùÓмüÖµ×é³ÉµÄÁÐ±í£¬´ÎÐòÊÇËæ»úµÄ¡£ÐèÒªÅÅÐòʱֻ
    Òª¶Ô·µ»ØµÄ¼üÖµÁбíʹÓÃsort()·½·¨¡£ÎªÁ˼ì²éij¸ö¼üÖµÊÇ·ñÔÚ×ÖµäÖУ¬Ê¹ÓÃ×ÖµäµÄha
    s_key() ·½·¨¡£
    ÏÂÃæÊÇ×ÖµäʹÓõÄÒ»¸ö¼òµ¥Àý×Ó£º
    >>> tel = {'jack': 4098, 'sape': 4139}
    >>> tel['guido'] = 4127
    >>> tel
    {'sape': 4139, 'guido': 4127, 'jack': 4098}
    >>> tel['jack']
    4098
    >>> del tel['sape']
    >>> tel['irv'] = 4127
    >>> tel
    {'guido': 4127, 'irv': 4127, 'jack': 4098}
    >>> tel.keys()
    ['guido', 'irv', 'jack']
    >>> tel.has_key('guido')
    1
    5.5 Ìõ¼þµÄ½øÒ»²½ÌÖÂÛ
    ÔÚwhileÓï¾äºÍifÓï¾äÖÐʹÓõÄÌõ¼þ³ýÁË¿ÉÒÔʹÓñȽÏÖ®Í⻹¿ÉÒÔ°üº¬ÆäËüµÄÔËËã·û¡£±È
    ½ÏÔËËã·û¡°in¡±ºÍ¡°not in¡±¿ÉÒÔ¼ì²éÒ»¸öÖµÊÇ·ñÔÚÒ»¸öÐòÁÐÖС£ÔËËã·û¡°is¡±ºÍ¡°is
    not ¡±±È½ÏÁ½¸ö¶ÔÏóÊÇ·ñÇ¡ºÃÊÇͬһ¸ö¶ÔÏó£¬ÕâÖ»¶ÔÏóÁбíÕâÑùµÄ¿É±ä¶ÔÏóÓÐÒâÒå¡£Ëù
    ÓбȽÏÔËËãÓÅÏȼ¶Ïàͬ£¬¶ø±È½ÏÔËËãµÄÓÅÏȼ¶±ÈËùÓÐÊýÖµÔËËãÓÅÏȼ¶µÍ¡£
    ±È½ÏÔÊÐíÁ¬Ð´£¬ÀýÈ磬a < b == c¼ì²éÊÇ·ñaСÓÚµÈÓÚb¶øÇÒbµÈÓÚc¡£
    ±È½Ï¿ÉÒÔÓÃÂß¼­ÔËËã·ûandºÍorÁ¬½ÓÆðÀ´£¬±È½ÏµÄ½á¹û£¨»òÆäËüÈκÎÂß¼­±í´ïʽ£©¿ÉÒÔÓÃ
    not È¡·´¡£Âß¼­ÔËËã·ûÓÖ±ÈËùÓбȽÏÔËËã·ûµÍ£¬ÔÚÂß¼­ÔËËã·ûÖУ¬notÓÅÏȼ¶×î¸ß£¬orµÄ
    ÓÅÏȼ¶×îµÍ£¬ËùÒÔ¡°A and not B or C¡±Ó¦½âÊÍΪ¡°(A and (not B)) or C¡±¡£µ±È»£¬
    ¿ÉÒÔÓÃÀ¨ºÅÀ´±íʾËùÐèµÄ×éºÏÌõ¼þ¡£
    Âß¼­ÔËËã·ûandºÍor³ÆΪ¡°¶Ì·¡±ÔËËã·û£ºÔËËã·ûÁ½²àµÄ±í´ïʽÊÇÏȼÆËã×ó±ßµÄ£¬Èç¹û×ó
    ±ßµÄ½á¹ûÒÑÖªÔòÕûÌå½á¹ûÒÑÖª¾Í²»ÔÙ¼ÆËãÓұߵıí´ïʽ¡£ÀýÈ磬Èç¹ûAºÍCΪÕæ¶øBΪ¼ÙÔò
    ¡°A and B and C¡±²»»á¼ÆËã±í´ïʽC¡£Ò»°ãµØ£¬µ±¶Ì·ÔËËã·ûµÄÔËËã½á¹û²»ÊÇÓÃ×÷Âß¼­
    ÖµµÄʱºò·µ»ØµÄÊÇ×îºóÇóÖµµÄÄǸö±í´ïʽµÄÖµ¡£
    ¿ÉÒ԰ѱȽϻòÆäËüÂß¼­±í´ïʽµÄ½á¹û¸³¸øÒ»¸ö±äÁ¿¡£ÀýÈ磺
    >>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'
    >>> non_null = string1 or string2 or string3
    >>> non_null
    'Trondheim'
    ×¢ÒâPythonºÍC²»Í¬£¬±í´ïʽÖв»ÄܽøÐи³Öµ¡£
    5.6 ÐòÁÐÓëÆäËüÀàÐ͵ıȽÏ
    ÐòÁжÔÏó¿ÉÒÔºÍÆäËüͬÐòÁÐÀàÐ͵ĶÔÏó±È½Ï¡£±È½ÏʹÓÃ×ÖµäÐò£ºÏȱȽÏ×îÇ°ÃæÁ½ÏÈç
    ¹ûÕâÁ½ÏͬÔò½á¹û¿ÉÒÔÈ·¶¨£»Èç¹ûÕâÁ½ÏîÏàͬ£¬¾Í±È½ÏÏÂÃæµÄÁ½ÏÈç´ËÏÂÈ¥£¬Ö±µ½
    ÓÐÒ»¸öÐòÁе½Í·ÎªÖ¹¡£Èç¹ûijÁ½Ïî±¾ÉíÒ²ÊÇͬÀàÐ͵ÄÐòÁУ¬Ôò½øÐеݹéµÄ×ÖµäÐò±È½Ï¡£
    Èç¹ûÁ½¸öÐòÁеÄËùÓи÷ÏÏàµÈ£¬ÔòÕâÁ½¸öÐòÁÐÏàµÈ¡£Èç¹ûÒ»¸öÐòÁÐÊÇÁíÒ»¸öÐòÁеÄÒ»
    ¸ö³õʼ×ÓÐòÁУ¬¶ÌµÄÒ»¸öÊǽÏСµÄÒ»¸ö¡£×Ö·û´®µÄ×ÖµäÐò±È½Ï°´¸÷¸ö×Ö·ûµÄASCII´ÎÐò½ø
    ÐС£ÏÂÃæÊÇһЩÐòÁбȽϵÄʵÀý£º
    (1, 2, 3) < (1, 2, 4)
    [1, 2, 3] < [1, 2, 4]
    'ABC' < 'C' < 'Pascal' < 'Python'
    (1, 2, 3, 4) < (1, 2, 4)
    (1, 2) < (1, 2, -1)
    (1, 2, 3) = (1.0, 2.0, 3.0)
    (1, 2, ('aa', 'ab')) < (1, 2, ('abc', 'a'), 4)
    ×¢ÒⲻͬÀàÐ͵ĶÔÏó±È½ÏÄ¿Ç°Ò²ÊǺϷ¨µÄ¡£½á¹ûÊÇÈ·¶¨µÄµ«È´Ã»ÓÐʲôÒâÒ壺²»Í¬ÀàÐÍ
    ÊÇ°´ÀàÐ͵ÄÃû×ÖÅÅÐòµÄ¡£ËùÒÔ£¬ÁÐ±í£¨list£©×ÜÊÇСÓÚ×Ö·û´®£¨string£©£¬×Ö·û´®×ÜÊÇ
    СÓÚÐò±í£¨tuple£©£¬µÈµÈ¡£µ«ÊdzÌÐòÖв»ÄÜÒÀÀµÕâÑùµÄ±È½Ï¹æÔò£¬ÓïÑÔʵÏÖ¿ÉÄÜ»á¸Ä±ä
    ¡£²»Í¬µÄÊýÖµÀàÐÍ¿ÉÒÔ°´ÊýÖµÀ´±È½Ï£¬ËùÒÔ0µÈÓÚ0.0£¬µÈµÈ¡£


    --

    ¡ù À´Ô´:¡¤BBS ˮľÇ廪վ smth.org¡¤[FROM: 202.112.255.153]·¢ÐÅÈË: mikky (ЦÎûÎû), ÐÅÇø: Python
    ±ê Ìâ: Re: ÖÐÎÄ£ºpython-tutorial
    ·¢ÐÅÕ¾: BBS ˮľÇ廪վ (Tue Mar 27 23:32:41 2001)

    µÚÁùÕ ģ¿é
    Èç¹ûÍ˳öPython½âÊͳÌÐòÈ»ºóÔÙ½øÈ룬ԭÓеĶ¨Ò壨º¯ÊýºÍ±äÁ¿£©¾Í¶ªÊ§ÁË¡£ËùÒÔ£¬Èç
    ¹ûÐèҪд³¤Ò»µãµÄ³ÌÐò£¬×îºÃÓÃÒ»¸öÎı¾±à¼­³ÌÐòΪ½âÊͳÌÐò×¼±¸ÊäÈ룬ȻºóÒÔ³ÌÐòÎÄ
    ¼þ×÷ΪÊäÈëÀ´ÔËÐÐPython½âÊͳÌÐò£¬Õâ³ÆΪ׼±¸½Å±¾£¨script£©¡£µ±ÄãµÄ³ÌÐò±ä³¤Ê±£¬
    ×îºÃ°ÑËü²ð·Ö³É¼¸¸öÎļþÒÔÀûÓÚά»¤¡£Ä㻹¿ÉÄÜÏëÔÚ¼¸¸ö³ÌÐòÖж¼Ê¹ÓÃij¸öºÜ·½±ãµÄº¯
    Êý£¬µ«ÓÖ²»Ïë°Ñº¯Êý¶¨Ò帳ֵµ½Ã¿Ò»¸ö³ÌÐòÖС£
    ΪÁËÖ§³ÖÕâЩ£¬PythonÓÐÒ»ÖÖ°ì·¨¿ÉÒ԰Ѷ¨Òå·ÅÔÚÒ»¸öÎļþÖÐÈ»ºó¾Í¿ÉÒÔÔÚÒ»¸ö½Å±¾ÖÐ
    »ò½»»¥ÔËÐÐÖе÷Óá£ÕâÑùµÄÎļþ½Ð×öÒ»¸öÄ£¿é£»Ä£¿éÖеĶ¨Òå¿ÉÒÔµ¼ÈëÆäËüÄ£¿é»òÖ÷Ä£
    ¿é£¨Ö÷Ä£¿éÖ¸ÔÚ½âÊͳÌÐò¶¥¼¶Ö´ÐеĽű¾»ò½»»¥Ö´ÐеijÌÐòËùÄÜ·ÃÎʵıäÁ¿¼¯ºÏ£©¡£
    Ä£¿éÊÇ°üº¬ÁËPython¶¨ÒåºÍÓï¾äµÄÎļþ¡£ÎļþÃûÓÉÄ£¿éÃû¼ÓÉϺó׺¡°.py¡±¹¹³É¡£ÔÚÄ£¿é
    ÄÚ£¬Ä£¿éµÄÃû×Ö£¨×÷Ϊһ¸ö×Ö·û´®£©¿ÉÒÔÓÉÈ«¾Ö±äÁ¿__name__µÄÖµ»ñÖª¡£ÀýÈ磬ÔÚPyth
    onµÄËÑË÷·¾¶ÖÐÓÃÄãÏ°¹ßʹÓõÄÎı¾±à¼­Æ÷£¨Python 1.5.2°üº¬ÁËÒ»¸öÓÃTkinter±àдµÄ
    IDLE¼¯³É¿ª·¢»·¾³£¬MS WindowsÏÂÓÐÒ»¸öPythonWin½çÃæÒ²¿ÉÒÔ½øÐÐPython³ÌÐò±à¼­£©Éú
    ³ÉÒ»¸öÃûΪ¡°fibo.py ¡±µÄÎļþ£¬°üº¬ÈçÏÂÄÚÈÝ£º
    # Fibonacci numbers module
    ¡¡
    def fib(n): # Êä³öСÓÚnµÄFibonacciÐòÁÐ
    a, b = 0, 1
    while b < n:
    print b,
    a, b = b, a+b
    ¡¡
    def fib2(n): # ·µ»ØСÓÚnµÄFibonacciÐòÁÐ
    result = []
    a, b = 0, 1
    while b < n:
    result.append(b)
    a, b = b, a+b
    return result
    È»ºó½øÈëPython½âÊͳÌÐò£¨ÔÚIDLE»òPythonWinÖпÉÒÔÖ±½Ó½øÈë½âÊͳÌÐò´°¿Ú£©£¬ÓÃÈçÏÂ
    ÃüÁî¿ÉÒÔµ¼ÈëÄ£¿é£º
    >>> import fibo
    Õâ²»»á°ÑÄ£¿éfiboÖеĺ¯ÊýµÄÃû×ÖÖ±½ÓÒýÈ뵱ǰµÄ·ûºÅ±í£¬ÕâÖ»ÊÇ°ÑÄ£¿éÃûfiboÒýÈë¡£
    ¿ÉÒÔÓÃÄ£¿éÃûÀ´·ÃÎÊÆäÖеĺ¯Êý£º
    >>> fibo.fib(1000)
    1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
    >>> fibo.fib2(100)
    [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
    >>> fibo.__name__
    'fibo'
    Èç¹û¾­³£Ê¹ÓÃij¸öº¯Êý¿ÉÒÔ¸øËü¸³Ò»¸ö¾Ö²¿Ãû×Ö£º
    >>> fib = fibo.fib
    >>> fib(500)
    1 1 2 3 5 8 13 21 34 55 89 144 233 377
    6.1 Ä£¿éµÄ½øÒ»²½½éÉÜ
    Ä£¿é³ýÁË¿ÉÒÔ°üº¬º¯Êý¶¨ÒåÖ®ÍâÒ²¿ÉÒÔ°üº¬¿ÉÖ´ÐÐÓï¾ä¡£ÕâЩ¿ÉÖ´ÐÐÓï¾äÓÃÀ´³õʼ»¯Ä£
    ¿é£¬ËüÃÇÖ»ÔÚÄ£¿éµÚÒ»´Î±»µ¼ÈëʱִÐС£
    ÿ¸öÄ£¿éÓÐ×Ô¼ºË½ÓеķûºÅ±í£¬Õâ¸ö˽ÓзûºÅ±í¶ÔÓÚÄ£¿éÖеÄËùÓк¯Êý¶øÑÔÈ´ÊÇËüÃǵÄ
    È«¾Ö·ûºÅ±í¡£Òò´Ë£¬Ä£¿é×÷Õß¿ÉÒÔÔÚÄ£¿éÖÐʹÓÃÈ«¾Ö±äÁ¿¶ø²»Ðèµ£ÐÄÓëÄ£¿éÓû§µÄÈ«¾Ö
    ±äÁ¿³åÍ»¡£ÁíÒ»·½Ã棬Èç¹ûÄãÓаÑÎյĻ°Ò²¿ÉÒÔÓ÷ÃÎÊÄ£¿éÖк¯ÊýµÄ¸ñʽ£¬¼´modname.
    itemnameµÄ·½·¨À´ÐÞ¸ÄÄ£¿éÖеÄÈ«¾Ö±äÁ¿¡£
    Ä£¿é¿ÉÒÔµ¼ÈëÆäËüÄ£¿é¡£ÎÒÃÇͨ³£°ÑËùÓеĵ¼ÈëÓï¾ä·ÅÔÚÄ£¿é£¨»ò½Å±¾£©µÄ¿ªÊ¼Î»Öã¬
    Õâ²»Êǹ涨ҪÇóµÄ¡£µ¼ÈëµÄÄ£¿éÃû·ÅÈëÄ£¿éµÄÈ«¾Ö·ûºÅ±íÖС£
    µ¼È뻹ÓÐÁíÒ»ÖÖÓ÷¨£¬¿ÉÒÔ°ÑÄ£¿éÖеÄÃû×ÖÖ±½Óµ¼ÈëʹÓÃÕߵķûºÅ±í¡£ÀýÈ磺
    >>> from fibo import fib, fib2
    >>> fib(500)
    1 1 2 3 5 8 13 21 34 55 89 144 233 377
    Õâ²»»á°ÑÄ£¿éÃûµ¼ÈëʹÓÃÕߵķûºÅ±íÖУ¨ÀýÈ磬ÉÏÃæÀý×ÓÖÐfibo¾ÍûÓж¨Ò壩¡£
    »¹ÓÐÒ»ÖÖ°ì·¨¿ÉÒÔµ¼ÈëÒ»¸öÄ£¿éÖж¨ÒåµÄËùÓÐÃû×Ö£º
    >>> from fibo import *
    >>> fib(500)
    1 1 2 3 5 8 13 21 34 55 89 144 233 377
    Õâ¿ÉÒÔ°ÑÄ£¿éÖгýÁËÒÔÏ»®Ïß½áβµÄËùÓÐÃû×Öµ¼Èë¡£
    6.1.1 Ä£¿éËÑË÷·¾¶
    ÔÚµ¼ÈëÃûΪspamµÄÄ£¿éʱ£¬½âÊͳÌÐòÏÈÔÚµ±Ç°Ä¿Â¼ÖÐÑ°ÕÒÃûΪ¡°spam.py¡±µÄÎļþ£¬È»ºó
    ´Ó»·¾³±äÁ¿PYTHONPATHËù¶¨ÒåµÄĿ¼ÁбíÖÐÑ°ÕÒ¡£PYTHONPATHµÄÓ÷¨ºÍ¿ÉÖ´ÐÐÎļþµÄËÑ
    Ë÷·¾¶PATHÓ÷¨Ïàͬ£¬¶¼ÊÇÒ»¸öĿ¼ÁÐ±í¡£µ±PYTHONPATHδÉèÖõÄʱºò£¬»òÕßÎļþÈÔÕÒ
    ²»µ½£¬ÔòËÑË÷¼ÌÐøÔÚ°²×°Ê±É趨µÄȱʡ·¾¶ËÑË÷£¬ÔÚUnixÖУ¬Õâͨ³£ÊÇ¡°.:/usr/local
    /lib/python¡± ¡£
    ʵ¼ÊÉÏ£¬Ä£¿éÊÇ°´±äÁ¿sys.pathÖ¸¶¨µÄ·¾¶ËÑË÷µÄ£¬´Ë±äÁ¿ÔÚ½âÊͳÌÐòÆô¶¯Ê±³õʼ»¯Îª
    °üº¬ÊäÈë½Å±¾µÄĿ¼£¨»òµ±Ç°Â·¾¶£©£¬PYTHONPATHºÍ°²×°È±Ê¡Â·¾¶¡£ÕâÑù£¬Óû§¿ÉÒÔͨ
    ¹ýÐÞ¸Äsys.path À´Ð޸ĺÍÌ滻ģ¿éËÑË÷·¾¶¡£²Î¼ûºóÃæ¹ØÓÚ±ê׼ģ¿éµÄÒ»½Ú¡£
    6.1.2 ¡°±àÒ롱µÄPythonÎļþ
    ΪÁËÌá¸ßµ÷ÓÃÐí¶à±ê׼ģ¿éµÄС³ÌÐòµÄÆô¶¯Ê±¼ä£¬Ò»¸öÖØÒªµÄ´ëÊ©ÊÇ£¬Èç¹ûÔÚÕÒµ½¡°sp
    am.py ¡±µÄĿ¼ÖдæÔÚÒ»¸öÃûΪ¡°spam.pyc¡±µÄÎļþ£¬¾ÍÈÏΪ´ËÎļþ°üº¬ÁËÄ£¿éspamµÄ
    Ò»¸öËùν¡° ×Ö½Ú±àÒ롱°æ±¾¡£ÓÃÓÚÉú³É¡°spam.pyc¡±µÄ¡°spam.py¡±µÄÐÞ¸Äʱ¼ä±»¼ÇÈë
    ÁË¡°spam.pyc¡±ÖУ¬Èç¹û¼Ç¼µÄÐÞ¸Äʱ¼äÓëÏÖÔÚÎļþµÄʱ¼ä²»Ïà·ûµÄ»°¾ÍºöÂÔ±àÒëÎļþ
    ¡£
    Ò»°ã²»ÐèÒª×Ô¼ºÉú³É¡°spam.pyc¡±ÕâÑùµÄ±àÒëÎļþ¡£Ã¿µ±¡°spam.py¡±³É¹¦±àÒëºó½âÊͳÌ
    Ðò¾Í³¢ÊÔд±àÒë°æ±¾¡°spam.pyc¡±£¬Èç¹û²»¿ÉдҲ²»»á³ö´í£»Èç¹ûÒòΪijÖÖÔ­Òò´ËÎļþ
    ûÓÐдÍêÔòÉú³ÉµÄ¡°spam.pyc¡±±»Ê¶±ðΪ²»ÍêÕûµÄ¶ø±»ºöÂÔ¡£±àÒëÎļþ¡°spam.pyc¡±µÄ
    ¸ñʽÊDz»ÒÀÀµÓÚƽ̨µÄ£¬ËùÒÔ²»Í¬½á¹¹µÄ»úÆ÷¿ÉÒÔ¹²ÏíPythonÄ£¿éĿ¼¡£
    ÏÂÃæÊǶÔר¼ÒµÄһЩÇÏÃÅ£º
    Èç¹ûPython½âÊͳÌÐòÊÇÒÔ-O±êÖ¾Æô¶¯µÄ£¬½«Éú³ÉÓÅ»¯µÄ±àÒë´úÂ룬±£´æÔÚ¡°.pyo¡±Îļþ
    ÖС£Ä¿Ç°ÓÅ»¯²»ÊǺܶ࣬ÏÖÔÚÖ»ÊÇÈ¥µôassertÓï¾äºÍSET_LINENOÖ¸ÁʹÓÃÁË-O±ê־ʱ
    £¬ËùÓÐ×Ö½ÚÂ붼ÊÇÓÅ»¯µÄ£¬¡°.pyc¡±Îļþ±»ºöÂÔ£¬¡°.py¡±Îļþ±»±àÒëΪÓÅ»¯µÄ×Ö½ÚÂë¡£

    ¸øPython½âÊͳÌÐòÁ½¸öÓÅ»¯±êÖ¾£¨-OO£©²úÉúµÄÓÅ»¯´úÂëÓÐʱ»áµ¼Ö³ÌÐòÔËÐв»Õý³£¡£Ä¿
    Ç°Ë«ÖØÓÅ»¯Ö»´Ó×Ö½ÚÂëÖÐɾ³ýÁË__doc__×Ö·û´®£¬Ê¹µÃ¡°.pyo¡±Îļþ½ÏС¡£ÓÐЩ³ÌÐò¿ÉÄÜ
    ÊÇÒÀÀµÓÚÎĵµ×Ö·û´®µÄ£¬ËùÒÔÖ»ÓÐÔÚÈ·Öª²»»áÓÐÎÊÌâʱ²Å¿ÉÒÔʹÓÃÕâÑùµÄÓÅ»¯¡£
    ´Ó¡°.pyc¡±»ò¡°.pyo¡±¶ÁÈëµÄ³ÌÐò²¢²»Äܱȴӡ°.py¡±¶ÁÈëµÄÔËÐиü¿ì£¬ËüÃÇÖ»Êǵ÷ÈëËÙ
    ¶È¸ü¿ìһЩ¡£
    Èç¹ûÒ»¸ö³ÌÐòÊÇÓÃÔÚÃüÁîÐÐÖ¸¶¨½Å±¾ÎļþÃûµÄ·½Ê½ÔËÐеģ¬½Å±¾µÄ×Ö½ÚÂë²»»áдÈë¡°.p
    yc ¡±»ò¡°.pyo¡±Îļþ¡£ËùÒÔÈç¹û°Ñ³ÌÐòµÄÖ÷Òª´úÂ붼ÒÆÈëÒ»¸öÄ£¿é£¬½Å±¾ÖÐֻʣϵ¼Èë
    ¸ÃÄ£¿éµÄÒýµ¼³ÌÐòÔò¿ÉÒÔÂÔ΢Ëõ¶Ì½Å±¾µÄÆô¶¯Ê±¼ä¡£
    ¿ÉÒÔÓнÐ×ö¡°spam.pyc¡±£¨µ±ÓÃÁË-O±ê־ʱΪ¡°spam.pyo¡±£©µÄÎļþ¶øûÓжÔÓ¦µÄÔ´ÎÄ
    ¼þ¡°spam.py¡±¡£Õâ¿ÉÒÔÓÃÀ´·Ö·¢Ò»¸ö±È½ÏÄÑ·´±àÒëµÄPython´úÂë¿â¡£
    Ä£¿écompileall¿ÉÒÔ°ÑÒ»¸öĿ¼ÖÐËùÓÐÄ£¿é±àÒëΪ¡°.pyc¡±Îļþ£¨Ö¸¶¨ÁË-OÑ¡Ïîʱ±àÒë
    Ϊ¡°.pyo¡±Îļþ£©¡£
    6.2 ±ê׼ģ¿é
    Python´øÓÐÒ»¸ö±ê׼ģ¿é¿â£¬ÔÚÁíÒ»¸öÎĵµ¡¶Python¿â²Î¿¼¡·ÖнøÐÐÁËÃèÊö¡£Ò»Ð©Ä£¿é
    Ö±½Ó±àÈëÁ˽âÊͳÌÐòÖУ¬ÕâЩģ¿é²»ÊÇÓïÑԵĺËÐÄ£¬ÎªÁËÔËÐÐЧÂÊ»òÕßΪÁËÌṩ¶ÔÓÚϵ
    ͳµ÷ÓÃÕâÑùµÄϵͳµ×²ã¹¦Äܶø±àÈëÁ˽âÊͳÌÐòÖС£ÌṩÄÇЩģ¿éÊDZàÒëʱµÄÑ¡Ôñ£¬ÀýÈç
    £¬amoebaÄ£¿éÖ»ÔÚÌṩamoebaµ×²ãÖ¸ÁîµÄϵͳÖвÅÄÜÌṩ¡£
    ÓÐÒ»¸öÄ£¿éÖµµÃÌرðÖØÊÓ£ºsysÄ£¿é£¬Ã¿Ò»¸öPython½âÊͳÌÐòÖж¼±àÒëÈëÁËÕâ¸öÄ£¿é¡£±ä
    Á¿sys.ps1ºÍsys.ps2¶¨ÒåÁ˽»»¥ÔËÐÐʱµÄ³õʼÌáʾºÍÐøÐÐÌáʾ¡£
    >>> import sys
    >>> sys.ps1
    '>>> '
    >>> sys.ps2
    '... '
    >>> sys.ps1 = 'C> '
    C> print 'Yuck!'
    Yuck!
    C>
    ÕâÁ½¸ö±äÁ¿Ö»ÔÚ½âÊͳÌÐòÒÔ½»»¥·½Ê½ÔËÐÐʱ²ÅÓж¨Òå¡£
    ±äÁ¿sys.pathÊÇÒ»¸ö×Ö·û´®ÁÐ±í£¬ÓÉËüÈ·¶¨½âÊͳÌÐòµÄÄ£¿éËÑË÷·¾¶¡£Ëü±»³õʼ»¯Îª»·
    ¾³±äÁ¿PYTHONPATHËùÖ¸¶¨µÄȱʡ·¾¶£¬»·¾³±äÁ¿Ã»Óж¨Òåʱ³õʼ»¯Îª°²×°Ê±µÄȱʡ·¾¶
    ¡£¿ÉÒÔÓñê×¼µÄÁбí²Ù×÷ÐÞ¸ÄÕâ¸öËÑË÷·¾¶£¬ÀýÈ磺
    >>> import sys
    >>> sys.path.append('/ufs/guido/lib/python')
    6.3 dir()º¯Êý
    ÄÚÖú¯Êýdir()ÓÃÓÚÁгöÒ»¸öÄ£¿éËù¶¨ÒåµÄÃû×Ö£¬Ëü·µ»ØÒ»¸ö×Ö·û´®ÁÐ±í£º
    >>> import fibo, sys
    >>> dir(fibo)
    ['__name__', 'fib', 'fib2']
    >>> dir(sys)
    ['__name__', 'argv', 'builtin_module_names', 'copyright', 'exit',
    'maxint', 'modules', 'path', 'ps1', 'ps2', 'setprofile', 'settrace',
    'stderr', 'stdin', 'stdout', 'version']
    ûÓÐ×Ô±äÁ¿Ê±£¬dir()Áгöµ±Ç°¶¨ÒåµÄÃû×Ö¡£
    >>> a = [1, 2, 3, 4, 5]
    >>> import fibo, sys
    >>> fib = fibo.fib
    >>> dir()
    ['__name__', 'a', 'fib', 'fibo', 'sys']
    ×¢Òâdir()ÁгöÁËËùÓи÷ÀàÃû×Ö£º±äÁ¿Ãû¡¢Ä£¿éÃû¡¢º¯ÊýÃû£¬µÈµÈ¡£dir()²»»áÁгöÄÚÖÃ
    º¯Êý¡¢±äÁ¿µÄÃû×Ö¡£ÒªÏëÁгöÄÚÖÃÃû×ֵĻ°ÐèҪʹÓñê׼ģ¿é__builtin__£º
    >>> import __builtin__
    >>> dir(__builtin__)
    ['AccessError', 'AttributeError', 'ConflictError', 'EOFError', 'IOError',
    'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt',
    'MemoryError', 'NameError', 'None', 'OverflowError', 'RuntimeError',
    'SyntaxError', 'SystemError', 'SystemExit', 'TypeError', 'ValueError',
    'ZeroDivisionError', '__name__', 'abs', 'apply', 'chr', 'cmp', 'coerce',
    'compile', 'dir', 'divmod', 'eval', 'execfile', 'filter', 'float',
    'getattr', 'hasattr', 'hash', 'hex', 'id', 'input', 'int', 'len', 'long',
    'map', 'max', 'min', 'oct', 'open', 'ord', 'pow', 'range', 'raw_input',
    'reduce', 'reload', 'repr', 'round', 'setattr', 'str', 'type', 'xrange']
    6.4 °ü
    PythonÖпÉÒÔÓá°°ü¡±À´×éÖ¯PythonµÄÄ£¿éÃû×ֿռ䣬Ãû×ÖÒýÓÃʱ¿ÉÒÔÓá°´øµãµÄÄ£¿é
    Ãû¡£ÀýÈ磬ģ¿éÃûA.B´ú±í°ü¡°A¡±ÄÚÃûΪ¡°B¡±µÄ×ÓÄ£¿é¡£ÕýÈçʹÓÃÄ£¿é¿ÉÒÔʹ²»Í¬Ä£¿é
    µÄ×÷Õß²»ÓùËÂDZ˴˵ÄÈ«¾Ö±äÁ¿Ãû»á³åÍ»£¬Ê¹ÓôøµãµÄÄ£¿éÃû¿ÉÒÔʹ¶àÄ£¿é°üÈçNumPyºÍ
    PILµÄ×÷Õß²»ÐèÒªµ£Ðı˴˵ÄÄ£¿éÃû»á³åÍ»¡£
    ¼ÙÉèÄãÓÐһϵÁд¦ÀíÉùÒôÎļþºÍÉùÒôÊý¾ÝµÄÄ£¿é£¨³ÆΪһ¸ö¡°°ü¡±£©¡£ÓÐÐí¶àÖÖ²»Í¬µÄ
    ÉùÒôÎļþ¸ñʽ£¨Í¨³£ÓÃÀ©Õ¹ÃûÀ´Ê¶±ð£¬Èç¡°wav¡±£¬¡°.aiff¡±£¬¡°.au¡±£©£¬ËùÒÔÄã¿ÉÄÜ
    ÐèÒªÖÆ×÷²¢Î¬»¤Ò»×é²»¶ÏÔö¼ÓµÄÄ£¿éÀ´´¦Àí²»Í¬Îļþ¸ñʽµÄת»»¡£Ä㻹¿ÉÄÜÐèÒª¶ÔÉùÒô
    Êý¾Ý½øÐÐÐí¶à²»Í¬µÄ²Ù×÷£¨Èç»ìÒô¡¢»ØÏì¡¢¾ùºâ¡¢²úÉúÄ£ÄâÁ¢ÌåÉùЧ¹û£©£¬ËùÒÔÄ㻹Ðè
    Òª²»¶ÏÔö¼ÓÄ£¿éÀ´Ö´ÐÐÕâЩ²Ù×÷¡£Ò»ÏÂÊÇÄãµÄ³ÌÐò°üµÄ¿ÉÄܵĽṹ£¨ÓÃÒ»¸ö·Ö²ãÎļþϵ
    ͳ±íʾ£©£º
    ¡¡
    Sound/ ¶¥²ã°ü
    __init__.py ³õʼ»¯ÒôÏì°ü
    Formats/ ÓÃÓÚÎļþ¸ñʽת»»µÄ×Ó³ÌÐò°ü
    __init__.py
    wavread.py
    wavwrite.py
    aiffread.py
    aiffwrite.py
    auread.py
    auwrite.py
    ...
    Effects/ ÓÃÓÚÒôÏìЧ¹ûµÄ×Ó³ÌÐò°ü
    __init__.py
    echo.py
    surround.py
    reverse.py
    ...
    Filters/ ÓÃÓÚÂ˲¨µÄ×Ó³ÌÐò°ü
    __init__.py
    equalizer.py
    vocoder.py
    karaoke.py
    ...
    ¡¡
    °üĿ¼Öеġ°__init__.py¡±ÎļþÊDZØÐëµÃ£¬ÓÃÀ´Ö¸Ê¾Python°ÑÕâ¸öĿ¼¿´³É°ü£¬Õâ¿ÉÒÔ
    ·ÀÖ¹ÓÐÏàͬÃû×ÖÈç¡°string¡±µÄ×ÓĿ¼ÑÚ¸ÇסÔÚËÑË÷·¾¶ºóÃæһЩ³öÏÖµÄÄ£¿é¶¨Òå¡£ÔÚ
    ×î¼òµ¥µÄÇé¿öÏ£¬¡°__init__.py¡±¿ÉÒÔÊÇÒ»¸ö¿ÕÎļþ£¬ËüÒ²¿ÉÒÔ°üº¬³õʼ»¯°üËùÐèµÄ´ú
    Â룬ºÍÉèÖá°__all__¡±±äÁ¿£¬ÕâЩºóÃæ»á¼ÓÒÔÌÖÂÛ¡£
    °üµÄÓû§¿ÉÒÔ´Ó°üÖе¼Èëµ¥¶ÀµÄÄ£¿é£¬È磺
    import Sound.Effects.echo
    Õâ¿ÉÒÔ°Ñ×ÓÄ£¿éSound.Effects.echoµ¼Èë¡£ÒªÒýÓÃËüÒ²±ØÐëÓÃÈ«Ãû£¬ÀýÈ磺
    Sound.Effects.echo.echofilter(input, output, delay=0.7, atten=4)
    µ¼Èë×ÓÄ£¿éµÄÁíÒ»ÖÖ°ì·¨ÊÇ£º
    from Sound.Effects import echo
    ÕâͬÑùÒ²µ¼Èë×ÓÄ£¿éecho£¬µ«µ÷ÓÃʱ²»Ðèд°üǰ׺£¬ËùÒÔ¿ÉÒÔÓÃÈ磺
    echo.echofilter(input, output, delay=0.7, atten=4)
    ÁíÍâÒ»ÖÖд·¨ÊÇÖ±½Óµ¼ÈëËùÐèµÄº¯Êý»ò±äÁ¿£º
    from Sound.Effects.echo import echofilter
    ÕâÒ»´ÎͬÑùÊǵ÷ÈëÁË×ÓÄ£¿éecho£¬µ«ÊÇʹÆ亯ÊýechofilterÖ±½Ó¿ÉÓãº
    echofilter(input, output, delay=0.7, atten=4)
    ×¢ÒâʹÓá°from °ü import ÏÕâÑùµÄ¸ñʽʱ£¬µ¼ÈëµÄÏî¿ÉÒÔÊÇ°üµÄÒ»¸ö×ÓÄ£¿é£¨»ò×Ó
    °ü£©£¬Ò²¿ÉÒÔÊÇ°üÄÚ¶¨ÒåµÄÆäËüÃû×ÖÈ纯Êý¡¢Àà¡¢±äÁ¿¡£µ¼ÈëÓï¾äÊ×ÏȲéÕÒ°üÄÚÊÇ·ñ¶¨
    ÒåÁËËùÐèµÄÏÈç¹ûûÓÐÔò¼ÙÉèËüÊÇÒ»¸öÄ£¿éÈ»ºóµ÷Èë¡£Èç¹ûÕÒ²»µ½£¬½á¹ûÒýÆðImport
    Error¡£
    Ïà·´µÄ£¬µ±Ê¹Óá°import item.subitem.subsubitem¡±ÕâÑùµÄ¸ñʽʱ£¬³ý×îºóÒ»¸öÍâÆä
    Ëü¸÷ÏӦ¸ÃÊÇ°ü£¬×îºóÒ»Ïî¿ÉÒÔÊÇ°üÒ²¿ÉÒÔÊÇÄ£¿é£¬²»ÔÊÐíÊÇÇ°ÃæÒ»ÏîÄÚ²¿¶¨ÒåµÄÀà
    ¡¢º¯Êý»ò±äÁ¿¡£
    6.4.1 ´Ó°üÖе¼Èë*
    ÏÖÔÚ£¬Èç¹ûÓû§Ð´¡°from Sound.Effects import *¡±»á·¢ÉúʲôÇé¿ö£¿ÀíÏëÇé¿öÏÂÎÒÃÇ
    Ï£ÍûÕâÓ¦¸ÃɨÃèÎļþϵͳ£¬ÕÒµ½ËùÓаüÄÚµÄ×ÓÄ£¿é²¢°ÑËüÃǶ¼µ¼Èë½øÀ´¡£²»ÐÒµÄÊÇÕâÖÖ
    ²Ù×÷ÔÚMacºÍWindowsƽ̨Éϲ»ÄÜ׼ȷʵÏÖ£¬ÕâÁ½ÖÖ²Ù×÷ϵͳ¶ÔÎļþÃûµÄ´óСдûÓÐ׼ȷ
    ÐÅÏ¢¡£ÔÚÕâЩƽ̨ÉÏ£¬²»ÖªµÀÃûΪ¡°ECHO.PY¡±µÄÎļþ»á×÷Ϊģ¿éecho¡¢Echo»¹ÊÇECHO±»
    µ¼Èë¡££¨ÀýÈ磬Windows 95ÔÚÏÔʾÎļþÃûʱ×ÜÊÇÌÖÑáµØ°ÑµÚÒ»¸ö×Öĸ´óд£©¡£DOSµÄ8£«
    3ÎļþÃûÏÞÖƸüÊǶԳ¤Ä£¿éÃûÔì³ÉÁËÓÐȤµÄÀ§ÄÑ¡£
    Õâ¸öÎÊÌâµÄΨһ½â¾ö°ì·¨ÊÇÓÉÄ£¿é×÷ÕßÏÔʽµØÌṩ°üµÄË÷Òý¡£ÒýÈë*µÄimportÓï¾ä×ñÑ­Èç
    Ϲ涨£ºÈç¹û°üµÄ¡°__init__.py¡±Îļþ¶¨ÒåÁËÒ»¸öÃûΪ¡°__all__¡±µÄÁÐ±í£¬Õâ¸öÁбí
    ¾Í×÷Ϊ´Ó°üÄÚµ¼Èë*ʱҪµ¼ÈëµÄËùÓÐÄ£¿éµÄÃû×Ö±í¡£Òò´Ëµ±°üµÄа汾·¢²¼Ê±ÐèÒª°üµÄ×÷
    ÕßÈ·±£Õâ¸öÁбíÊÇ×îеġ£°üµÄ×÷ÕßÈç¹ûÈÏΪ²»ÐèÒªµ¼Èë*µÄ»°Ò²¿ÉÒÔ²»Ö§³ÖÕâÖÖÓ÷¨¡£
    ÀýÈ磬ÎļþSounds/Effects/__init__.py ¿ÉÒÔ°üº¬ÈçÏ´úÂ룺
    ¡¡
    __all__ = ["echo", "surround", "reverse"]
    ÕâÒâζ×Åfrom Sound.Effects import *½«´ÓSound°üÖе¼ÈëÖ¸¶¨µÄÈý¸ö×Ó°ü¡£¡¡
    Èç¹ûûÓж¨Òå__all__£¬Ôòfrom Sound.Effects import *Óï¾ä²»»áµ¼ÈëSound.Effects°ü
    ÖеÄËùÓÐ×ÓÄ£¿é£»´ËÓï¾äÖ»Äܱ£Ö¤Sound.Effects±»µ¼È루¿ÉÄÜÊÇÖ´ÐÐÆä³õʼ»¯´úÂë¡°_
    _init__.py ¡±£©²¢µ¼Èë°üÖÐÖ±½Ó¶¨ÒåµÄÃû×Ö¡£Õâ°üÀ¨ÓÉ¡°__init__.py¡±¶¨ÒåµÄÈκÎÃû
    ×ÖºÍÏÔʽµ¼ÈëµÄ×ÓÄ£¿éÃû¡£ÕâÒ²°üÀ¨Ä£¿éÖÐÒѾ­ÔÚÇ°ÃæÓÃimportÏÔʽµØµ¼ÈëµÄ×ÓÄ£¿é£¬
    ÀýÈ磺
    ¡¡
    import Sound.Effects.echo
    import Sound.Effects.surround
    from Sound.Effects import *
    ¡¡
    ÔÚÕâ¸öÀý×ÓÖУ¬echoºÍsurroundÄ£¿é±»µ¼È뵱ǰÃû×ֿռ䣬ÒòΪËüÃÇÔÚÖ´ÐÐfrom...imp
    ort Óï¾äʱÒѶ¨Ò壨ÔÚ¶¨ÒåÁË__all__µÄÇé¿öÏÂÕâÒ»µãÒ²ÊdzÉÁ¢µÄ£©¡£
    ×¢ÒâÓû§Ó¦¾¡Á¿±ÜÃâʹÓôÓÄ£¿é»ò°üÖе¼Èë*µÄ×ö·¨£¬ÒòΪÕâÑù¾­³£µ¼Ö¿ɶÁÐÔ²îµÄ´úÂë
    ¡£¾¡¹ÜÈç´Ë£¬ÔÚ½»»¥ÔËÐÐʱ¿ÉÒÔÓõ¼Èë*µÄ°ì·¨½ÚÊ¡Çüü´ÎÊý£¬¶øÇÒÓÐЩģ¿éÔÚÉè¼Æʱ¾Í
    ¿¼Âǵ½ÁËÕâ¸öÎÊÌ⣬ËüÃÇÖ»Êä³ö×ñѭijÖÖÔ¼¶¨µÄÃû×Ö¡£×¢Ò⣬from °ü import Ìض¨×ÓÄ£
    ¿éµÄÓ÷¨²¢Ã»ÓÐ´í£¬Êµ¼ÊÉÏÕ⻹ÊÇÎÒÃÇÍƼöµÄÓ÷¨£¬³ý·Ç³ÌÐò»¹ÐèÒªÓõ½À´×ÔÆäËü°üµÄ
    ͬÃûµÄ×ÓÄ£¿é¡£
    6.4.2 °üÄÚ²¿ÒýÓÃ
    ×ÓÄ£¿é³£³£ÐèÒª±Ë´ËÒýÓá£ÀýÈ磬ģ¿ésurround¿ÉÄÜÒªÓõ½Ä£¿éecho¡£ÊÂʵÉÏ£¬ÕâÑùµÄ
    ÒýÓÃÊ®·Ö³£¼û£¬ËùÒÔimportÓï¾äÊ×ÏÈ´Ó×ÓÄ£¿éµÄËùÔÚ°üÖÐÑ°ÕÒÒªµ¼ÈëµÄ×ÓÄ£¿é²ÅÔÚ±ê×¼
    Ä£¿éËÑË÷·¾¶²éÕÒ¡£ËùÒÔ£¬Ä£¿ésurroundֻҪдimport echo»òfrom echo import echo
    filter¡£Èç¹ûÔÚ°üº¬±¾Ä£¿éµÄ°üÖÐûÓÐÕÒµ½Òªµ¼ÈëµÄÄ£¿é£¬importÓï¾ä½«È¥Ñ°ÕÒÖ¸¶¨Ãû
    ×ֵĶ¥¼¶Ä£¿é¡£
    µ±°ü×éÖ¯³É×Ó°üʱ£¨±ÈÈçÀýÖеÄSound°ü£©£¬Ã»ÓÐÒ»ÖÖ¼òµ¥µÄ°ì·¨¿ÉÒÔÒýÓÃÐֵܰüÖеÄ×Ó
    Ä£¿é¨D¨D±ØÐëʹÓÃ×ÓÄ£¿éµÄÈ«Ãû¡£ÀýÈ磬Èç¹ûÄ£¿éSound.Filters.vocoderÒªÒýÓÃSound
    .Effects °üÖеÄechoÄ£¿é£¬Ëü¿ÉÒÔÓÃSound.Effects import echo¡£

    --

    ¡ù À´Ô´:¡¤BBS ˮľÇ廪վ smth.org¡¤[FROM: 202.112.255.153]

    ·¢ÐÅÈË: mikky (ЦÎûÎû), ÐÅÇø: Python
    ±ê Ìâ: Re: ÖÐÎÄ£ºpython-tutorial
    ·¢ÐÅÕ¾: BBS ˮľÇ廪վ (Tue Mar 27 23:33:06 2001)

    µÚÆßÕ ÊäÈëÊä³ö
    Óм¸ÖÖ°ì·¨¿ÉÒÔ´Ó³ÌÐòÊä³ö£»Êý¾Ý¿ÉÒÔÓÿɶÁµÄÐÎʽÏÔʾ£¬»ò±£´æµ½ÎļþÖÐÒÔ±¸ÈÕºóʹ
    Óᣱ¾ÕÂÌÖÂÛһЩÊäÈëÊä³öµÄ°ì·¨¡£
    7.1 Êä³ö¸ñʽ¿ØÖÆ
    µ½ÏÖÔÚΪֹÎÒÃÇÒѾ­¿´µ½ÁËÁ½ÖÖÊä³öÖµµÄ·½·¨£º±í´ïʽÓï¾äºÍprintÓï¾ä¡££¨µÚÈýÖÖ·½·¨
    ÊÇʹÓÃÎļþ¶ÔÏóµÄwrite()·½·¨£¬±ê×¼Êä³öÎļþ¿ÉÒÔÓÃsys.stdoutÒýÓᣲμû¿â²Î¿¼ÊÖ²á
    £©¡£
    ÎÒÃdz£³£ÐèÒª¿ØÖÆÊä³ö¸ñʽ£¬¶ø²»½ö½öÊÇÏÔʾ¿Õ¸ñ·Ö¿ªµÄÖµ¡£ÓÐÁ½ÖÖ°ì·¨¿ØÖÆÊä³ö¸ñʽ
    £ºÒ»ÖÖ°ì·¨ÊÇ×Ô¼º½øÐÐ×Ö·û´®´¦Àí£¬ÓÃ×Ö·û´®µÄƬ¶ÏºÍºÏ²¢²Ù×÷¿ÉÒÔ²úÉúÈκοÉÒÔÏëÏó
    µÄ¸ñʽ¡£±ê׼ģ¿éstring°üº¬ÁËÖîÈç°Ñ×Ö·û´®Ìî³äµ½Ö¸¶¨µÄÁпíÕâÑùµÄÓÐÓòÙ×÷£¬ºóÃæ
    »áÓÐÌá¼°¡£
    ÁíÒ»ÖÖ°ì·¨ÊÇʹÓÃ%ÔËËã·û£¬´ËÔËËã·ûÒÔÒ»¸ö×Ö·û´®Îª×óÔËËãÔª£¬Ëü°´CµÄsprintf()º¯Êý
    ¸ñʽ°ÑÓÒÔËËãԪת»»Îª×Ö·û´®£¬·µ»Øת»»½á¹û¡£
    ¡¡ÎÊÌâÊÇ£ºÈçºÎ°Ñֵת»»Îª×Ö·û´®£¿
    ÐÒÔ˵ÄÊÇ£¬PythonÓÐÒ»ÖÖ°ì·¨¿ÉÒÔ°ÑÈκÎֵת»»Îª×Ö·û´®£ºÊ¹ÓÃrepr()º¯Êý£¬»ò°Ñֵд
    ÔÚÁ½¸ö·´ÏòÒýºÅ£¨``£©Ö®¼ä¡£ÀýÈ磺
    >>> x = 10 * 3.14
    >>> y = 200*200
    >>> s = 'The value of x is ' + `x` + ', and y is ' + `y` + '...'
    >>> print s
    The value of x is 31.4, and y is 40000...
    >>> # ·´ÏòÒýºÅÒ²ÊÊÓÃÓÚ·ÇÊýÖµÐÍ
    ... p = [x, y]
    >>> ps = repr(p)
    >>> ps
    '[31.4, 40000]'
    >>> # ת»»×Ö·û´®¶Ô×Ö·û´®¼Ó×Ö·û´®ÒýºÅºÍ·´Ð±¸Ü
    ... hello = 'hello, world\n'
    >>> hellos = `hello`
    >>> print hellos
    'hello, world\012'
    >>> # ·´ÏòÒýºÅÄÚ¿ÉÒÔÊÇÒ»¸öÐò±í
    ... `x, y, ('spam', 'eggs')`
    "(31.4, 40000, ('spam', 'eggs'))"
    ÏÂÃæÊÇÁ½ÖÖд³öƽ·½¡¢Á¢·½±íµÄ·½·¨£º
    >>> import string
    >>> for x in range(1, 11):
    ... print string.rjust(`x`, 2), string.rjust(`x*x`, 3),
    ... # Ç°Ò»ÐеĽáβ¶ººÅ±íʾ²»»»ÐÐ
    ... print string.rjust(`x*x*x`, 4)
    ...
    1 1 1
    2 4 8
    3 9 27
    4 16 64
    5 25 125
    6 36 216
    7 49 343
    8 64 512
    9 81 729
    10 100 1000
    >>> for x in range(1,11):
    ... print'%2d %3d %4d' % (x, x*x, x*x*x)
    ...
    1 1 1
    2 4 8
    3 9 27
    4 16 64
    5 25 125
    6 36 216
    7 49 343
    8 64 512
    9 81 729
    10 100 1000
    ×¢ÒâprintÊä³öµÄ¸÷ÏîÖ®¼ä¶îÍâ¼ÓÁËÒ»¸ö¿Õ¸ñ£¬ÕâÊÇprintµÄ¹æ¶¨¡£¡¡
    ´ËÀýÏÔʾÁ˺¯Êýstring.rjust()µÄÓ÷¨£¬´Ëº¯Êý¿ÉÒÔ°ÑÒ»¸ö×Ö·û´®·Å½øÖ¸¶¨¿í¶ÈÓÒ¶ÔÆë
    £¬×ó±ßÓÿոñÌî³ä¡£ÀàËƺ¯Êý»¹ÓÐstring.ljust()ºÍstring.center()¡£ÕâЩº¯Êý²»ÏòÍâ
    Êä³ö£¬Ö»ÊÇ·µ»Øת»»ºóµÄ×Ö·û´®¡£Èç¹ûÊäÈë×Ö·û´®Ì«³¤Ò²²»»á±»½Ø¶Ï¶øÊDZ»Ô­Ñù·µ»Ø¡£
    ÕâÑùµÄ´¦Àí¿ÉÄÜ»áʹÄãµÄÁжÔÆëʧЧ£¬µ«Õâ¿ÉÄܱȽضÏÒªºÃһЩ£¬½Ø¶ÏµÄ½á¹ûÊÇÎÒÃÇ¿´
    µ½Ò»¸ö´íÎóµÄÖµ¡££¨Èç¹ûÄãȷʵÐèÒª½Ø¶ÏµÄ»°×Ü¿ÉÒÔÔÙ¼ÓÒ»²ãƬ¶Ï£¬Èçstring.ljust(x
    ,n)[0:n]£©¡£
    ¡¡»¹ÓÐÒ»¸öº¯Êýstring.zfill()£¬¿ÉÒÔÔÚÊýÖµ×ó±ßÌîÁã¡£´Ëº¯Êý¿ÉÒÔ´¦Àí´øÓмӼõºÅµÄ
    Çé¿ö£º
    >>> string.zfill('12', 5)
    '00012'
    >>> string.zfill('-3.14', 7)
    '-003.14'
    >>> string.zfill('3.14159265359', 5)
    '3.14159265359'
    %²Ù×÷·ûµÄÓ÷¨ÈçÏÂÀý£º
    >>> import math
    >>> print 'The value of PI is approximately %5.3f.' % math.pi
    The value of PI is approximately 3.142.
    Èç¹ûÓжà¸öÖµ¿ÉÒÔÓÃÒ»¸öÐò±í¸ø³ö£¬Õâʱ¸ñʽ×Ö·û´®ÖÐÒªÓжà¸ö¸ñʽ£¬È磺
    >>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}
    >>> for name, phone in table.items():
    ... print'%-10s ==> %10d' % (name, phone)
    ...
    Jack ==> 4098
    Dcab ==> 8637678
    Sjoerd ==> 4127
    ´ó¶àÊý¸ñʽÓëCÓ÷¨Ïàͬ£¬ÒªÇóÒªÊä³öµÄÖµµÄÀàÐÍ·ûºÏ¸ñʽµÄÐèÒª¡£µ«ÊÇ£¬Èç¹ûÄãûÓÐÒý
    ·¢ÀýÍâ´íÎóµÄ»°Ò²²»»á²úÉúÄں˶ÑÁС£PythonµÄ%s¸ñʽҪ¿íµÃ¶à£ºÈç¹ûÏàÓ¦µÄÊä³öÏî²»
    ÊÇ×Ö·û´®¶ÔÏ󣬾ÍÏÈÓÃstr()ÄÚÖú¯Êý°ÑËü±ä³É×Ö·û´®¡£ÔÚ¸ñʽָ¶¨Öпí¶ÈÖ¸¶¨Îª*ºÅ±í
    ʾºóÃæµÄÊä³öÏîÖжà³öÒ»¸öÖ¸¶¨¿í¶ÈµÄÕûÊý¡£C¸ñʽ%nºÍ%pδ±»Ö§³Ö¡£
    Èç¹ûÄãÓÐÒ»¸ö³¤¸ñʽ´®²»Ïë°ÑËü·Ö¿ª£¬¿ÉÒÔÔÚÖ¸¶¨¸ñʽµÄµØ·½Ö¸¶¨Ãû×Ö£¬ÕâÑù¾Í²»ÐèÒª
    °´´ÎÐòÈ¥°Ñ¸ñʽºÍÃû×Ö¶ÔÓ¦ÆðÀ´£¬ÕâÖÖ¸ñʽΪ¡°%(±äÁ¿Ãû)¸ñʽ¡±£¬ÀýÈ磺
    >>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}
    >>> print 'Jack: %(Jack)d; Sjoerd: %(Sjoerd)d; Dcab: %(Dcab)d' % table
    Jack: 4098; Sjoerd: 4127; Dcab: 8637678
    ÕâÀïÊä³öÏî×ÜÊÇÒ»¸ö×ֵ䣬×ÖµäµÄ¸÷ÏîÖµÊÇÒªÊä³öµÄÖµ£¬×ÖµäµÄ¼üÖµÊǸ÷ÖµµÄÃû×Ö¡£Õâ
    ÖÖÊä³ö¸ñʽ¾­³£ÓëÄÚÖú¯Êývar()ÅäºÏʹÓã¬var()·µ»Ø°üº¬ËùÓоֲ¿±äÁ¿µÄ×ֵ䡣
    7.2 ¶ÁдÎļþ
    ¡¡ open()´ò¿ªÒ»¸öÎļþ¶ÔÏ󣬾­³£Ê¹ÓÃÁ½¸ö²ÎÊý£º¡°open(ÎļþÃû£¬Ä£Ê½)¡±¡£ÀýÈ磺
    >>> f=open('/tmp/workfile', 'w')
    >>> print f
    <open file '/tmp/workfile', mode 'w' at 80a0960>
    µÚÒ»×Ô±äÁ¿ÊÇÒ»¸ö°üº¬ÁËÎļþÃûµÄ×Ö·û´®£¬µÚ¶þ×Ô±äÁ¿ÊÇÎļþ´ò¿ª·½Ê½µÄ×Ö·û´®¡£Ä£Ê½
    ¡®r ¡¯±íʾ¶ÁÈ¡£¬¡®w¡¯±íʾֻд£¨ÒÑÓеÄͬÃûÎļþ±»Çå³ý£©£¬¡®a¡¯±íʾ´ò¿ªÎļþÔÚβ
    ²¿Ìí¼Ó£¬ ¡®r+¡¯±íʾ´ò¿ªÎļþ¼È¿ÉÒÔ¶ÁÒ²¿ÉÒÔд¡£´ò¿ª·½Ê½²ÎÊý¿ÉÑ¡£¬È±Ê¡Îª¡®r¡¯Ä£
    ʽ¡£
    ÔÚWindowsºÍMacintoshÖÐÔÚģʽÖмÓÈë¡®b¡¯±íʾÒÔ¶þ½øÖƸñʽ´ò¿ªÎļþ£¬Èç¡®rb¡¯¡¢¡®
    wb ¡¯¡¢¡®r+b¡¯¡£Windows¶ÔÎı¾ÎļþºÍ¶þ½øÖÆÎļþÓв»Í¬µÄ´¦Àí£¬Îı¾ÎļþÖеĻ»ÐÐ×Ö
    ·ûÔÚ¶ÁдʱÓб仯¡£ÕâÖÖ¶ÔÎļþÊý¾ÝµÄÄ»ºóµÄÐ޸IJ»Ó°ÏìASCIIÎı¾Îļþ£¬µ«ÊÇ»áÆÆ»µ¶þ
    ½øÖÆÊý¾ÝÈçJPEG »ò¡°.EXE¡±ÎļþµÄÊý¾Ý¡£¶ÁдÕâÑùµÄÎļþÒ»¶¨ÒªÊ¹Óöþ½øÖƸñʽ¡££¨M
    acintoshÖÐÎı¾Ä£Ê½µÄ¾«È·ÃèÊöÒÀÀµÓÚʹÓõÄC¿â£©¡£
    7.2.1 Îļþ¶ÔÏóµÄ·½·¨
    ¡¡±¾½ÚºóÃæµÄÀý×Ó¼ÙÉèÒѾ­½¨Á¢ÁËÒ»¸öÃûΪfµÄÎļþ¶ÔÏó¡£
    ΪÁ˶ÁÈ¡ÎļþÄÚÈÝ£¬µ÷ÓÃf.read(size)£¬¿ÉÒÔ¶ÁÈëÒ»¶¨×Ö½ÚÊýµÄÊý¾Ý·µ»ØΪһ¸ö×Ö·û´®
    ¡£size ÊÇÒ»¸ö¿ÉÑ¡ÊýÖµ²ÎÊý£¬Ê¡ÂÔsize»òsizeÈ¡¸ºÖµÊ±¶ÁÈëÕû¸öÎļþ²¢·µ»ØΪһ¸ö×Ö·û
    ´®£»Èç¹ûÎļþ±ÈÄãµÄ»úÆ÷ÄÚ´æ´óÒ»±¶£¬ÄÇÊÇÄãµÄÎÊÌâ¡£Ö¸¶¨ÁËÕýµÄsizeµÄʱºòÖ®¶à¶ÁÈë
    ²¢·µ»Øsize×Ö½Ú¡£Èç¹û¶Áµ½ÁËÎļþ⣬f.read()·µ»ØÒ»¸ö¿Õ´®£¨""£©¡£È磺
    ¡¡
    >>> f.read()
    'This is the entire file.\012'
    >>> f.read()
    ''
    ¡¡
    f.readline()´ÓÎļþÖжÁÈëÒ»ÐУ¬·µ»ØµÄ×Ö·û´®Öн«°üÀ¨½áβµÄÒ»¸ö»»Ðзû£¨\n£©£¬Èç
    ¹ûÎļþµÄ×îºóÒ»ÐÐûÓл»ÐзûÔòÓɸÃÐжÁÈëµÄ×Ö·û´®Ò²Ã»ÓнáβµÄ»»Ðзû¡£ÕâÑù£¬ÓÉre
    adline() ·µ»ØµÄ½á¹û²»»áÓÐÆçÒ壬¶ÁÈë½á¹ûΪ¿Õ´®Ê±Ò»¶¨Êǵ½ÁËÎļþ⣬¶ÁÈëÒ»¸ö'\n
    'ʱΪ¿ÕÐС£
    >>> f.readline()
    'This is the first line of the file.\012'
    >>> f.readline()
    'Second line of the file\012'
    >>> f.readline()
    ''
    f.readlines()·´¸´µ÷ÓÃf.readline()£¬·µ»ØÒ»¸ö°üº¬ÎļþËùÓÐÐеÄÁÐ±í¡£
    >>> f.readlines()
    ['This is the first line of the file.\012', 'Second line of the file\012']
    f.write(string)°ÑstringµÄÄÚÈÝдÈëµ½ÎļþÖУ¬·µ»ØNone¡£
    ¡¡
    >>> f.write('This is a test\n')
    ¡¡
    f.tell()·µ»ØÎļþ¶ÔÏóµÄµ±Ç°¶ÁдΪֹ£¬°´´ÓÎļþ¿ªÊ¼µÄ×Ö½ÚÊýË㡣ΪÁ˸ıä¶ÁдλÖÃ
    £¬Ê¹Óá°f.seek(λÒÆ£¬´ÓÄÄÀï)¡±¡£¶ÁдλÖð´Ò»¸ö²Î¿¼µã¼ÓÉÏλÒÆÀ´¼ÆË㣬²Î¿¼µãÓÃ
    ¡°´ÓÄÇÀ²ÎÊýÖ¸¶¨£¬È¡0ʱ´ÓÎļþÍ·¿ªÊ¼Ë㣬ȡ1ʱ°´µ±Ç°Î»ÖÃË㣬ȡ2ʱ´ÓÎļþβËã¡£
    ȱʡֵÊÇ0 £¬´ÓÎļþ¿ªÊ¼Ëã¡£
    >>> f=open('/tmp/workfile', 'r+')
    >>> f.write('0123456789abcdef')
    >>> f.seek(5) # ´ÓÎļþÍ·Ç°½ø5¸ö×Ö½Ú£¬µ½´ïµÚ6¸ö×Ö·û
    >>> f.read(1)
    '5'
    >>> f.seek(-3, 2) # תµ½½áβǰ3¸ö×Ö·û
    >>> f.read(1)
    'd'
    ÓÃÍâÒ»¸öÎļþºóµ÷ÓÃf.close()¹Ø±ÕÎļþ£¬ÊÍ·Å´ò¿ªÎļþËùÕ¼ÓõÄϵͳ×ÊÔ´¡£Îļþ¹Ø±Õºó
    ÔÙʹÓôËÎļþ¶ÔÏó¾ÍÎÞЧÁË¡£
    >>> f.close()
    >>> f.read()
    Traceback (innermost last):
    File "<stdin>", line 1, in ?
    ValueError: I/O operation on closed file
    Îļþ¶ÔÏó»¹ÓÐÆäËüһЩ²»Ì«³£Óõķ½·¨£¬ÀýÈçisatty()ºÍtruncate()£¬²Î¼û¿â²Î¿¼ÊÖ²á
    ¡£¡¡
    7.2.2 pickleÄ£¿é
    ×Ö·û´®¿ÉÒÔºÜÈÝÒ׵شÓÎļþ¶ÁÈë»òÏòÎļþд³ö¡£¶ÁÈëÊýÖµÒªÂ鷳һЩ£¬ÒòΪread()·½·¨
    ×ÜÊÇ·µ»Ø×Ö·û´®£¬Òª°Ñ¶ÁÈëµÄ×Ö·û´®´«¸øÏóstring.atoi()ÕâÑùµÄº¯Êý£¬°ÑÏó¡®123¡¯Õâ
    ÑùµÄ×Ö·û´®×ª»»Îª¶ÔÓ¦µÄÕûÊýÖµ123¡£µ«ÊÇ£¬µ±ÄãÏë±£´æ¸ü¸´ÔÓµÄÊý¾ÝÀàÐÍÈçÁÐ±í¡¢×Öµä
    »òÀàʵÀýʱ£¬¶Áд¾ÍÒª¸´Ôӵöࡣ
    PythonµÄÉè¼Æʹ³ÌÐòÔ±¿ÉÒÔ²»±Ø·´¸´±àдµ÷ÊÔ±£´æ¸´ÔÓÊý¾ÝÀàÐ͵ĴúÂ룬ËüÌṩÁËÒ»¸ö
    ½Ð×öpickleµÄ±ê׼ģ¿é¡£Õâ¸öÁîÈ˾ªÒìµÄÄ£¿é¿ÉÒ԰Ѽ¸ºõÈκÎPython¶ÔÏóת»»Îª×Ö·û´®
    ±íʾ£¬Õâ¸ö¹ý³Ì½Ð×öëçÖÆ£¬´Ó¶ÔÏóµÄ×Ö·û´®±íʾ»Ö¸´¶ÔÏó½Ð×ö»Ö¸´¡£ÔÚëçÖƺͷ´ëçÖÆÖ®
    ¼ä£¬¶ÔÏóµÄ×Ö·û´®±íʾ¿ÉÒÔ±£´æÔÚÎļþ»òÊý¾ÝÖУ¬ÉõÖÁÓÚͨ¹ýÍøÂçÁ¬½Ó´«Ë͵½Ô¶³Ì¼ÆËã
    »úÉÏ¡£
    ¡¡Èç¹ûÄãÓÐÒ»¸ö¶ÔÏóx£¬ÓÐÒ»¸ö¿ÉдµÄÎļþ¶ÔÏóf£¬×î¼òµ¥µÄëçÖƶÔÏóµÄ°ì·¨ÊÇÏÂÃæÒ»ÐÐ
    ´úÂ룺
    pickle.dump(x, f)
    ΪÁ˻ָ´¶ÔÏó£¬Èç¹û¸Õ²ÅµÄÎļþÒÑ´ò¿ªÓÃÓÚ¶ÁÈ¡£¬Îļþ¶ÔÏóÃûÈÔΪf£¬Ôò£º
    x = pickle.load(f)
    (ëçÖƺͻָ´»¹ÓÐÆäËüÓ÷¨£¬¿ÉÒÔëçÖƶà¸ö¶ÔÏ󣬿ÉÒÔ²»°ÑÊý¾ÝдÈëÎļþ£¬Ïê¼û¿â²Î¿¼ÊÖ
    ²á)¡£
    pickleÊDZ£´æPython¶ÔÏó²¢±»ÆäËü³ÌÐò»òͬһ³ÌÐòÒÔºóÔÙÔËÐÐʱµ÷Óõıê×¼°ì·¨£¬ÕâÖÖ
    ×ö·¨µÄרÓÃÊõÓï½Ð×ö¡°³Ö¾Ã¶ÔÏ󡱡£ÒòΪpickleʹÓù㷺£¬Ðí¶àPythonÀ©Õ¹Ä£¿éµÄ×÷Õß
    ¶¼ÁôÒâʹÐÂÔö¼ÓµÄÊý¾ÝÀàÐÍÈç¾ØÕó¿ÉÒÔÕýÈ·µØëçÖƺͻָ´¡£

    ·¢ÐÅÈË: mikky (ЦÎûÎû), ÐÅÇø: Python
    ±ê Ìâ: Re: ÖÐÎÄ£ºpython-tutorial
    ·¢ÐÅÕ¾: BBS ˮľÇ廪վ (Tue Mar 27 23:33:25 2001)

    µÚ°ËÕ ´íÎóÓëÀýÍâ
    µ½ÏÖÔÚΪֹÎÒÃÇÖ»ÊÇÌáµ½ÁË´íÎóÐÅÏ¢¶øûÓÐÏêϸÌÖÂÛ£¬Èç¹ûÄãÔËÐÐÁËÇ°ÃæµÄÀý×Ó¿ÉÄÜÒÑ
    ¾­¿´µ½ÁËһЩ´íÎóÐÅÏ¢¡£ÖÁÉÙÓÐÁ½ÖÖ²»Í¬´íÎ󣺾䷨´íºÍÀýÍâ´í£¨exceptions£©¡£
    8.1 ¾ä·¨´í
    ¡¡¾ä·¨´íÒ²³ÆΪÓï·¨·ÖÎö´í£¬ÊÇÄãÔÚѧϰPythonµÄʱºò×î¿ÉÄÜ·¸µÄ´íÎó¡£
    >>> while 1 print 'Hello world'
    File "<stdin>", line 1
    while 1 print 'Hello world'
    ^
    SyntaxError: invalid syntax
    Óï·¨·ÖÎöÆ÷Öظ´³ö´íÐУ¬²¢ÓÃÒ»¸öС¡®¼ýÍ·¡¯Ö¸ÏòÐÐÄÚ×îÔç·¢ÏÖ´íÎóµÄλÖᣴíÎóÊÇÓÉ
    ¼ýÍ·Ç°ÃæµÄ¼ÇºÅÒýÆðµÄ£¨ÖÁÉÙÊÇÔÚÕâÀï¼ì²âµ½µÄ£©¡£ÔÚ±¾ÀýÖУ¬´íÎóÔڹؼü×Öprint´¦¼ì
    ²âµ½£¬ÒòΪËüÇ°ÃæÓ¦¸ÃÓÐÒ»¸öðºÅ£¨¡°:¡±£©¡£´íÎóÐÅÏ¢ÖÐÏÔʾÁËÎļþÃûºÍÐкÅÕâÑùÈç¹û
    ´íÎó·¢ÉúÔÚÒ»¸ö½Å±¾ÎļþÖÐÄã¾ÍÖªµÀµ½ÄÄÀïÈ¥ÕÒ¡£
    8.2 ÀýÍâ
    ¼´Ê¹Óï¾ä»ò±í´ïʽ¾ä·¨Ã»ÓÐÎÊÌ⣬ÔÚÊÔͼÔËÐеÄʱºòÒ²¿ÉÄÜ·¢Éú´íÎó¡£ÔËÐÐʱ¼ì²âµ½µÄ
    ´íÎó½Ð×öÀýÍ⣬ÕâÖÖ´íÎó²»Ò»¶¨±ØÈ»ÊÇÖÂÃüµÄ£ºÄãºÜ¿ì¾Í»áѧµ½ÈçºÎÔÚPython³ÌÐòÖд¦
    ÀíÀýÍ⡣Ȼ¶ø£¬¶àÊýÀýÍâ²»Äܱ»³ÌÐò´¦Àí£¬ÕâÊÇ»á²úÉú´íÎóÐÅÏ¢£¬È磺
    >>> 10 * (1/0)
    Traceback (innermost last):
    File "<stdin>", line 1
    ZeroDivisionError: integer division or modulo
    >>> 4 + spam*3
    Traceback (innermost last):
    File "<stdin>", line 1
    NameError: spam
    >>> '2' + 2
    Traceback (innermost last):
    File "<stdin>", line 1
    TypeError: illegal argument type for built-in operation
    ´íÎóÐÅÏ¢µÄ×îºóÒ»ÐÐÏÔʾ·¢ÉúµÄÇé¿ö¡£ÀýÍâÓв»Í¬µÄÀàÐÍ£¬ÀàÐÍ×÷Ϊ´íÎóÐÅÏ¢µÄÒ»²¿·Ö
    ÏÔʾ£ºÉÏÀýÖдíÎóµÄÀàÐÍÓÐZeroDivisionError¡¢NameErrorºÍTypeError¡£×÷ΪÀýÍâÀàÐÍ
    ÏÔʾµÄ×Ö·û´®ÊÇ·¢ÉúµÄÀýÍâµÄÄÚÖÃÃû¡£Õâ¶ÔÓÚËùÓÐÄÚÖÃÀýÍâ³ÉÁ¢£¬µ«¶ÔÓû§×Ô¶¨ÒåÀýÍâ
    ²»Ò»¶¨³ÉÁ¢£¨Óû§×îºÃÄÜ×ñÊØÕâÑùµÄÔ¼¶¨£©¡£±ê×¼ÀýÍâÃûÊÇÄÚÖõıêʶ·û£¨²»ÊDZ£Áô¹Ø
    ¼ü×Ö£©¡£
    ´ËÐеÄÆäÓಿ·ÖÊÇ´íÎóµÄϸ½Ú£¬Æä½âÊÍÒÀÀµÓÚÀýÍâÀàÐÍ¡£´íÎóÐÅϢǰÃæµÄ²¿·ÖÒÔ¶ÑÕ»·´
    ¸ú×ÙµÄÐÎʽÏÔʾÁË·¢Éú´íÎóµÄÉÏÏÂÎÄ»·¾³¡£Ò»°ãÕâ°üº¬ÁËÁгöÔ´´úÂëÐеÄÒ»¸öÁгöÔ´³Ì
    ÐòÐеĶÑÕ»·´¸ú×Ù£»È»¶ø£¬Ëü²»»áÏÔʾ´Ó±ê×¼ÊäÈë¶Á½øµÄÐС£
    ¡¡¿â²Î¿¼ÊÖ²áÁгöÁËÄÚÖÃÀýÍâºÍÆ京Òå¡£¡¡
    8.3 ÀýÍâ´¦Àí
    ¡¡¿ÉÒÔ±à³ÌÐòÀ´´¦ÀíÑ¡¶¨µÄÀýÍâ¡£Çë¿´ÏÂÃæµÄÀý×Ó£¬ÏÔʾһЩ¸¡µãÊýµÄµ¹Êý£º
    >>> numbers = [0.3333, 2.5, 0, 10]
    >>> for x in numbers:
    ... print x,
    ... try:
    ... print 1.0 / x
    ... except ZeroDivisionError:
    ... print '*** has no inverse ***'
    ...
    0.3333 3.00030003
    2.5 0.4
    0 *** has no inverse ***
    10 0.1
    tryÓï¾äÊÇÕâÑù¹¤×÷µÄ£º
    Ê×ÏÈ£¬ÔËÐÐtry×Ӿ䣨ÔÚtryºÍexceptÖ®¼äµÄÓï¾ä£©¡£
    Èç¹ûûÓз¢ÉúÀýÍ⣬Ìø¹ýexcept×Ӿ䣬tryÓï¾äÔËÐÐÍê±Ï¡£
    Èç¹ûÔÚtry×Ó¾äÖз¢ÉúÁËÀýÍâ´íÎó¶øÇÒÀýÍâ´íÎóÆ¥ÅäexceptºóÖ¸¶¨µÄÀýÍâÃû£¬ÔòÌø¹ýtry
    ×Ó¾äʣϵIJ¿·Ö£¬Ö´ÐÐexcept×Ӿ䣬Ȼºó¼ÌÐøÖ´ÐÐtryÓï¾äºóÃæµÄ³ÌÐò¡£
    Èç¹ûÔÚtry×Ó¾äÖз¢ÉúÁËÀýÍâ´íÎóµ«ÊÇÀýÍâ´íÎó²»Æ¥ÅäexceptºóÖ¸¶¨µÄÀýÍâÃû£¬Ôò´ËÀýÍâ
    ±»´«¸øÍâ²ãµÄtryÓï¾ä¡£Èç¹ûûÓÐÕÒµ½Æ¥ÅäµÄ´¦Àí³ÌÐòÔò´ËÀýÍâ³Æ×÷ÊÇδ´¦ÀíÀýÍ⣬³ÌÐò
    Í£Ö¹ÔËÐУ¬ÏÔʾ´íÎóÐÅÏ¢¡£
    tryÓï¾ä¿ÉÒÔÓжà¸öexcept×Ӿ䣬Ϊ²»Í¬µÄÀýÍâÖ¸¶¨²»Í¬´¦Àí¡£ÖÁ¶àÖ»Ö´ÐÐÒ»¸ö´íÎó´¦Àí
    ³ÌÐò¡£´íÎó´¦Àí³ÌÐòÖ»´¦ÀíÏàÓ¦µÄtry×Ó¾äÖз¢ÉúµÄÀýÍ⣬Èç¹ûͬtryÓï¾äÖÐÆäËüµÄ´íÎó
    ´¦Àí³ÌÐòÖз¢ÉúÀýÍâ´íÎó´¦Àí³ÌÐò²»»á·´Ó¦¡£Ò»¸öexcept×Ó¾ä¿ÉÒÔÁгö¶à¸öÀýÍ⣬дÔÚ
    À¨ºÅÀïÓöººÅ·Ö¿ª£¬ÀýÈ磺
    ... except (RuntimeError, TypeError, NameError):
    ... pass
    ×îºóÒ»¸öexcept×Ó¾ä¿ÉÒÔÊ¡ÂÔÀýÍâÃû£¬×÷Ϊһ¸öͨÅäÏî¡£ÕâÖÖ·½·¨Òª½÷É÷ʹÓã¬ÒòΪÕâ
    ¿ÉÄܻᵼÖ³ÌÐòʵ¼ÊÒѳö´íÈ´·¢ÏÖ²»ÁË¡£
    try ... exceptÓï¾äÓÐÒ»¸ö¿ÉÑ¡µÄelse×Ӿ䣬ÈçÓеĻ°Òª·ÅÔÚËùÓÐexcept×Ó¾äÖ®ºó¡£el
    se µÄÒâ˼ÊÇûÓз¢ÉúÀýÍ⣬ÎÒÃÇ¿ÉÒÔ°Ñtry×Ó¾äÖÐûÓз¢ÉúÀýÍâʱҪ×öµÄÊÂÇé·ÅÔÚÕâ¸ö
    ×Ó¾äÀï¡£ÀýÈ磺
    for arg in sys.argv[1:]:
    try:
    f = open(arg, 'r')
    except IOError:
    print '²»ÄÜ´ò¿ª', arg
    else:
    print arg, 'ÓÐ', len(f.readlines()), 'ÐÐ'
    f.close()
    ÀýÍâ·¢Éúʱ¿ÉÄÜ°éÓÐÒ»¸öÖµ£¬½Ð×öÀýÍâµÄ²ÎÊý¡£²ÎÊýÊÇ·ñ´æÔÚ¼°ÆäÀàÐÍÒÀÀµÓÚÀýÍâµÄÀà
    ÐÍ¡£¶ÔÓÚÓвÎÊýµÄÀýÍ⣬exceptÔÚ×Ô¾Ó¿ÉÒÔÔÚÀýÍâÃû£¨»ò±í£©ºóÖ¸¶¨Ò»¸ö±äÁ¿ÓÃÀ´½ÓÊÜ
    ÀýÍâµÄ²ÎÊýÖµ£¬È磺
    >>> try:
    ... spam()
    ... except NameError, x:
    ... print 'name', x, 'undefined'
    ...
    name spam undefined
    ÓвÎÊýµÄÀýÍâδ´¦Àíʱ»áÔÚ´íÎóÐÅÏ¢µÄ×îºóϸ½Ú²¿·ÖÁгöÆä²ÎÊýÖµ¡£¡¡
    ÀýÍâ´¦Àí³ÌÐò²»½ö´¦ÀíÖ±½Ó²úÉúÓÚtry×Ó¾äÖеÄÀýÍ⣬Ҳ¿ÉÒÔ´¦Àítry×Ó¾äÖе÷Óõĺ¯Êý
    £¨ÉõÖÁÊǼä½Óµ÷Óõĺ¯Êý£©ÖеÄÀýÍâ¡£È磺
    >>> def this_fails():
    ... x = 1/0
    ...
    >>> try:
    ... this_fails()
    ... except ZeroDivisionError, detail:
    ... print 'Handling run-time error:', detail
    ...
    Handling run-time error: integer division or modulo
    8.4 ²úÉúÀýÍâ
    raiseÓï¾äÔÊÐí³ÌÐòԱǿÐвúÉúÖ¸¶¨µÄÀýÍâ¡£ÀýÈ磺
    >>> raise NameError, 'HiThere'
    Traceback (innermost last):
    File "<stdin>", line 1
    NameError: HiThere
    raiseÓï¾äµÄµÚÒ»¸ö²ÎÊýÖ¸¶¨Òª²úÉúµÄÀýÍâµÄÃû×Ö¡£¿ÉÑ¡µÄµÚ¶þ²ÎÊýÖ¸¶¨ÀýÍâµÄ²ÎÊý¡£¡¡

    8.5 Óû§×Ô¶¨ÒåÀýÍâ
    ³ÌÐòÖпÉÒÔ¶¨Òå×Ô¼ºµÄÀýÍ⣬ֻҪ°ÑÒ»¸ö×Ö·û´®¸³¸øÒ»¸ö±äÁ¿¼´¿É¡£ÀýÈ磺
    >>> my_exc = 'my_exc'
    >>> try:
    ... raise my_exc, 2*2
    ... except my_exc, val:
    ... print 'My exception occurred, value:', val
    ...
    My exception occurred, value: 4
    >>> raise my_exc, 1
    Traceback (innermost last):
    File "<stdin>", line 1
    my_exc: 1
    Ðí¶à±ê׼ģ¿éÓÃÕâÖÖ·½·¨±¨¸æ×Ô¼º¶¨ÒåµÄº¯ÊýÖз¢ÉúµÄ´íÎ󡣡¡
    8.6 ¶¨ÒåÇåÀí¶¯×÷
    ¡¡ tryÓï¾ä»¹ÓÐÁíÒ»¸öfinally¿ÉÑ¡×Ӿ䣬¿ÉÒÔÓÃÀ´¹æ¶¨²»ÂÛ³ö´íÓë·ñ¶¼ÒªÖ´ÐеĶ¯×÷¡£
    ÀýÈ磺
    >>> try:
    ... raise KeyboardInterrupt
    ... finally:
    ... print 'Goodbye, world!'
    ...
    Goodbye, world!
    Traceback (innermost last):
    File "<stdin>", line 2
    KeyboardInterrupt
    finally×Ӿ䲻ÂÛtry×Ó¾äÖÐÊÇ·ñ·¢ÉúÀýÍⶼ»áÖ´ÐС£ÀýÍâ·¢Éúʱ£¬ÏÈÖ´ÐÐfinally×Ó¾äÈ»
    ºóÖØÐÂÌá³ö¸ÃÀýÍâ¡£µ±tryÓï¾äÓÃbreak»òreturnÓï¾äÍ˳öʱҲ½«Ö´ÐÐfinally×Ӿ䡣
    ҪעÒâµÄÊÇ£¬tryÓï¾äÓÐÁËexcept×Ó¾ä¾Í²»ÄÜÓÐfinally×Ӿ䣬ÓÐÁËfinally×Ó¾ä¾Í²»ÄÜÓÐ
    except ×Ӿ䣬²»ÄÜͬʱʹÓÃexcept×Ó¾äºÍfinally×Ӿ䡣ÐèÒªµÄ»°¿ÉÒÔǶÌס£


    --

    ¡ù À´Ô´:¡¤BBS ˮľÇ廪վ smth.org¡¤[FROM: 202.112.255.153]



    By: wangxu ( ÍõÐñ )   À´×ÔBBS ˮľÇ廪վ [ reply ]     2003-04-28 11:28

    ±ê Ìâ: Re: ÖÐÎÄ£ºpython-tutorial
    ·¢ÐÅÕ¾: BBS ˮľÇ廪վ (Tue Mar 27 23:33:52 2001)

    µÚ¾ÅÕ Àà
    PythonÊÇÒ»¸öÕæÕýÃæÏò¶ÔÏóµÄÓïÑÔ£¬ËüÖ»Ôö¼ÓÁ˺ÜÉÙµÄÐÂÓï·¨¾ÍʵÏÖÁËÀà¡£ËüµÄÀà»úÖÆ
    ÊÇC++ ºÍModula-3µÄÀà»úÖƵĻìºÏ¡£PythonµÄÀಢ²»ÑϸñÏÞÖÆÓû§¶Ô¶¨ÒåµÄÐ޸ģ¬ËüÒÀ
    ÀµÓÚÓû§×Ô¾õ²»È¥Ð޸Ķ¨Ò塣Ȼ¶øPython¶ÔÀà×îÖØÒªµÄ¹¦Äܶ¼±£³ÖÁËÍêÈ«µÄÍþÁ¦¡£Àà¼Ì
    ³Ð»úÖÆÔÊÐí¶à¸ö»ùÀàµÄ¼Ì³Ð£¬µ¼³öÀà¿ÉÒÔÖØÔØ»ùÀàµÄÈκη½·¨£¬·½·¨¿ÉÒÔµ÷ÓûùÀàµÄͬ
    Ãû·½·¨¡£¶ÔÏó¿ÉÒÔ°üº¬ÈÎÒâ¶àµÄ˽ÓÐÊý¾Ý¡£
    ÓÃC++ÊõÓï˵£¬ËùÓÐÀà³ÉÔ±£¨°üÀ¨Êý¾Ý³ÉÔ±£©Êǹ«Óõģ¬ËùÓгÉÔ±º¯ÊýÊÇÐéÄâ(virtual)
    µÄ¡£Ã»ÓÐÌرðµÄ¹¹½¨º¯Êý»òÏú»Ùº¯Êý(destructor)¡£ÈçͬÔÚModula-3ÖÐÒ»Ñù£¬´Ó¶ÔÏóµÄ
    ·½·¨ÖÐÒªÒýÓöÔÏó³ÉԱûÓмò½ÝµÄ°ì·¨£º·½·¨º¯ÊýµÄ±ØÐëÒÔ¶ÔÏó×÷ΪµÚÒ»¸ö²ÎÊý£¬¶øÔÚ
    µ÷ÓÃʱÔò×Ô¶¯Ìṩ¡£ÏóÔÚSmalltalkÖÐÒ»Ñù£¬Àà±¾ÉíÒ²ÊǶÔÏó£¬Êµ¼ÊÉÏÕâÀï¶ÔÏóµÄº¬Òå±È
    ½Ï¿í£ºÔÚPython ÖÐËùÓеÄÊý¾ÝÀàÐͶ¼ÊǶÔÏó¡£ÏóÔÚC++»òModula-3ÖÐÒ»Ñù£¬ÄÚÖÃÀàÐͲ»
    ÄÜ×÷Ϊ»ùÀàÓÉÓû§½øÐÐÀ©Õ¹¡£²¢ÇÒ£¬ÏóC++µ«²»ÏóModula-3£¬¶àÊýÓÐÌØÊâÓï·¨µÄÄÚÖú¯Êý
    £¨ÈçËãÊõËã·û¡¢Ï±êµÈ£©¿ÉÒÔ×÷ΪÀà³ÉÔ±Öض¨Òå¡£
    9.1 ¹ØÓÚÊõÓï
    PythonµÄ¶ÔÏó¸ÅÄî±È½Ï¹ã·º£¬¶ÔÏó²»Ò»¶¨·ÇµÃÊÇÀàµÄʵÀý£¬ÒòΪÈçͬC++ºÍModula-3¶ø²»
    ͬÓÚSmalltalk£¬PythonµÄÊý¾ÝÀàÐͲ»¶¼ÊÇÀ࣬±ÈÈç»ù±¾ÄÚÖÃÀàÐÍÕûÊý¡¢ÁбíµÈ²»ÊÇÀ࣬
    ÉõÖÁ½Ï¹Å¹ÖµÄÀàÐÍÈçÎļþÒ²²»ÊÇÀࡣȻ¶ø£¬PythonËùÓеÄÊý¾ÝÀàÐͶ¼»ò¶à»òÉٵشøÓÐÒ»
    ЩÀàËƶÔÏóµÄÓï·¨¡£
    ¶ÔÏóÊÇÓе¥¶ÀÉí·ÝµÄ£¬Í¬Ò»¶ÔÏó¿ÉÒÔÓжà¸öÃû×ÖÓëÆäÁªÏµ£¬ÕâÔÚÆäËûÓïÑÔÖнÐ×ö±ðÃû¡£
    ÕâÑù×öµÄºÃ´¦Õ§Ò»¿´²¢²»Ã÷ÏÔ£¬¶øÇÒ¶ÔÓڷǿɱäÀàÐÍ(Êý×Ö¡¢×Ö·û´®¡¢Ðò±í(tuple))µÈû
    ÓÐʲô²î±ð¡£µ«ÊDZðÃû¾ä·¨¶ÔÓÚ°üº¬¿É±ä¶ÔÏóÈçÁÐ±í¡¢×ֵ估Éæ¼°³ÌÐòÍⲿÎï¼þÈçÎļþ
    ¡¢´°¿ÚµÄ³ÌÐòÓÐÓ°Ï죬Õâ¿ÉÒÔÓÐÀûÓÚ³ÌÐò±àÖÆ£¬ÒòΪ±ðÃûÓÐЩÀàËÆÖ¸Õ룺±ÈÈ磬´«µÝÒ»
    ¸ö¶ÔÏó±äµÃÈÝÒ×£¬ÒòΪÕâÖ»ÊÇ´«µÝÁËÒ»¸öÖ¸Õ룻Èç¹ûÒ»¸öº¯ÊýÐÞ¸ÄÁË×÷Ϊ²ÎÊý´«µÝÀ´µÄ
    ¶ÔÏó£¬Ð޸Ľá¹û¿ÉÒÔ´«µÝ»Øµ÷Óô¦¡£ÕâÑù¾Í²»±ØÏóPascalÄÇÑùʹÓÃÁ½ÖÖ²ÎÊý´«µÝ»úÖÆ¡£

    9.2 Python×÷ÓÃÓòÓëÃû×Ö¿Õ¼ä
    ÔÚÒýÈëÀà֮ǰ£¬ÎÒÃDZØÐë½²Ò»½²PythonµÄ×÷ÓÃÓò¹æÔò¡£ÀඨÒåºÜºÃµØÀûÓÃÁËÃû×ֿռ䣬
    ÐèÒªÁ˽âPythonÈçºÎ´¦Àí×÷ÓÃÓòºÍÃû×Ö¿Õ¼ä²ÅÄܳä·ÖÀí½âÀàµÄʹÓá£ÁíÍ⣬×÷ÓÃÓò¹æÔò
    Ò²ÊÇÒ»¸ö¸ß¼¶Python³ÌÐòÔ±±ØÐëÕÆÎÕµÄ֪ʶ¡£
    ¡¡Ïȸø³öһЩ¶¨Òå¡£
    Ãû×Ö¿Õ¼äÊÇ´ÓÃû×Öµ½¶ÔÏóµÄÓ³Éä¡£¶àÊýÃû×Ö¿Õ¼äÄ¿Ç°ÊÇÓÃPython×ÖµäÀàÐÍʵÏֵģ¬²»¹ý
    ÕâÒ»µãÒ»°ãÊÇ×¢Òâ²»µ½µÄ£¬¶øÇÒ½«À´¿ÉÄÜ»á¸Ä±ä¡£ÏÂÃæÊÇÃû×Ö¿Õ¼äµÄһЩʵÀý£ºPython
    ÖÐÄÚÖõÄÃû×Ö£¨Èçabs£¨£©µÈº¯Êý£¬ÒÔ¼°ÄÚÖõÄÀýÍâÃû£©£»Ä£¿éÖеÄÈ«¾ÖÃû£»º¯Êýµ÷ÓÃÖÐ
    µÄ¾Ö²¿±äÁ¿Ãû¡£ÔÚijÖÖÒâÒåÉÏÒ»¸ö¶ÔÏóµÄËùÓÐÊôÐÔÒ²¹¹³ÉÁËÒ»¸öÃû×ֿռ䡣¹ØÓÚÃû×Ö¿Õ
    ¼ä×îÖØÒªµÄÊÂÒªÖªµÀ²»Í¬Ãû×Ö¿Õ¼äµÄÃû×ÖûÓÐÈκÎÁªÏµ£»ÀýÈ磬Á½¸ö²»Í¬Ä£¿é¿ÉÄܶ¼¶¨
    ÒåÁËÒ»¸ö½Ð¡°maximize ¡±µÄº¯Êý¶ø²»»áÒýÆð»ìÂÒ£¬ÒòΪģ¿éµÄÓû§±ØÐëÔÚº¯ÊýÃû֮ǰ¼Ó
    ÉÏÄ£¿éÃû×÷ΪÐÞÊΡ£
    ÁíÍ⣬ÔÚPythonÖпÉÒÔ°ÑÈκÎÒ»¸öÔÚ¾äµãÖ®ºóµÄÃû×Ö³ÆΪÊôÐÔ£¬ÀýÈ磬ÔÚ±í´ïʽz.real
    ÖУ¬realÊÇÒ»¸ö¶ÔÏózµÄÊôÐÔ¡£ÑϸñµØ˵£¬¶ÔÄ£¿éÖеÄÃû×ÖµÄÒýÓÃÊÇÊôÐÔÒýÓãºÔÚ±í´ïʽ
    modname.funcname ÖУ¬modnameÊÇÒ»¸öÄ£¿é¶ÔÏó£¬funcnameÊÇËüµÄÒ»¸öÊôÐÔ¡£ÔÚÕâÖÖÇé
    ¿öÏÂÔÚÄ£¿éÊôÐÔÓëÄ£¿é¶¨ÒåµÄÈ«¾ÖÃû×ÖÖ®¼ä´æÔÚÒ»¸öÖ±½ÓµÄÓ³É䣺ËüÃÇʹÓÃÏàͬµÄÃû×Ö
    ¿Õ¼ä£¡
    ÊôÐÔ¿ÉÒÔÊÇÖ»¶ÁµÄÒ²¿ÉÒÔÊÇ¿ÉдµÄ¡£ÔÚÊôÐÔ¿ÉдµÄʱºò£¬¿ÉÒÔ¶ÔÊôÐÔ¸³Öµ¡£Ä£¿éÊôÐÔÊÇ
    ¿ÉдµÄ£ºÄã¿ÉÒÔд¡°modname.the_answer = 42¡±¡£¿ÉдÊôÐÔÒ²¿ÉÒÔÓÃdelÓï¾äÉÁ³ö£¬Èç
    ¡°del modname.the_answer¡±¡£
    Ãû×Ö¿Õ¼äÓ벻ͬʱ¿Ì´´½¨£¬Óв»Í¬µÄÉú´æÖÜÆÚ¡£°üº¬PythonÄÚÖÃÃû×ÖµÄÃû×ֿռ䵱Pyth
    on ½âÊͳÌÐò¿ªÊ¼Ê±±»´´½¨£¬¶øÇÒ²»»á±»É¾³ý¡£Ä£¿éµÄÈ«¾ÖÃû×ֿռ䵱ģ¿é¶¨Òå±»¶ÁÈëʱ
    ´´½¨£¬Ò»°ãÇé¿öÏÂÄ£¿éÃû×Ö¿Õ¼äÒ²Ò»Ö±´æÔÚµ½½âÊͳÌÐòÍ˳ö¡£ÓɽâÊͳÌÐòµÄ×²ãµ÷ÓÃ
    Ö´ÐеÄÓï¾ä£¬²»ÂÛÊÇ´ÓÒ»¸ö½Å±¾Îļþ¶ÁÈëµÄ»¹Êǽ»»¥ÊäÈëµÄ£¬¶¼ÊôÓÚÒ»¸ö½Ð×ö__main__
    µÄÄ£¿é£¬ËùÒÔÒ²´æÔÚÓÚ×Ô¼ºµÄÈ«¾ÖÃû×Ö¿Õ¼äÖ®ÖС££¨ÄÚÖÃÃû×Öʵ¼ÊÉÏÒ²´æÔÚÓÚÒ»¸öÄ£¿é
    ÖУ¬Õâ¸öÄ£¿é½Ð×ö__builtin__ £©¡£
    º¯ÊýµÄ¾Ö²¿Ãû×ֿռ䵱º¯Êý±»µ÷ÓÃʱ´´½¨£¬µ±º¯Êý·µ»Ø»òÕß²úÉúÁËÒ»¸ö²»ÄÜÔÚº¯ÊýÄÚ²¿
    ´¦ÀíµÄÀýÍâʱ±»É¾³ý¡££¨Êµ¼ÊÉÏ£¬ËµÊÇÍü¼ÇÁËÕâ¸öÃû×Ö¿Õ¼ä¸ü·ûºÏʵ¼Ê·¢ÉúµÄÇé¿ö¡££©
    µ±È»£¬µÝ¹éµ÷ÓÃÔÚÿ´ÎµÝ¹éÖÐÓÐ×Ô¼ºµÄ¾Ö²¿Ãû×ֿռ䡣
    Ò»¸ö×÷ÓÃÓòÊÇPython³ÌÐòÖеÄÒ»¸öÎı¾ÇøÓò£¬ÆäÖÐij¸öÃû×Ö¿Õ¼ä¿ÉÒÔÖ±½Ó·ÃÎÊ¡£¡°Ö±½Ó
    ·ÃÎÊ¡± ÕâÀïÖ¸µÄÊÇʹÓò»¼ÓÐÞÊεÄÃû×Ö¾ÍÖ±½ÓÕÒµ½Ãû×Ö¿Õ¼äÖеĶÔÏó¡£
    ËäÈ»×÷ÓÃÓòÊǾ²Ì¬¶¨ÒåµÄ£¬ÔÚʹÓÃʱ×÷ÓÃÓòÊǶ¯Ì¬µÄ¡£ÔÚÈκÎÔËÐÐʱ¿Ì£¬×ÜÊÇÇ¡ºÃÓÐÈý
    ¸ö×÷ÓÃÓòÔÚʹÓÃÖУ¨¼´Ç¡ºÃÓÐÈý¸öÃû×Ö¿Õ¼äÊÇÖ±½Ó¿É·ÃÎʵģ©£º×îÄÚ²ãµÄ×÷ÓÃÓò£¬×îÏÈ
    ±»ËÑË÷£¬°üº¬¾Ö²¿Ãû×Ö£»ÖвãµÄ×÷ÓÃÓò£¬Æä´Î±»ËÑË÷£¬°üº¬µ±Ç°Ä£¿éµÄÈ«¾ÖÃû×Ö£»×îÍâ
    ²ãµÄ×÷ÓÃÓò×îºó±»ËÑË÷£¬°üº¬ÄÚÖÃÃû×Ö¡£
    Ò»°ãÇé¿öÏ£¬¾Ö²¿×÷ÓÃÓòÒýÓõ±Ç°º¯ÊýµÄ¾Ö²¿Ãû×Ö£¬ÆäÖоֲ¿ÊÇÔ´³ÌÐòÎı¾ÒâÒåÉÏÀ´¿´
    µÄ¡£ÔÚº¯ÊýÍⲿ£¬¾Ö²¿×÷ÓÃÓòÓëÈ«¾Ö×÷ÓÃÓòʹÓÃÏàͬµÄÃû×ֿռ䣺ģ¿éµÄÃû×ֿռ䡣Àà
    ¶¨ÒåÔÚ¾Ö²¿×÷ÓÃÓòÖÐÓÖÔö¼ÓÁËÁíÒ»¸öÃû×ֿռ䡣
    Ò»¶¨Òª×¢Òâ×÷ÓÃÓòÊÇ°´ÕÕÔ´³ÌÐòÖеÄÎı¾Î»ÖÃÈ·¶¨µÄ£ºÄ£¿éÖж¨ÒåµÄº¯ÊýµÄÈ«¾Ö×÷ÓÃÓò
    ÊÇÄ£¿éµÄÃû×ֿռ䣬²»¹ÜÕâ¸öº¯ÊýÊÇ´ÓÄÄÀïµ÷ÓûòÕßÒÔʲôÃû×Öµ÷Óõġ£ÁíÒ»·½Ã棬¶Ô
    Ãû×ÖµÄËÑË÷È´ÊÇÔÚ³ÌÐòÔËÐÐÖж¯Ì¬½øÐеģ¬²»¹ý£¬PythonÓïÑԵĶ¨ÒåÒ²ÔÚÑݱ䣬½«À´¿É
    ÄÜ·¢Õ¹µ½¾²Ì¬Ãû×Ö½âÎö£¬ÔÚ¡°±àÒ롱ʱ£¬ËùÒÔ²»ÒªÒÀÀµÓÚ¶¯Ì¬Ãû×Ö½âÎö£¡£¨Êµ¼ÊÉÏ£¬¾Ö
    ²¿Ãû×ÖÒѾ­ÊǾ²Ì¬È·¶¨µÄÁË£©¡£
    PythonµÄÒ»¸öÌرðÖ®´¦ÊǸ³Öµ×ÜÊǽøÈë×îÄÚ²ã×÷ÓÃÓò¡£¹ØÓÚɾ³ýÒ²ÊÇÕâÑù£º¡°del x¡±´Ó
    ¾Ö²¿×÷ÓÃÓò¶ÔÓ¦µÄÃû×Ö¿Õ¼äÖÐɾ³ýxµÄÃû×ְ󶨣¨×¢ÒâÔÚPythonÖпÉÒÔ¶à¸öÃû×Ö¶ÔÓ¦Ò»¸ö
    ¶ÔÏó£¬ËùÒÔɾ³ýÒ»¸öÃû×ÖÖ»ÊÇɾ³ýÁËÕâ¸öÃû×ÖÓëÆä¶ÔÏó¼äµÄÁªÏµ¶ø²»Ò»¶¨É¾³ýÕâ¸ö¶ÔÏó
    ¡£Êµ¼ÊÉÏ£¬ËùÓÐÒýÈëÐÂÃû×ֵIJÙ×÷¶¼Ê¹Óþֲ¿×÷ÓÃÓò£ºÌرðµÄ£¬importÓï¾äºÍº¯Êý¶¨Òå
    °ÑÄ£¿éÃû»òº¯ÊýÃû°ó¶¨Èë¾Ö²¿×÷ÓÃÓò¡££¨¿ÉÒÔʹÓÃglobalÓï¾äÖ¸Ã÷ijЩ±äÁ¿ÊÇÊôÓÚÈ«¾Ö
    Ãû×Ö¿Õ¼äµÄ£©¡£
    9.3 ³õʶÀà
    ¡¡ÀàÒýÈëÁËһЩÐÂÓï·¨£¬ÈýÖÖжÔÏóÀàÐÍ£¬ÒÔ¼°Ò»Ð©ÐµÄÓïÒå¡£
    9.3.1 ÀඨÒåÓï·¨
    ¡¡ÀඨÒåµÄ×î¼òµ¥ÐÎʽÈçÏ£º
    class ˈ̞:
    <Óï¾ä-1>
    .
    .
    .
    <Óï¾ä-N>
    Èçͬº¯Êý¶¨Ò壨defÓï¾ä£©Ò»Ñù£¬ÀඨÒå±ØÐëÏÈÖ´ÐвÅÄÜÉúЧ¡££¨ÉõÖÁ¿ÉÒÔ°ÑÀඨÒå·ÅÔÚ
    if Óï¾äµÄÒ»¸ö·ÖÖ§Öлòº¯ÊýÖУ©¡£ÔÚʵ¼ÊʹÓÃʱ£¬ÀඨÒåÖеÄÓï¾äͨ³£ÊǺ¯Êý¶¨Ò壬Æä
    ËüÓï¾äÒ²ÊÇÔÊÐíµÄ£¬ÓÐʱÊÇÓÐÓõĨD¨DÎÒÃǺóÃæ»áÔÙÌáµ½ÕâÒ»µã¡£ÀàÄڵĺ¯Êý¶¨Òåͨ³£
    ¾ßÓÐÒ»ÖÖÌرðÐÎʽµÄ×Ô±äÁ¿±í£¬×¨ÓÃÓÚ·½·¨µÄµ÷ÓÃÔ¼¶¨¨D¨DÕâÒ»µãÒ²»áÔÚºóÃæÏêϸÌÖÂÛ
    ¡£
    ½øÈëÀඨÒåºó£¬²úÉúÁËÒ»¸öеÄÃû×ֿռ䣬±»ÓÃ×÷¾Ö²¿×÷ÓÃÓò¨D¨DÓÚÊÇ£¬ËùÓжԾֲ¿±ä
    Á¿µÄ¸³Öµ½øÈëÕâ¸öÐÂÃû×ֿռ䡣ÌرðµØ£¬º¯Êý¶¨Òå°Ñº¯ÊýÃûÓëк¯Êý°ó¶¨ÔÚÕâ¸öÃû×Ö¿Õ
    ¼ä¡£
    µ±º¯Êý¶¨ÒåÕý³£½áÊø£¨´Ó½áβÍ˳ö£©Ê±£¬¾ÍÉú³ÉÁËÒ»¸öÀà¶ÔÏó¡£Õâ»ù±¾ÉÏÊǽ«ÀඨÒåÉú
    ³ÉµÄÃû×Ö¿Õ¼ä°ü¹ü¶ø³ÉµÄÒ»¸ö¶ÔÏó£»ÎÒÃÇÔÚÏÂÒ»½Ú»áѧµ½Àà¶ÔÏóµÄ¸ü¶à֪ʶ¡£Ô­Ê¼µÄ¾Ö
    ²¿×÷ÓÃÓò£¨ÔÚ½øÈëÀඨÒå֮ǰÆð×÷ÓõÄÄǸö£©±»»Ö¸´£¬Àà¶ÔÏóÔÚÕâÀï±»°ó¶¨µ½ÁËÀà¶ÔÏó
    ¶¨ÒåÍ·²¿ËùÖ¸¶¨µÄÃû×Ö¡£
    9.3.2 Àà¶ÔÏó
    Àà¶ÔÏóÖ§³ÖÁ½ÖÖ²Ù×÷£ºÊôÐÔÒýÓúÍʵÀý»¯¡£ÊôÐÔÒýÓõĸñʽºÍPythonÖÐÆäËüµÄÊôÐÔÒýÓÃ
    ¸ñʽÏàͬ£¬¼´obj.name¡£ÓÐЧµÄÊôÐÔÃû°üÀ¨Éú³ÉÀà¶ÔÏóʱµÄÀàÃû×Ö¿Õ¼äÖÐËùÓеÄÃû×Ö¡£
    ËùÒÔ£¬Èç¹ûÏóÏÂÃæÕâÑù¶¨ÒåÀࣺ
    class MyClass:
    "A simple example class"
    i = 12345
    def f(x):
    return 'hello world'
    ÔòMyClass.iºÍMyClass.f¶¼ÊÇÓÐЧµÄÊôÐÔÒýÓ㬷ֱ𷵻ØÒ»¸öÕûÊýºÍÒ»¸öº¯Êý¶ÔÏó¡£Ò²
    ¿ÉÒÔ¶ÔÀàÊôÐÔ¸³Öµ£¬ËùÒÔÄã¿ÉÒÔ¶ÔMyClass.i¸³Öµ¶ø¸Ä±ä¸ÃÊôÐÔµÄÖµ¡£
    __doc__Ò²ÊÇÒ»¸öÓÐЧµÄÊôÐÔ£¬ËüÊÇÖ»¶ÁµÄ£¬·µ»ØÀàµÄÎĵµ×Ö·û´®£º¡°A simple exampl
    e class¡±¡£
    ÀàʵÀý»¯Ê¹Óú¯Êý¼ÇºÅ¡£Ö»Òª°ÑÕâ¸öÀà¶ÔÏó¿´³ÉÊÇÒ»¸öûÓÐ×Ô±äÁ¿µÄº¯Êý£¬·µ»ØÒ»¸öÀà
    ʵÀý¡£ÀýÈ磨¼ÙÉèʹÓÃÉÏÃæµÄÀࣩ£º
    x = MyClass()
    ¿ÉÒÔÉú³É¸ÃÀàµÄÒ»¸öÐÂʵÀý²¢°ÑʵÀý¶ÔÏ󸳸ø¾Ö²¿±äÁ¿x¡£¡¡
    9.3.3 ʵÀý¶ÔÏó
    ¡¡ÎÒÃÇÈçºÎʹÓÃʵÀý¶ÔÏóÄØ£¿ÀàʵÀýÖ»¶®µÃÊôÐÔÒýÓÃÕâÒ»ÖÖ²Ù×÷¡£ÓÐÁ½ÀàÓÐЧµÄÊôÐÔ¡£
    ¡¡
    µÚÒ»ÀàÊôÐÔ½Ð×öÊý¾ÝÊôÐÔ¡£Êý¾ÝÊôÐÔÏ൱ÓÚSmalltalkÖеġ°ÊµÀý±äÁ¿¡±£¬ºÍC++Öеġ°
    Êý¾Ý³ÉÔ±¡±¡£Êý¾Ý³ÉÔ±²»ÐèÒªÉùÃ÷£¬Ò²²»ÐèÒªÔÚÀඨÒåÖÐÒѾ­´æÔÚ£¬Ïó¾Ö²¿±äÁ¿Ò»Ñù£¬
    Ö»ÒªÒ»¸³ÖµËü¾Í²úÉúÁË¡£ÀýÈ磬Èç¹ûxÊÇÉÏÃæµÄMyClassÀàµÄÒ»¸öʵÀý£¬ÔòÏÂÃæµÄÀý×Ó½«
    ÏÔʾֵ16¶ø²»»áÁôÏÂÈκκۼ££º
    x.counter = 1
    while x.counter < 10:
    x.counter = x.counter * 2
    print x.counter
    del x.counter
    ÀàʵÀýÄÜÀí½âµÄµÚ¶þÀàÊôÐÔÒýÓÃÊÇ·½·¨¡£·½·¨ÊÇ¡°ÊôÓÚ¡±Ò»¸ö¶ÔÏóµÄº¯Êý¡££¨ÔÚPython
    ÖУ¬·½·¨²¢²»ÊÇÖ»ÓÃÓÚÀàʵÀýµÄ£ºÆäËü¶ÔÏóÀàÐÍÒ²¿ÉÒÔÓз½·¨£¬ÀýÈ磬Áбí¶ÔÏóÒ²ÓÐap
    pend¡¢insert ¡¢remove¡¢sortµÈ·½·¨¡£²»¹ý£¬ÔÚÕâÀï³ý·ÇÌرð˵Ã÷ÎÒÃÇÓ÷½·¨À´ÌØÖ¸Àà
    ʵÀý¶ÔÏóµÄ·½·¨£©¡£
    Àà¶ÔÏóµÄÓÐЧ·½·¨ÃûÒÀÀµÓÚËüµÄÀà¡£°´ÕÕ¶¨Ò壬ÀàµÄËùÓÐÀàÐÍΪº¯Êý¶ÔÏóÊôÐÔ¶¨ÒåÁËÆä
    ʵÀýµÄ¶ÔÓ¦·½·¨¡£ËùÒÔÔÚÎÒÃǵÄÀý×Óy£¬x.fÊÇÒ»¸öÓÐЧµÄ·½·¨ÒýÓã¬ÒòΪMyClassÊÇÒ»¸ö
    º¯Êý£»x.i ²»ÊÇ·½·¨ÒýÓã¬ÒòΪMyClass.i²»ÊÇ¡£µ«ÊÇx.fºÍMyClass.f²»ÊÇͬһ¸ö¶«Î÷¨D
    ¨Dx.fÊÇÒ»¸ö·½·¨¶ÔÏó¶ø²»ÊÇÒ»¸öº¯Êý¶ÔÏó¡£
    9.3.4 ·½·¨¶ÔÏó
    ¡¡·½·¨Ò»°ãÊÇÖ±½Óµ÷Óõģ¬ÀýÈ磺
    x.f()
    ÔÚÎÒÃǵÄÀý×ÓÖУ¬Õ⽫·µ»Ø×Ö·û´®¡®hello world¡¯¡£È»¶ø£¬Ò²¿ÉÒÔ²»Ö±½Óµ÷Ó÷½·¨£ºx
    .f ÊÇÒ»¸ö·½·¨¶ÔÏ󣬿ÉÒÔ°ÑËü±£´æÆðÀ´ÔÙµ÷Óá£ÀýÈ磺
    xf = x.f
    while 1:
    print xf()
    »á²»Í£µØÏÔʾ¡°hello world¡±¡£¡¡
    µ÷Ó÷½·¨Ê±µ½µ×·¢ÉúÁËʲôÄØ£¿Äã¿ÉÄÜÒѾ­×¢Òâµ½x.f()µ÷ÓÃûÓÐ×Ô±äÁ¿£¬¶øº¯ÊýfÔÚµ÷
    ÓÃʱÓÐÒ»¸ö×Ô±äÁ¿¡£ÄǸö×Ô±äÁ¿ÊÇÔõô»ØÊ£¿PythonÈç¹ûµ÷ÓÃÒ»¸öÐèÒª×Ô±äÁ¿µÄº¯Êýʱ
    ºöÂÔ×Ô±äÁ¿¿Ï¶¨»á²úÉúÀýÍâ´íÎó¨D¨D¼´Ê¹ÄǸö×Ô±äÁ¿²»ÐèÒªÓõ½¡­¡­
    ʵ¼ÊÉÏ£¬Äã¿ÉÒԲ³ö´ð°¸£º·½·¨Ó뺯ÊýµÄÇø±ðÔÚÓÚ¶ÔÏó×÷Ϊ·½·¨µÄµÚÒ»¸ö×Ô±äÁ¿×Ô¶¯´«
    µÝ¸ø·½·¨¡£ÔÚÎÒÃǵÄÀý×ÓÖУ¬µ÷ÓÃx.f()µÈ¼ÛÓÚµ÷ÓÃMyClass.f(x)¡£Ò»°ãµØ£¬ÓÃn¸ö×Ô±ä
    Á¿µÄÈ¥µ÷Ó÷½·¨µÈ¼ÛÓÚ°Ñ·½·¨ËùÊô¶ÔÏó²åÈëµ½µÚÒ»¸ö×Ô±äÁ¿Ç°ÃæÒÔºóµ÷ÓöÔÓ¦º¯Êý¡£
    Èç¹ûÄ㻹²»Àí½â·½·¨ÊÇÈçºÎ¹¤×÷µÄ£¬¿´Ò»¿´·½·¨µÄʵÏÖ¿ÉÄÜ»áÓÐËù°ïÖú¡£ÔÚÒýÓ÷ÇÊý¾Ý
    ÊôÐÔµÄʵÀýÊôÐÔʱ£¬½«ËÑË÷ËüµÄÀà¡£Èç¹û¸ÃÊôÐÔÃûÊÇÒ»¸öÓÐЧµÄº¯Êý¶ÔÏ󣬾ÍÉú³ÉÒ»¸ö
    ·½·¨¶ÔÏ󣬰ÑʵÀý¶ÔÏ󣨵ÄÖ¸Õ룩ºÍº¯Êý¶ÔÏó°ü×°µ½Ò»Æð£ºÕâ¾ÍÊÇ·½·¨¶ÔÏó¡£µ±·½·¨¶Ô
    ÏóÓÃÒ»¸ö×Ô±äÁ¿±íµ÷ÓÃʱ£¬ËüÔÙ±»´ò¿ª°ü×°£¬ÓÉʵÀý¶ÔÏóºÍÔ­×Ô±äÁ¿±í×éºÏÆðÀ´ÐγÉÐÂ
    ×Ô±äÁ¿±í£¬ÓÃÕâ¸öÐÂ×Ô±äÁ¿±íµ÷Óú¯Êý¡£
    9.4 һЩ˵Ã÷
    ÔÚÃû×ÖÏàͬʱÊý¾ÝÊôÐԻḲ¸Ç·½·¨ÊôÐÔ£»ÎªÁ˱ÜÃâżȻµÄÃû×Ö³åÍ»£¬ÕâÔÚ´óÐͳÌÐòÖлá
    Ôì³ÉÄÑÒÔ²éÕҵĴíÎó£¬×îºÃ°´Ä³ÖÖÃüÃû¹ßÀýÀ´Çø·Ö·½·¨ÃûºÍÊý¾ÝÃû£¬ÀýÈ磬ËùÓз½·¨Ãû
    Óôóд×Öĸ¿ªÍ·£¬ËùÓÐÊý¾ÝÊôÐÔÃûÇ°ÓÃÒ»¸öΨһµÄ×Ö·û´®¿ªÍ·£¨»òÕßÖ»ÊÇÒ»¸öÏ»®Ïߣ©
    £¬»ò·½·¨ÃûÓö¯´Ê¶øÊý¾ÝÃûÓÃÃû´Ê¡£
    Êý¾ÝÊôÐÔ¿ÉÒÔ±»·½·¨ÒýÓÃÒ²¿ÉÒÔ±»ÆÕͨÓû§£¨¡°¿Í»§¡±£©ÒýÓ᣻»¾ä»°Ëµ£¬À಻ÄÜÓÃÀ´
    ¹¹Ôì³éÏóÊý¾ÝÀàÐÍ¡£Êµ¼ÊÉÏ£¬PythonÖÐûÓÐÈκΰ취¿ÉÒÔÇ¿ÖƽøÐÐÊý¾ÝÒþ²Ø¡ª¡ªÕâЩ¶¼
    ÊÇ»ùÓÚ¹ßÀý¡££¨ÁíÒ»·½Ã棬PythonµÄʵÏÖÊÇÓÃCдµÄ£¬Ëü¿ÉÒÔÍêÈ«Òþ²ØʵÏÖϸ½Ú£¬±ØҪʱ
    ¿ÉÒÔ¿ØÖƶÔÏó´æÈ¡£»ÓÃCдµÄPythonÀ©Õ¹Ä£¿éÒ²ÓÐͬÑùÌØÐÔ£©¡£
    ¿Í»§Òª×Ô¼ºÐ¡ÐÄʹÓÃÊý¾ÝÊôÐÔ¡ª¡ª¿Í»§¿ÉÄÜ»áÒòΪËæÒâ¸ü¸ÄÀà¶ÔÏóµÄÊý¾ÝÊôÐÔ¶øÆÆ»µÓÉ
    Àà·½·¨Î¬»¤µÄÀàÊý¾ÝµÄÒ»ÖÂÐÔ¡£×¢Òâ¿Í»§Ö»Òª×¢Òâ±ÜÃâÃû×Ö³åÍ»¿ÉÒÔÈÎÒâΪʵÀý¶ÔÏóÔö
    ¼ÓÐÂÊý¾ÝÊôÐÔ¶ø²»ÐèÓ°Ïìµ½·½·¨µÄÓÐЧÐÔ¡ª¡ªÕâÀÓÐЧµÄÃüÃû¹ßÀý¿ÉÒÔÊ¡È¥Ðí¶àÂé·³
    ¡£
    ´Ó·½·¨ÄÚÒª·ÃÎʱ¾¶ÔÏóµÄÊý¾ÝÊôÐÔ£¨»òÆäËü·½·¨£©Ã»ÓÐÒ»¸ö¼òдµÄ°ì·¨¡£ÎÒÈÏΪÕâÊÂʵ
    ÉÏÔö¼ÓÁ˳ÌÐòµÄ¿É¶ÁÐÔ£ºÔÚ·½·¨¶¨ÒåÖв»»á»ìÏý¾Ö²¿±äÁ¿ºÍʵÀý±äÁ¿¡£
    Ï°¹ßÉÏ£¬·½·¨µÄµÚÒ»×Ô±äÁ¿½Ð×öself¡£ÕâÖ»²»¹ýÊÇÒ»¸öÏ°¹ßÓ÷¨£ºÃû×ÖselfÔÚPythonÖÐ
    ûÓÐÈκÎÌØÊâÒâÒå¡£µ«ÊÇ£¬ÒòΪÓû§¶¼Ê¹Óô˹ßÀý£¬ËùÒÔÎ¥±³´Ë¹ßÀý¿ÉÄÜʹÆäËüPython
    ³ÌÐòÔ±²»ÈÝÒ׶ÁÄãµÄ³ÌÐò£¬¿ÉÒÔÏëÏóijЩÀàä¯ÀÀ³ÌÐò»áÒÀÀµÓڴ˹ßÀý£©¡£
    ×÷ΪÀàÊôÐÔµÄÈκκ¯Êý¶ÔÏó¶¼Îª¸ÃÀàµÄʵÀý¶¨ÒåÒ»¸ö·½·¨¡£º¯ÊýµÄ¶¨Òå²»Ò»¶¨±ØÐëÔÚÀà
    ¶¨ÒåÄÚ²¿£ºÖ»ÒªÔÚÀàÄÚ°ÑÒ»¸öº¯Êý¶ÔÏ󸳸øÒ»¸ö¾Ö²¿±äÁ¿¾Í¿ÉÒÔÁË¡£ÀýÈ磺
    # Function defined outside the class
    def f1(self, x, y):
    return min(x, x+y)
    ¡¡
    class C:
    f = f1
    def g(self):
    return 'hello world'
    h = g
    ÏÖÔÚf¡¢gºÍh¶¼ÊÇÀàCµÄÊôÐÔÇÒÖ¸Ïòº¯Êý¶ÔÏó£¬ËùÒÔËüÃǶ¼ÊÇCµÄʵÀýµÄ·½·¨¡ª¡ªÆäÖÐhÓë
    g ÍêÈ«µÈ¼Û¡£×¢ÒâÎÒÃÇÓ¦¸Ã±ÜÃâÕâÖÖÓ÷¨ÒÔÃâÎ󵼶ÁÕß¡£
    ¡¡·½·¨¿ÉÒÔÓôú±íËùÊô¶ÔÏóµÄself×Ô±äÁ¿À´ÒýÓñ¾ÀàÆäËüµÄ·½·¨£¬È磺
    class Bag:
    def empty(self):
    self.data = []
    def add(self, x):
    self.data.append(x)
    def addtwice(self, x):
    self.add(x)
    self.add(x)
    ʵÀý»¯²Ù×÷£¨¡°µ÷Óá±Ò»¸öÀà¶ÔÏó£©Éú³ÉÒ»¸ö¿Õ¶ÔÏó¡£Ðí¶àÀàÒªÇóÉú³É¾ßÓÐÒÑÖª³õʶ״
    ̬µÄÀࡣΪ´Ë£¬Àà¿ÉÒÔ¶¨ÒåÒ»¸öÌØÊâµÄ½Ð×ö__init__()µÄ·½·¨£¬È磺
    def __init__(self):
    self.empty()
    Ò»¸öÀඨÒåÁË__init__()·½·¨ÒÔºó£¬ÀàʵÀý»¯Ê±¾Í»á×Ô¶¯ÎªÐÂÉú³ÉµÄÀàʵÀýµ÷Óõ÷ÓÃ__
    init__() ·½·¨¡£ËùÒÔÔÚBagÀý×ÓÖУ¬¿ÉÒÔÓÃÈçϳÌÐòÉú³Éеijõʼ»¯µÄʵÀý£º
    x = Bag()
    µ±È»£¬__init__()·½·¨¿ÉÒÔÓÐ×Ô±äÁ¿£¬ÕâÑù¿ÉÒÔʵÏÖ¸ü´óµÄÁé»îÐÔ¡£ÔÚÕâÑùµÄÇé¿öÏ£¬
    ÀàʵÀý»¯Ê±Ö¸¶¨µÄ×Ô±äÁ¿±»´«µÝ¸ø__init__()·½·¨¡£ÀýÈ磺
    >>> class Complex:
    ... def __init__(self, realpart, imagpart):
    ... self.r = realpart
    ... self.i = imagpart
    ...
    >>> x = Complex(3.0,-4.5)
    >>> x.r, x.i
    (3.0, -4.5)
    ·½·¨¿ÉÒÔºÍÆÕͨº¯ÊýÒ»ÑùµØÒýÓÃÈ«¾ÖÃû×Ö¡£·½·¨µÄÈ«¾Ö×÷ÓÃÓòÊÇ°üº¬ÀඨÒåµÄÄ£¿é¡££¨
    ×¢ÒâÀà±¾Éí²¢²»±»ÓÃ×÷È«¾Ö×÷ÓÃÓò£¡£©ËäÈ»ÎÒÃǺÜÉÙÐèÒªÔÚ·½·¨ÖÐʹÓÃÈ«¾ÖÊý¾Ý£¬È«¾Ö
    ×÷ÓÃÓò»¹ÊÇÓÐÐí¶àºÏ·¨µÄÓÃ;£ºÀýÈ磬µ¼ÈëÈ«¾Ö×÷ÓÃÓòµÄº¯ÊýºÍÄ£¿é¿ÉÒÔ±»·½·¨Ê¹Óã¬
    ÔÚͬһģ¿éÖж¨ÒåµÄº¯ÊýºÍ·½·¨Ò²¿ÉÒÔ±»·½·¨Ê¹Óᣰüº¬´Ë·½·¨µÄÀàÒ»°ãÒ²ÔÚ´ËÈ«¾Ö×÷
    ÓÃÓòÖж¨Ò壬ÏÂÒ»½ÚÎÒÃǻῴµ½Ò»¸ö·½·¨ÎªÊ²Ã´ÐèÒªÒýÓÃ×Ô¼ºµÄÀ࣡
    9.5 ¼Ì³Ð
    µ±È»£¬Ò»¸öÓïÑÔÈç¹û²»Ö§³Ö¼Ì³Ð¾Í̸²»µ½¡°Àࡱ¡£µ¼³öÀàµÄ¶¨Òå·½·¨ÈçÏ£º
    class µ¼³öÀàÃû(»ùÀàÃû):
    <Óï¾ä-1>
    .
    .
    .
    <Óï¾ä-N>
    ÆäÖС°»ùÀàÃû¡±±ØÐëÔÚ°üº¬µ¼³öÀඨÒåµÄ×÷ÓÃÓòÖÐÓж¨Òå¡£³ýÁ˸ø³ö»ùÀàÃûÍ⣬»¹¿ÉÒÔ
    ¸ø³öÒ»¸ö±í´ïʽ£¬ÔÚ»ùÀඨÒåÓÚÆäËüÄ£¿éÖÐʱÕâÊÇÓÐÓõģ¬È磺
    class µ¼³öÀàÃû (Ä£¿éÃû.»ùÀàÃû):
    µ¼³öÀඨÒåµÄÔËÐкͻùÀàÔËÐеķ½·¨ÊÇÒ»ÑùµÄ¡£Éú³ÉÀà¶ÔÏóÊÇ£¬»ùÀà±»¼ÇÒä¡£ÕâÓÃÓÚ½â
    ¾öÊôÐÔÒýÓãºÈç¹ûÀàÖÐδÕÒµ½ÒªÇóµÄÊôÐԾ͵½»ùÀàÖÐÈ¥²éÕÒ¡£Èç¹û»ùÀ໹ÓлùÀàµÄ»°Õâ
    ¸ö¹æÔòµÝ¹éµØÓ¦Óõ½¸ü¸ßµÄÀà¡£
    µ¼³öÀàÔÚʵÀý»¯Ê±Ã»ÓÐÈκÎÌØÊâ¹æÔò¡£¡°µ¼³öÀàÃû()¡±²úÉú¸ÃÀàµÄÒ»¸öÐÂʵÀý¡£·½·¨Òý
    ÓÃÕâÑù½â¾ö£ºËÑË÷ÏàÓ¦ÀàÊôÐÔ£¬Èç¹û±ØÒªµÄ»°Öð¼¶Ïò»ùÀà²éÕÒ£¬Èç¹ûÕÒµ½ÁËÒ»¸öº¯Êý¶Ô
    Ïó¾ÍÊÇÓÐЧµÄ·½·¨ÒýÓá£
    µ¼³öÀà¿ÉÒÔÖØд»ùÀàµÄ·½·¨¡£ÒòΪ·½·¨ÔÚµ÷ÓÃͬһ¶ÔÏóµÄÆäËü·½·¨Ê±²¢ÎÞÈκÎÌØÊâȨÏÞ
    £¬Èç¹û»ùÀàÖÐijһ·½·¨µ÷ÓÃͬһ»ùÀàµÄÁíÒ»·½·¨£¬ÔÚµ¼³öÀàÖи÷½·¨µ÷ÓõľͿÉÄÜÊÇÒÑ
    ¾­±»µ¼³öÀàÖØдºóµÄ·½·¨ÁË¡££¨¶ÔC£«£«³ÌÐòÔ±¶øÑÔ£ºPythonÖÐËùÓз½·¨¶¼ÊÇ¡°ÐéÄ⺯Êý
    ¡±£©¡£
    µ¼³öÀàÖÐÖØдµÄ·½·¨¿ÉÄÜÊÇÐèÒªÀ©³ä»ùÀàµÄͬÃû·½·¨¶ø²»ÊÇÍêÈ«´úÌæÔ­À´µÄ·½·¨¡£µ¼³ö
    Ààµ÷ÓûùÀàͬÃû·½·¨ºÜ¼òµ¥£º¡°»ùÀàÃû.·½·¨Ãû(self, ×Ô±äÁ¿±í)¡±¡£¶ÔÀàÓû§ÕâÖÖ×ö·¨
    ż¶ûÒ²ÊÇÓÐÓõġ££¨×¢ÒâÖ»ÓлùÀàÔÚͬһȫ¾Ö×÷ÓÃÓò¶¨Òå»òµ¼Èëʱ²ÅÄÜÕâÑùÓã©¡£
    8.5.1 ¶àÖؼ̳Ð
    PythonÒ²Ö§³ÖÓÐÏ޵ĶàÖؼ̳С£Óжà¸ö»ùÀàµÄÀඨÒå¸ñʽÈçÏ£º
    class µ¼³öÀàÃû (»ùÀà1, »ùÀà2, »ùÀà3):
    <Óï¾ä-1>
    .
    .
    .
    <Óï¾ä-N>
    ¹ØÓÚ¶àÖؼ̳ÐÖ»ÐèÒª½âÊÍÈçºÎ½â¾öÀàÊôÐÔÒýÓá£ÀàÊôÐÔÒýÓÃÊÇÉî¶ÈÓÅÏÈ£¬´Ó×óÏòÓÒ½øÐÐ
    µÄ¡£ËùÒÔ£¬Èç¹ûÔÚµ¼³öÀඨÒåÖÐδÕÒµ½Ä³¸öÊôÐÔ£¬¾ÍÏÈÔÚ»ùÀà1ÖвéÕÒ£¬È»ºó£¨µÝ¹éµØ£©
    ÔÚ»ùÀà1 µÄ»ùÀàÖвéÕÒ£¬Èç¹û¶¼Ã»ÓÐÕÒµ½£¬¾ÍÔÚ»ùÀà2ÖвéÕÒ£¬Èç´Ë½øÐÐÏÂÈ¥¡£
    £¨¶ÔijЩÈËÀ´Ëµ¿í¶ÈÓÅÏÈ¡ª¡ªÏÈÔÚ»ùÀà2ºÍ»ùÀà3ÖвéÕÒÔÙµ½»ùÀà1µÄ»ùÀàÖвéÕÒ¡ª¡ª¿´Æð
    À´¸ü×ÔÈ»¡£È»¶ø£¬ÕâÐèÒªÄãÔÚÈ·¶¨»ùÀà1Óë»ùÀà2µÄÊôÐÔ³åͻʱÃ÷È·ÖªµÀÕâ¸öÊôÐÔÊÇÔÚ»ù
    Àà1±¾Éí¶¨Ò廹ÊÇÔÚÆä»ùÀàÖж¨Òå¡£Éî¶ÈÓÅÏȹæÔò²»Çø·Ö»ùÀà1µÄÒ»¸öÊôÐÔµ½µ×ÊÇÖ±½Ó¶¨
    ÒåµÄ»¹ÊǼ̳ÐÀ´µÄ£©¡£
    ºÜÏÔÈ»£¬Èç¹û²»¼ÓÔ¼ÊøµØʹÓöàÖؼ̳лáÔì³É³ÌÐòά»¤µÄ¶ñÃΣ¬ÒòΪPython±ÜÃâÃû×Ö³å
    ͻֻ¿¿Ï°¹ßÔ¼¶¨¡£¶àÖؼ̳еÄÒ»¸öÖÚËùÖÜÖªµÄÎÊÌâÊǵ±µ¼³öÀàÓÐÁ½¸ö»ùÀàÇ¡ºÃ´Óͬһ¸ö
    »ùÀർ³öµÄ¡£¾¡¹ÜºÜÈÝÒ×Ïëµ½ÕâÖÖÇé¿öµÄºó¹û£¨ÊµÀýÖ»ÓÐÒ»·Ý¡°ÊµÀý±äÁ¿¡±»òÊý¾ÝÊôÐÔ
    ±»¹²Í¬µÄ»ùÀàʹÓã©£¬µ«ÊÇÕâÖÖ×ö·¨ÓÐʲôÓô¦È´ÊDz»Çå³þµÄ¡£
    9.6 ˽ÓбäÁ¿
    Python¶Ô˽ÓÐÀà³ÉÔ±Óв¿·ÖÖ§³Ö¡£ÈκÎÏó__spamÕâÑùÐÎʽµÄ±êʶ·û£¨ÖÁÉÙÓÐÁ½¸öÇ°µ¼ÏÂ
    »®Ïߣ¬ÖÁ¶àÓÐÒ»¸ö½áβÏ»®Ïߣ©Ä¿Ç°±»Ìæ»»³É_classname__spam£¬ÆäÖÐclassnameÊÇËùÊô
    ÀàÃûÈ¥µôÇ°µ¼Ï»®ÏߵĽá¹û¡£ÕâÖÖ½ÁÂÒ²»¹Ü±êʶ·ûµÄÓ﷨λÖã¬ËùÒÔ¿ÉÒÔÓÃÀ´¶¨ÒåÀà˽
    ÓеÄʵÀý¡¢±äÁ¿¡¢·½·¨£¬ÒÔ¼°È«¾Ö±äÁ¿£¬ÉõÖÁÓÚ±£´æ¶ÔÓÚ´ËÀàÊÇ˽ÓеÄÆäËüÀàµÄʵÀý¡£
    Èç¹û½ÁÂÒµÄÃû×Ö³¬¹ý255¸ö×Ö·û¿ÉÄܻᷢÉú½Ø¶Ï¡£ÔÚÀàÍâÃæ»òÀàÃûÖ»ÓÐÏ»®Ïßʱ²»½øÐнÁ
    ÂÒ¡£
    Ãû×Ö½ÁÂÒµÄÄ¿µÄÊǸøÀàÒ»ÖÖ¶¨Ò塰˽ÓС±ÊµÀý±äÁ¿ºÍ·½·¨µÄ¼òµ¥·½·¨£¬²»Ðèµ£ÐÄËüµÄÆä
    ËüÀà»á¶¨ÒåͬÃû±äÁ¿£¬Ò²²»ÅÂÀàÍâµÄ´úÂëŪÂÒʵÀýµÄ±äÁ¿¡£×¢Òâ½ÁÂÒ¹æÔòÖ÷ÒªÊÇΪÁ˱Ü
    ÃâżȻµÄ´íÎó£¬Èç¹ûÄãÒ»¶¨Ïë×öµÄ»°ÈÔÈ»¿ÉÒÔ·ÃÎÊ»òÐÞ¸Ä˽ÓбäÁ¿¡£ÕâÉõÖÁÊÇÓÐÓõģ¬
    ±ÈÈçµ÷ÊÔ³ÌÐòÒªÓõ½Ë½ÓбäÁ¿£¬ÕâÒ²ÊÇΪʲôÕâ¸ö©¶´Ã»ÓжÂÉϵÄÒ»¸öÔ­Òò¡££¨Ð¡´íÎó
    £ºµ¼³öÀàºÍ»ùÀàÈ¡ÏàͬµÄÃû×־ͿÉÒÔʹÓûùÀàµÄ˽ÓбäÁ¿£©¡£
    ×¢Òâ´«µÝ¸øexec£¬eval()»òevalfile()µÄ´úÂë²»»áÈÏΪµ÷ÓÃËüÃǵÄÀàµÄÀàÃûÊǵ±Ç°À࣬
    ÕâÓëglobalÓï¾äµÄÇé¿öÀàËÆ£¬globalµÄ×÷ÓþÖÏÞÓÚÒ»Æð×Ö½Ú±àÒëµÄ´úÂ롣ͬÑùµÄÏÞÖÆÒ²
    ÊÊÓÃÓÚgetattr() £¬setattr()ºÍdelattr()£¬ÒÔ¼°Ö±½Ó·ÃÎÊ__dict__µÄʱºò¡£
    ÏÂÃæÀý×ÓÖеÄÀàʵÏÖÁË×Ô¼ºµÄ__getattr__ºÍ__setattr__·½·¨£¬°ÑËùÓÐÊôÐÔ±£´æÔÚÒ»¸ö
    ˽ÓбäÁ¿ÖУ¬ÕâÔÚPythonµÄоɰ汾Öж¼ÊÇ¿ÉÐеģº
    class VirtualAttributes:
    __vdict = None
    __vdict_name = locals().keys()[0]
    def __init__(self):
    self.__dict__[self.__vdict_name] = {}
    def __getattr__(self, name):
    return self.__vdict[name]
    def __setattr__(self, name, value):
    self.__vdict[name] = value
    9.7 ²¹³ä
    ÓÐʱÎÒÃÇÏ£ÍûÓÐÒ»ÖÖÀàËÆPascalµÄ¡°record¡±»òCµÄ¡°struct¡±µÄÀàÐÍ£¬¿ÉÒ԰Ѽ¸¸öÓÐÃû
    µÄÊý¾ÝÏî×éºÏÔÚÒ»Æð¡£Ò»¸ö¿ÕÀà¿ÉÒԺܺõØÂú×ãÕâ¸öÐèÒª£¬È磺
    class Employee:
    pass
    ¡¡
    john = Employee() # Éú³ÉÒ»¸ö¿ÕÖ°Ô±¼Ç¼
    ¡¡
    # Ìî³ä¼Ç¼µÄ¸÷¸öÓò
    john.name = 'John Doe'
    john.dept = 'computer lab'
    john.salary = 1000
    Ò»¶ÎÐèÒªÒÔijÖÖ³éÏóÊý¾ÝÀàÐÍ×÷ΪÊäÈëµÄPython³ÌÐò¾­³£¿ÉÒÔ½ÓÊÜÒ»¸öÀà×÷ΪÊäÈ룬¸Ã
    ÀàÖ»ÊÇÄ£·ÂÁËÓ¦ÊäÈëµÄÊý¾ÝÀàÐ͵ķ½·¨¡£ÀýÈ磬Èç¹ûÄãÓÐÒ»¸öº¯ÊýÊÇÓÃÀ´¸ñʽ»¯Ò»¸öÎÄ
    ¼þ¶ÔÏóÖеÄÊý¾Ý£¬¾Í¿ÉÒ»¸ö¶¨ÒåÒ»¸ö¾ßÓз½·¨read()ºÍreadline()µÄÀ࣬¸ÃÀà¿ÉÒÔ²»´Ó
    ÎļþÊäÈë¶øÊÇ´ÓÒ»¸ö×Ö·û´®»º³åÇøÊäÈ룬°ÑÕâ¸öÀà×÷Ϊ×Ô±äÁ¿¡£
    ¡¡ÊµÀý·½·¨¶ÔÏóÒ²ÓÐÊôÐÔ£ºm.im_selfÊÇ·½·¨ËùÊôµÄʵÀý£¬m.im_funcÊÇ·½·¨¶ÔÓ¦µÄº¯Êý
    ¶ÔÏ󡣡¡
    9.7.1 ÀýÍâ¿ÉÒÔÊÇÀà
    Óû§×Ô¶¨ÒåµÄÀýÍâ³ýÁË¿ÉÒÔÊÇ×Ö·û´®¶ÔÏóÒÔÍ⻹¿ÉÒÔÊÇÀà¡£ÕâÑù¿ÉÒÔ¶¨Òå¿ÉÀ©³äµÄ·Ö²ã
    µÄÀàÀýÍâ½á¹¹¡£
    raiseÓï¾äÓÐÁ½ÖÖеÄÓÐЧ¸ñʽ£º
    raise Àà, ʵÀý
    ¡¡
    raise ʵÀý
    ÔÚµÚÒ»ÖÖÐÎʽÖУ¬¡°ÊµÀý¡±±ØÐëÊÇ¡°ÀࡱµÄʵÀý»ò¡°ÀࡱµÄµ¼³öÀàµÄʵÀý¡£µÚ¶þÖÖÐÎʽ
    ÊÇ
    raise instance.__class__, instance
    µÄ¼òд¡£exceptÓï¾ä³ýÁË¿ÉÒÔÁгö×Ö·û´®¶ÔÏóÍâÒ²¿ÉÒÔÁгöÀà¡£execpt×Ó¾äÖÐÁгöµÄÀà
    Èç¹ûÊÇ·¢ÉúµÄÀýÍâÀà»ò»ùÀàÔòÊÇÆ¥ÅäµÄ£¨·´¹ýÀ´²»¶Ô¡ª¡ªexceptÖÐÈç¹ûÊǵ¼³öÀà¶ø·¢Éú
    µÄÀýÍâÊôÓÚ»ùÀàʱÊDz»Æ¥ÅäµÄ£©¡£ÀýÈ磬ÏÂÃæµÄ³ÌÐò»áÏÔʾB¡¢C¡¢D£º
    class B:
    pass
    class C(B):
    pass
    class D(C):
    pass
    ¡¡
    for c in [B, C, D]:
    try:
    raise c()
    except D:
    print "D"
    except C:
    print "C"
    except B:
    print "B"
    ×¢ÒâÈç¹û°Ñexcept×Ó¾äµÄ´ÎÐòµßµ¹¹ýÀ´µÄ»°£¨¡°except B¡±·ÅÔÚ×îÇ°£©£¬³ÌÐò½«ÏÔʾB£¬
    B £¬B¡ª¡ªÒòΪµÚÒ»¸öÆ¥ÅäµÄexcept×Ӿ䱻Òý·¢¡£
    µ±Ã»Óд¦ÀíµÄÀýÍâÊÇÀàµÄʱºò£¬ÀàÃûÏÔʾÔÚ´íÎóÐÅÏ¢ÖУ¬ºóÃæ¸ú×ÅÒ»¸öðºÅºÍÒ»¸ö¿Õ¸ñ
    £¬×îºóÊÇʵÀýÓÃÄÚÖú¯Êýstr()ת»»³É×Ö·û´®µÄ½á¹û¡£

    µÚʮՠ½øÒ»²½Ñ§Ï°
    ¡¡Ï£Íûͨ¹ýÕâ¸öÈëÃſγ̵ÄѧϰÔöÇ¿ÁËÄã¶ÔʹÓÃPythonµÄÐËȤ¡£ÏÂÒ»²½Ôõô°ìÄØ£¿¡¡
    Äã¿ÉÒÔ½øÒ»²½È¥¶Á¡¶¿â²Î¿¼Êֲᡷ£¬¸ÃÊÖ²á¶ÔÀàÐÍ¡¢º¯Êý¡¢Ä£¿éµÈ¸ø³öÁËÍêÕûµÄ£¨¾¡¹Ü
    ±È½Ï¼ò¶Ì£©²Î¿¼²ÄÁÏ£¬¿ÉÒÔ½ÚÊ¡ÄãдPython³ÌÐòʱµÄ´óÁ¿Ê±¼ä¡£±ê×¼PythonÈí¼þ°üÀ¨ÁË
    ´óÁ¿µÄC ºÍPythonµÄ´úÂ룬ÓжÁÈ¡UnixÐÅÏäµÄ£¬ÓÃHTTP½ÓÊÕÎĵµµÄ£¬Éú³ÉËæ»úÊýµÄ£¬½â
    ÎöÃüÁîÐÐÑ¡ÏîµÄ£¬Ð´CGI³ÌÐòµÄ£¬Ñ¹ËõÊý¾ÝµÄ£¬µÈµÈÐí¶à¹¦ÄÜ£»´ÖÂÔ¿´Ò»¿´¿â²Î¿¼ÊÖ²á¾Í
    ¿ÉÒÔÖªµÀÓÐÄÇЩÄÚÈÝ¡£
    PythonµÄÖ÷ÍøÕ¾ÊÇhttp://www.python.org£¬ÕâÀïÓгÌÐò´úÂë¡¢Îĵµ¼°ÓÐPythonÏà¹ØµÄÆä /> ËüÍøÒ³µÄÐÅÏ¢¡£Õâ¸öÍøÕ¾ÔÚÊÀ½çÉÏÐí¶àµØ·½ÓоµÏñ£¬ÀýÈçÅ·ÖÞ¡¢ÈÕ±¾¡¢°Ä´óÀûÑÇ£¬·ÃÎÊ
    ¾àÀë½üµÄ¾µÏñÍøÕ¾¿ÉÄܱȷÃÎÊÖ÷ÍøÕ¾¿ì¡£»¹ÓÐÒ»¸ö·ÇÕýʽµÄÍøÕ¾ÊÇ
    http://starship.s /> kyport.net £¬°üº¬ÁËһϵÁÐÓйØPythonµÄ¸öÈËÍøÒ³£¬Ðí¶àÈËÔÚÕâÀï·ÅÁË¿ÉÏÂÔصÄÈí¼þ¡£

    ¶ÔÓÚ¹ØÓÚPythonµÄÎÊÌâ¼°´íÎ󱨸棬¿ÉÒÔÏòcomp.lang.pythonÐÂÎÅ×éͶ¸å£¬»òÏòpython
    [email protected] Óʼþ±í·¢Óʼþ¡£¸ÃÐÂÎÅ×éºÍÓʼþ±íÊÇ»¥Ïàת·¢µÄ£¬ËùÒÔÏòÆäÖÐÒ»¸ö·¢ÐÅ»á
    ×Ô¶¯×ª¼Äµ½ÁíÒ»¸ö¡£Ã¿ÌìÓÐ35£­45·ÝÓʼþ£¬ÓÐÎÊ£¨´ð£©ÎÊÌâµÄ¡¢½¨Òéй¦Äܵġ¢ÉùÃ÷ÐÂ
    Ä£¿éµÄ¡£ÔÚ·¢ÐÅÇ°Ó¦¸ÃÏȲéÔÄ http://www.python.org/doc/FAQ.html´¦µÄ³£¼ûÎÊÌâ±í /> £¨FAQ£©£¬»òÔÚPythonÈí¼þµÄMisc/ ×ÓĿ¼ÖÐÑ°ÕÒ¸ÃÎļþ¡£¸ÃFAQ»Ø´ðÁËÐí¶à·´¸´³öÏÖµÄ
    ÎÊÌ⣬¿ÉÄÜÒѾ­ÓÐÁËÄãµÄÎÊÌâµÄ´ð°¸¡£
    Äã¿ÉÒÔͨ¹ý¼ÓÈëPythonÈí¼þ»î¶¯À´Ö§³ÖPythonÍÅÌ壬¸ÃÍÅÌ帺Ôðpython.orgÍøÕ¾¡¢ftpºÍ
    µç×ÓÓʼþ·þÎñÆ÷£¬²¢×éÖ¯PythonÑÐÌÖ°à¡£¹ØÓÚÈçºÎ¼ÓÈë²Î¼û
    http://www.python.org/p /> sa/¡£
    ]

   

 

×·Ìù:

[µÇ¼]ºó·½¿É·¢Ìù


  » ºÏ ×÷ »ï °é