Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Python¿ª·¢±àÂë¹æ·¶
 
ת×ÔÍøÂ磬»ðÁú¹ûÈí¼þ    ·¢²¼ÓÚ 2015-1-15
  3091  次浏览      27
 

ÕâÆªÎĵµËù¸ø³öµÄ±àÂëÔ¼¶¨ÊÊÓÃÓÚÔÚÖ÷ÒªµÄPython·¢²¼°æ±¾ÖÐ×é³É±ê×¼¿âµÄPython´úÂ룬Çë²éÔÄÏà¹ØµÄ¹ØÓÚÔÚPythonµÄCʵÏÖÖÐC´úÂë·ç¸ñÖ¸ÄϵÄÃèÊö¡£

ÕâÆªÎĵµ¸Ä±à×ÔGuido×î³õµÄ¡¶Python·ç¸ñÖ¸ÄÏ¡·Ò»ÎÄ£¬²¢´Ó¡¶Barry's style guide¡·ÖÐÌí¼ÓÁ˲¿·ÖÄÚÈÝ¡£ÔÚÓгåÍ»µÄµØ·½£¬GuideµÄ·ç¸ñ¹æÔòÓ¦¸ÃÊÇ·ûºÏ±¾PEPµÄÒâͼ(Òë×¢£ºÖ¸µ±Óгåͻʱ£¬Ó¦ÒÔGuido·ç¸ñΪ׼)¡£ÕâÆªPEPÈÔÈ»ÉÐδÍê³É(ʵ¼ÊÉÏ£¬Ëü¿ÉÄÜÓÀÔ¶¶¼²»»áÍê³É)¡£

ÔÚÕâÆª·ç¸ñÖ¸µ¼ÖеÄÒ»ÖÂÐÔÊÇÖØÒªµÄ¡£ÔÚÒ»¸öÏîÄ¿ÄÚµÄÒ»ÖÂÐÔ¸üÖØÒª¡£ÔÚÒ»¸öÄ£¿é»òº¯ÊýÄÚµÄÒ»ÖÂÐÔ×îÖØÒª¡£µ«×îÖØÒªµÄÊÇ£ºÖªµÀºÎʱ»á²»Ò»Ö——ÓÐʱֻÊÇûÓÐʵʩ·ç¸ñÖ¸µ¼¡£µ±³öÏÖÒÉ»óʱ£¬ÔËÓÃÄãµÄ×î¼ÑÅжϣ¬¿´¿´±ðµÄÀý×Ó£¬È»ºó¾ö¶¨ÔõÑù¿´ÆðÀ´¸üºÃ¡£²¢ÇÒÒª²»³ÜÏÂÎÊ£¡

´òÆÆÒ»Ìõ¼È¶¨¹æÔòµÄÁ½¸öºÃÀíÓÉ£º

(1)µ±Ó¦ÓÃÕâ¸ö¹æÔòÊǽ«µ¼Ö´úÂë¿É¶ÁÐÔϽµ£¬¼´±ã¶ÔijÈËÀ´Ëµ£¬ËûÒѾ­Ï°¹ßÓÚ°´ÕâÌõ¹æÔòÀ´ÔĶÁ´úÂëÁË¡£

(2)ΪÁ˺ÍÖÜΧµÄ´úÂë±£³ÖÒ»Ö¶ø´òÆÆ¹æÔò(Ò²ÐíÊÇÀúÊ·Ô­Òò)£¬ËäÈ»ÕâÒ²ÊǸöÇå³ýÆäËü»ìÂҵĺûú»á(ÕæÕýµÄXP·ç¸ñ)¡£

´úÂëµÄ²¼¾Ö

Ëõ½ø

ʹÓÃEmacsµÄPython-modeµÄĬÈÏÖµ£º4¸ö¿Õ¸ñÒ»¸öËõ½ø²ã´Î¡£¶ÔÓÚȷʵ¹ÅÀϵĴúÂ룬Ä㲻ϣÍû²úÉú»ìÂÒ£¬¿ÉÒÔ¼ÌÐøÊ¹ÓÃ8¿Õ¸ñµÄÖÆ±í·û(8-space tabs)¡£Emacs Python-mode×Ô¶¯·¢ÏÖÎļþÖÐÖ÷ÒªµÄËõ½ø²ã´Î£¬ÒÀ´ËÉ趨Ëõ½ø²ÎÊý¡£

ÖÆ±í·û»¹Êǿոñ

ÓÀÔ¶²»Òª»ìÓÃÖÆ±í·ûºÍ¿Õ¸ñ¡£×îÁ÷ÐеÄPythonËõ½ø·½Ê½ÊǽöʹÓÿոñ£¬Æä´ÎÊǽöʹÓÃÖÆ±í·û£¬»ìºÏ×ÅÖÆ±í·ûºÍ¿Õ¸ñËõ½øµÄ´úÂ뽫±»×ª»»³É½öʹÓÿոñ¡£(ÔÚEmacsÖУ¬Ñ¡ÖÐÕû¸ö»º³åÇø£¬°´ESC-xÈ¥³ýÖÆ±í·û¡£)µ÷ÓÃPythonÃüÁîÐнâÊÍÆ÷ʱʹÓÃ-tÑ¡Ï¿É¶Ô´úÂëÖв»ºÏ·¨µÃ»ìºÏÖÆ±í·ûºÍ¿Õ¸ñ·¢³ö¾¯¸æ£¬Ê¹ÓÃ-ttʱ¾¯¸æ½«±ä³É´íÎó¡£ÕâЩѡÏîÊDZ»¸ß¶ÈÍÆ¼öµÄ¡£

¶ÔÓÚеÄÏîÄ¿£¬Ç¿ÁÒÍÆ¼ö½öʹÓÿոñ¶ø²»ÊÇÖÆ±í·û¡£Ðí¶à±à¼­Æ÷ÓµÓÐʹ֮Ò×ÓÚʵÏֵŦÄÜ(ÔÚEmacsÖУ¬È·ÈÏindent-tabs-modeÊÇnil)¡£

ÐеÄ×î´ó³¤¶È

ÖÜΧÈÔÈ»ÓÐÐí¶àÉ豸±»ÏÞÖÆÔÚÿÐÐ80×Ö·û£º¶øÇÒ£¬´°¿ÚÏÞÖÆÔÚ80¸ö×Ö·û¡£Ê¹½«¶à¸ö´°¿Ú²¢ÅÅ·ÅÖóÉΪ¿ÉÄÜ¡£ÔÚÕâЩÉ豸ÉÏʹÓÃĬÈϵÄÕÛµþ·½Ê½¿´ÆðÀ´Óеã³óª¡£Òò´Ë£¬Ç뽫ËùÓÐÐÐÏÞÖÆÔÚ×î´ó79×Ö·û(Emacs׼ȷµÃ½«ÐÐÏÞÖÆÎª³¤80×Ö·û)£¬¶Ô˳ÐòÅŷŵĴó¿éÎı¾(Îĵµ×Ö·û´®»ò×¢ÊÍ)£¬ÍƼö½«³¤¶ÈÏÞÖÆÔÚ72×Ö·û¡£

ÕÛµþ³¤ÐеÄÊ×Ñ¡·½·¨ÊÇʹÓÃPyhonÖ§³ÖµÄÔ²À¨ºÅ£¬·½À¨ºÅºÍ»¨À¨ºÅÄÚµÄÐÐÑÓÐø¡£Èç¹ûÐèÒª£¬Äã¿ÉÒÔÔÚ±í´ïʽÖÜΧÔö¼ÓÒ»¶Ô¶îÍâµÄÔ²À¨ºÅ£¬µ«ÊÇÓÐʱʹÓ÷´Ð±¸Ü¿´ÆðÀ´¸üºÃ£¬È·ÈÏÇ¡µ±µÃËõ½øÁËÑÓÐøµÄÐС£

EmacsµÄPython-modeÕýÈ·µÃÍê³ÉÁËÕâЩ¡£Ò»Ð©Àý×Ó£º

#!Python

    class Rectangle(Blob)£º

        def __init__(self£¬width£¬height£¬color='black'£¬emphasis=None£¬highlight=0)£º

            if width == 0 and height == 0 and \

               color == 'red' and emphasis == 'strong' or \

               highlight > 100£º

                raise ValueError£¬ "sorry£¬ you lose"

            if width == 0 and height == 0 and (color == 'red' or

                                               emphasis is None)£º

                raise ValueError£¬"I don't think so"

            Blob.__init__(self£¬width£¬height£¬color£¬emphasis£¬highlight)

¿ÕÐÐ

ÓÃÁ½ÐпÕÐзָ²ãº¯ÊýºÍÀàµÄ¶¨Ò壬ÀàÄÚ·½·¨µÄ¶¨ÒåÓõ¥¸ö¿ÕÐзָ¶îÍâµÄ¿ÕÐпɱ»ÓÃÓÚ(±£ÊصÄ)·Ö¸îÏà¹Øº¯Êý×é³ÉµÄȺ£¬ÔÚÒ»×éÏà¹ØµÄµ¥¾äÖмä¿ÉÒÔÊ¡ÂÔ¿ÕÐС£(ÀýÈ磺һ×éÑÆÔªËØ)¡£

µ±¿ÕÐÐÓÃÓڷָ·¨µÄ¶¨Òåʱ£¬ÔÚ‘class’Ðк͵ÚÒ»¸ö·½·¨¶¨ÒåÖ®¼äÒ²ÒªÓÐÒ»¸ö¿ÕÐС£ÔÚº¯ÊýÖÐʹÓÿÕÐÐʱ£¬Çë½÷É÷µÄÓÃÓÚ±íʾһ¸öÂß¼­¶ÎÂä¡£Python½ÓÊÜcontol-L(¼´^L)»»Ò³·û×÷Ϊ¿Õ¸ñ£ºEmacs(ºÍһЩ´òÓ¡¹¤¾ß)£¬ÊÓÕâ¸ö×Ö·ûÎªÒ³Ãæ·Ö¸î·û£¬Òò´ËÔÚÄãµÄÎļþÖУ¬¿ÉÒÔÓÃËûÃÇÀ´ÎªÏà¹ØÆ¬¶Î·ÖÒ³¡£

±àÂë

PythonºËÐÄ·¢²¼ÖеĴúÂë±ØÐëʼÖÕʹÓÃASCII»òLatin-1±àÂë(ÓÖÃû ISO-8859-1)£¬Ê¹ÓÃASCIIµÄÎļþ²»±ØÓбàÂëcookie£¬Latin-1½öµ±×¢ÊÍ»òÎĵµ×Ö·û´®Éæ¼°×÷ÕßÃû×ÖÐèÒªLatin-1ʱ²Å±»Ê¹Óãº

ÁíÍâʹÓÃ\xתÒå×Ö·ûÊÇÔÚ×Ö·û´®Öаüº¬·ÇASCII(non-ASCII)Êý¾ÝµÄÊ×Ñ¡·½·¨¡£

×÷ΪPEP 263ʵÏÖ´úÂëµÄ²âÊÔÌ×¼þµÄ²¿·ÖÎļþÊǸöÀýÍâ¡£

µ¼Èë

ͨ³£Ó¦¸ÃÔÚµ¥¶ÀµÄÐÐÖе¼Èë(Imports)£¬ÀýÈ磺

No£ºimport sys£¬ os

Yes£ºimport sys

        import os

µ«ÊÇÕâÑùÒ²ÊÇ¿ÉÒԵģº

    from types import StringType£¬ ListType

    Imports Í¨³£±»·ÅÖÃÔÚÎļþµÄ¶¥²¿£¬½öÔÚÄ£¿é×¢ÊͺÍÎĵµ×Ö·û´®Ö®ºó£¬ÔÚÄ£¿éµÄÈ«¾Ö±äÁ¿ºÍ³£Á¿Ö®Ç°¡£ImportsÓ¦¸ÃÓÐ˳ÐòµØ³É×é°²·Å£º

1¡¢±ê×¼¿âµÄµ¼Èë(Imports )

2¡¢Ïà¹ØµÄÖ÷°ü(major package)µÄµ¼Èë(¼´£¬ËùÓеÄemail°üÔÚËæºóµ¼Èë)

3¡¢Ìض¨Ó¦Óõĵ¼Èë(imports)

ÄãÓ¦¸ÃÔÚÿ×éµ¼ÈëÖ®¼ä·ÅÖÃÒ»¸ö¿ÕÐУ¬¶ÔÓÚÄÚ²¿°üµÄµ¼ÈëÊDz»ÍƼöʹÓÃÏà¶Ôµ¼ÈëµÄ£¬¶ÔËùÓе¼È붼ҪʹÓðüµÄ¾ø¶Ô·¾¶¡£

´ÓÒ»¸ö°üº¬ÀàµÄÄ£¿éÖе¼ÈëÀàʱ£¬Í¨³£¿ÉÒÔд³ÉÕâÑù£º

        from MyClass import MyClass

        from foo.bar.YourClass import YourClass

Èç¹ûÕâÑùдµ¼ÖÂÁ˱¾µØÃû×Ö³åÍ»£¬ÄÇô¾ÍÕâÑùд

        import MyClass

        import foo.bar.YourClass

¼´Ê¹ÓÃ"MyClass.MyClass"ºÍ"foo.bar.YourClass.YourClass"

±í´ïʽºÍÓï¾äÖеĿոñ

Guido²»Ï²»¶ÔÚÒÔϵط½³öÏÖ¿Õ¸ñ£º

½ô°¤×ÅÔ²À¨ºÅ£¬·½À¨ºÅºÍ»¨À¨ºÅµÄ£¬È磺"spam( ham[ 1 ]£¬{ eggs£º2 } )"¡£ÒªÊ¼ÖÕ½«Ëüд³É"spam(ham[1]£¬{eggs£º 2})"¡£

½ôÌùÔÚ¶ººÅ£¬·ÖºÅ»òðºÅǰµÄ£¬È磺

      "if x == 4£ºprint x£¬y£ºx£¬y = y£¬x"¡£ÒªÊ¼ÖÕ½«Ëüд³É

      "if x == 4£ºprint x£¬y£ºx£¬y = y£¬x"¡£

½ôÌùן¯Êýµ÷ÓõIJÎÊýÁбíǰ¿ªÊ½À¨ºÅ(open parenthesis )µÄ£¬Èç"spam (1)"¡£ÒªÊ¼ÖÕ½«Ëüд³É"spam(1)"¡£

½ôÌùÔÚË÷Òý»òÇÐÆ¬£¬¿ªÊ¼µÄ¿ªÊ½À¨ºÅǰµÄ£¬È磺

     "dict ['key'] = list [index]"¡£ÒªÊ¼ÖÕ½«Ëüд³É"dict['key'] = list[index]"¡£

ÔÚ¸³Öµ(»òÆäËü)ÔËËã·ûÖÜΧµÄÓÃÓÚºÍÆäËü²¢ÅŵÄÒ»¸öÒÔÉϵĿոñ£¬È磺

#!Python

          x= 1

          y= 2

          long_variable = 3

ҪʼÖÕ½«Ëüд³É

#!Python

         x = 1

         y = 2

         long_variable = 3

(²»Òª¶ÔÒÔÉÏÈÎÒâÒ»ÌõºÍËûÕùÂÛ——Guido Ñø³ÉÕâÑùµÄ·ç¸ñ³¬¹ý20ÄêÁË¡£)

ÆäËü½¨Òé

ʼÖÕÔÚÕâЩ¶þÔªÔËËã·ûÁ½±ß·ÅÖÃÒ»¸ö¿Õ¸ñ£º¸³Öµ(=)£¬ ±È½Ï(==£¬<£¬>£¬!=£¬<>£¬<=£¬      >=£¬in£¬not in£¬is£¬is not)£¬²¼¶ûÔËËã (and£¬or£¬not)¡£

°´ÄãµÄ¿´·¨ÔÚËãÊõÔËËã·ûÖÜΧ²åÈë¿Õ¸ñ¡£ Ê¼ÖÕ±£³Ö¶þÔªÔËËã·ûÁ½±ß¿Õ¸ñµÄÒ»Ö¡£

һЩÀý×Ó£º

#!Python

          i = i+1

          submitted = submitted + 1

          x = x*2 - 1

          hypot2 = x*x + y*y

          c = (a+b) * (a-b)

          c = (a + b) * (a - b)

²»ÒªÔÚÓÃÓÚÖ¸¶¨¹Ø¼ü×Ö²ÎÊý»òĬÈϲÎÊýÖµµÄ'='ºÅÖÜΧʹÓÿոñ£¬ÀýÈ磺

#!Python

          def complex(real£¬ imag=0¡£0)£º

              return magic(r=real£¬ i=imag)

²»Òª½«¶àÌõÓï¾äдÔÚͬһÐÐÉÏ£º

          No£º if foo == 'blah'£ºdo_blah_thing()

          Yes£ºif foo == 'blah'£º

                   do_blah_thing()

 

          No£ºdo_one()£ºdo_two()£ºdo_three()

          Yes£º do_one()

               do_two()

               do_three()

×¢ÊÍ

ͬ´úÂë²»Ò»ÖµÄ×¢ÊͱÈûעÊ͸ü²î¡£µ±´úÂëÐÞ¸Äʱ£¬Ê¼ÖÕÓÅÏȸüÐÂ×¢ÊÍ!×¢ÊÍÓ¦¸ÃÊÇÍêÕûµÄ¾ä×Ó£¬Èç¹û×¢ÊÍÊÇÒ»¸ö¶ÌÓï»ò¾ä×Ó£¬Ê××ÖĸӦ¸Ã´óд£¬³ý·ÇËûÊÇÒ»¸öÒÔСд×Öĸ¿ªÍ·µÄ±êʶ·û(ÓÀÔ¶²»ÒªÐ޸ıêʶ·ûµÄ´óСд)¡£

Èç¹û×¢Êͺ̣ܶ¬×îºÃÊ¡ÂÔĩβµÄ¾äºÅ¡£×¢ÊÍ¿éͨ³£ÓÉÒ»¸ö»ò¶à¸öÓÉÍêÕû¾ä×Ó¹¹³ÉµÄ¶ÎÂä×é³É£¬Ã¿¸ö¾ä×ÓÓ¦¸ÃÒÔ¾äºÅ½áβ¡£ÄãÓ¦¸ÃÔÚ¾äÄ©£¬¾äºÅºóʹÓÃÁ½¸ö¿Õ¸ñ£¬ÒÔ±ãʹEmacsµÄ¶ÏÐкÍÌî³ä¹¤×÷Эµ÷Ò»Ö¡£

ÓÃÓ¢ÓïÊéдʱ£¬¶Ï´ÊºÍ¿Õ¸ñÊÇ¿ÉÓõġ£·ÇÓ¢Óï¹ú¼ÒµÄPython³ÌÐòÔ±£ºÇëÓÃÓ¢ÓïÊéдÄãµÄ×¢ÊÍ£¬³ý·ÇÄã120%µÄÈ·ÐÅÕâЩ´úÂë²»»á±»²»¶®ÄãµÄÓïÑÔµÄÈËÔĶÁ¡£

×¢ÊÍ¿é

×¢ÊÍ¿éͨ³£Ó¦ÓÃÓÚ¸úËæ×ÅһЩ(»òÕßÈ«²¿)´úÂë²¢ºÍÕâЩ´úÂëÓÐ×ÅÏàͬµÄËõ½ø²ã´Î¡£×¢ÊÍ¿éÖÐÿÐÐÒÔ‘#’ºÍÒ»¸ö¿Õ¸ñ¿ªÊ¼(³ý·ÇËûÊÇ×¢ÊÍÄÚµÄËõ½øÎı¾)¡£×¢ÊÍ¿éÄڵĶÎÂäÒÔ½öº¬µ¥¸ö‘#’µÄÐзָעÊÍ¿éÉÏÏ·½×îºÃÓÐÒ»¿ÕÐаüΧ(»òÉÏ·½Á½ÐÐÏ·½Ò»ÐУ¬¶ÔÒ»¸öк¯Êý¶¨Òå¶ÎµÄ×¢ÊÍ)¡£

ÐÐÄÚ×¢ÊÍ

Ò»¸öÐÐÄÚ×¢ÊÍÊǺÍÓï¾äÔÚͬһÐеÄ×¢ÊÍ£¬ÐÐÄÚ×¢ÊÍÓ¦¸Ã½÷É÷ÊÊÓã¬ÐÐÄÚ×¢ÊÍÓ¦¸ÃÖÁÉÙÓÃÁ½¸ö¿Õ¸ñºÍÓï¾ä·Ö¿ª£¬ËüÃÇÓ¦¸ÃÒÔ'#'ºÍµ¥¸ö¿Õ¸ñ¿ªÊ¼¡£

        x = x+1                 # Increment x

Èç¹ûÓïÒâÊǺÜÃ÷Á˵ģ¬ÄÇôÐÐÄÚ×¢ÊÍÊDz»±ØÒªµÄ£¬ÊÂʵÉÏÊÇÓ¦¸Ã±»ÒƳýµÄ¡£²»ÒªÕâÑùд£º

        x = x+1                 # Increment x

        x = x+1                 # Compensate for border

µ«ÊÇÓÐʱ£¬ÕâÑùÊÇÓÐÒæµÄ£º

        x = x+1                 # Compensate for border

Îĵµ×Ö·û´®

Ó¦¸ÃÒ»Ö±×ñÊØ±àдºÃµÄÎĵµ×Ö·û´®µÄÔ¼¶¨PEP 257 [3]¡£ÎªËùÓй«¹²Ä£¿é£¬º¯Êý£¬ÀàºÍ·½·¨±àдÎĵµ×Ö·û´®¡£Îĵµ×Ö·û´®¶Ô·Ç¹«¿ªµÄ·½·¨²»ÊDZØÒªµÄ£¬µ«ÄãÓ¦¸ÃÓÐÒ»¸öÃèÊöÕâ¸ö·½·¨×öʲôµÄ×¢ÊÍ¡£Õâ¸ö×¢ÊÍÓ¦¸ÃÔÚ"def"ÕâÐкó¡£

PEP 257 ÃèÊöÁ˺õÄÎĵµ×Ö·û´®µÄÔ¼¶¨¡£Ò»¶¨×¢Ò⣬¶àÐÐÎĵµ×Ö·û´®½áβµÄ"""Ó¦¸Ãµ¥¶À³ÉÐУ¬ÀýÈ磺

      """Return a foobang

      Optional plotz says to frobnicate the bizbaz first¡£

      """

¶Ôµ¥ÐеÄÎĵµ×Ö·û´®£¬½áβµÄ"""ÔÚͬһÐÐÒ²¿ÉÒÔ¡£

°æ±¾×¢¼Ç

Èç¹ûÄãÒª½«RCS»òCVSµÄÔÓÏî(crud)°üº¬ÔÚÄãµÄÔ´ÎļþÖУ¬°´ÈçÏÂ×ö¡£

#!Python

        __version__ = "$Revision£º 1¡£4 $"

        # $Source£º E£º/cvsroot/Python_doc/pep8¡£txt£¬v $

Õâ¸öÐÐÓ¦¸Ã°üº¬ÔÚÄ£¿éµÄÎĵµ×Ö·û´®Ö®ºó£¬ËùÓдúÂë֮ǰ£¬ÉÏÏÂÓÃÒ»¸ö¿ÕÐзָ

ÃüÃûÔ¼¶¨

Python¿âµÄÃüÃûÔ¼¶¨Óеã»ìÂÒ£¬ËùÒÔÎÒÃǽ«ÓÀÔ¶²»ÄÜʹ֮±äµÃÍêȫһÖ£¬²»¹ý»¹ÊÇÓй«ÈϵÄÃüÃû¹æ·¶µÄ¡£ÐµÄÄ£¿éºÍ°ü(°üÀ¨µÚÈý·½µÄ¿ò¼Ü)±ØÐë·ûºÏÕâЩ±ê×¼£¬µ«¶ÔÒÑÓÐµÄ¿â´æÔÚ²»Í¬·ç¸ñµÄ£¬±£³ÖÄÚ²¿µÄÒ»ÖÂÐÔÊÇÊ×Ñ¡µÄ¡£

ÃèÊö£ºÃüÃû·ç¸ñ

ÓÐÐí¶à²»Í¬µÄÃüÃû·ç¸ñ¡£ÒÔϵÄÓÐÖúÓÚ±æÈÏÕýÔÚʹÓõÄÃüÃû·ç¸ñ£¬¶ÀÁ¢ÓÚËüÃǵÄ×÷Óᣠ   ÒÔϵÄÃüÃû·ç¸ñÊÇÖÚËùÖÜÖªµÄ£º

b (µ¥¸öСд×Öĸ)

B (µ¥¸ö´óд×Öĸ)

Lowercase£¨Ð¡Ð´£©

lower_case_with_underscores£¨ÓÐÏ»®ÏßµÄСд£©

UPPERCASE£¨´óд£©

UPPER_CASE_WITH_UNDERSCORES£¨ÓÐÏ»®ÏߵĴóд£©

CapitalizedWords (»ò CapWords£¬CamelCaseÕâÑùÃüÃûÊÇÒòΪ¿É´Ó×ÖĸµÄ´óСд·Ö³öµ¥´Ê¡£ÕâÓÐʱҲ±»µ±×÷StudlyCaps¡£

mixedCase (ÓëCapitalizedWordsµÄ²»Í¬ÔÚÓÚÊ××ÖĸСд!)

Capitalized_Words_With_Underscores£¨ÓÐÏ»®ÏßµÄÊ××Öĸ´óд£© (³óª!)

»¹ÓÐÓö̵ÄÌØ±ðǰ׺½«Ïà¹ØµÄÃû×Ö¾ÛºÏÔÚÒ»ÆðµÄ·ç¸ñ¡£ÕâÔÚPythonÖв»³£Ó㬵«ÊdzöÓÚÍêÕûÐÔÒªÌáһϣ¬ÀýÈ磬os.stat()º¯Êý·µ»ØÒ»¸öÔª×飬ËûµÄÔªËØ´«Í³ÉÏ˵ÃûÈçst_mode£¬ st_size£¬st_mtimeµÈµÈ¡£

X11¿âµÄËùÓй«¿ªº¯ÊýÒÔX¿ªÍ·¡£(ÔÚPythonÖУ¬Õâ¸ö·ç¸ñͨ³£ÈÏΪÊDz»±ØÒªµÄ£¬ÒòΪÊôÐԺͷ½·¨ÃûÒÔ¶ÔÏó×÷ǰ׺£¬¶øº¯ÊýÃûÒÔÄ£¿éÃû×÷ǰ׺¡£)

ÁíÍ⣬ÒÔÏÂÓÃÏ»®Ïß×÷ǰµ¼»ò½áβµÄÌØÊâÐÎʽÊDZ»¹«ÈϵÄ(ÕâЩͨ³£¿ÉÒÔºÍÈκÎϰ¹ß×éºÏ)£º

_single_leading_underscore(µ¥¸öÏ»®Ïß×÷ǰµ¼)£ºÈõµÄ“ÄÚ²¿Ê¹ÓÃ(internal use)”±êÖ¾¡£ (ÀýÈ磬“from M import *”²»»áµ¼ÈëÒÔÏ»®Ïß¿ªÍ·µÄ¶ÔÏó)¡£

single_trailing_underscore_(µ¥¸öÏ»®Ïß½áβ)£º ÓÃÓÚ±ÜÃâÓëPython¹Ø¼ü´ÊµÄ³åÍ»£¬ÀýÈ磺“Tkinter.Toplevel(master£¬class_='ClassName')”¡£

_double_leading_underscore(˫ϻ®Ïß)£º´ÓPython 1.4ÆðΪÀà˽ÓÐÃû¡£

_double_leading_and_trailing_underscore_£º“magic”¶ÔÏó»òÊôÐÔ£¬´æÔÚÓÚÓû§¿ØÖƵÄ(user-controlled)Ãû×ֿռ䣬ÀýÈ磺_init_£¬ _import_ »ò_file_¡£ÓÐʱËüÃDZ»Óû§¶¨ÒåÓÃÓÚ´¥·¢Ä³¸öħ·¨ÐÐΪ(ÀýÈ磺ÔËËã·ûÖØÔØ)£ºÓÐʱ±»¹¹ÔìÆ÷²åÈ룬ÒÔ±ã×Ô¼ºÊ¹ÓûòΪÁ˵÷ÊÔ¡£Òò´Ë£¬ÔÚδÀ´µÄ°æ±¾ÖУ¬¹¹ÔìÆ÷(ËÉÉ¢µÃ¶¨ÒåΪPython½âÊÍÆ÷ºÍ±ê×¼¿â)¿ÉÄÜ´òË㽨Á¢×Ô¼ºµÄħ·¨ÊôÐÔÁÐ±í£¬Óû§´úÂëͨ³£Ó¦¸ÃÏÞÖÆ½«ÕâÖÖÔ¼¶¨×÷Ϊ¼ºÓá£Óû³ÉΪ¹¹ÔìÆ÷µÄÒ»²¿·ÖµÄÓû§´úÂë¿ÉÒÔÔÚÏ»¬ÏßÖнáºÏʹÓöÌǰ׺£¬ÀýÈ磺

_bobo_magic_attr__¡£

˵Ã÷£ºÃüÃûÔ¼¶¨

Ó¦±ÜÃâµÄÃû×Ö¡£ÓÀÔ¶²»ÒªÓÃ×Ö·û‘l’(Сд×Öĸel(¾ÍÊǶÁÒô£¬ÏÂͬ))£¬‘O’(´óд×Öĸoh)£¬»ò‘I’(´óд×Öĸeye)×÷Ϊµ¥×Ö·ûµÄ±äÁ¿Ãû¡£ÔÚijЩ×ÖÌåÖÐÕâЩ×Ö·û²»ÄÜÓëÊý×Ö1ºÍ0·Ö±æ¡£ÊÔ×ÅÔÚʹÓÑl’ʱÓÑL’´úÌæ¡£

Ä£¿éÃû

Ä£¿éÓ¦¸ÃÊDz»º¬Ï»®Ïߵ쬼ò¶ÌµÄ£¬Ð¡Ð´µÄÃû×Ö¡£ÒòΪģ¿éÃû±»Ó³Éäµ½ÎļþÃû£¬ÓÐЩÎļþϵͳ´óСд²»Ãô¸Ð²¢Çҽض̳¤Ãû×Ö£¬Ä£¿éÃû±»Ñ¡ÎªÏ൱¶ÌÊÇÖØÒªµÄ£¬ÕâÔÚUnixÉϲ»ÊÇÎÊÌ⣬µ«µ±´úÂë´«µ½Mac»òWindowsÉϾͿÉÄÜÊǸöÎÊÌâÁË¡£

µ±ÓÃC»òC++±àдµÄÀ©Õ¹Ä£¿éÓÐÒ»¸ö°éËæPythonÄ£¿éÌṩ¸ß²ã(ÀýÈç½øÒ»²½µÄÃæÏò¶ÔÏó)½Ó¿Úʱ£¬C/C++Ä£¿éÓÐÏ»®Ïßǰµ¼(È磺_socket)¡£Python°üÓ¦¸ÃÊDz»º¬Ï»®Ïߵ쬼ò¶ÌµÄ£¬È«Ð¡Ð´µÄÃû×Ö¡£

ˈ̞

¼¸ºõ²»³öÒâÁÏ£¬ÀàÃûʹÓÃCapWordsÔ¼¶¨¡£ÄÚ²¿Ê¹ÓõÄÀàÍâ¼ÓÒ»¸öǰµ¼Ï»®Ïß¡£

Òì³£Ãû

Èç¹ûÄ£¿é¶ÔËùÓÐÇé¿ö¶¨ÒåÁ˵¥¸öÒì³££¬Ëüͨ³£±»½Ð×ö“error”»ò“Error”¡£ËƺõÄÚ½¨(À©Õ¹)µÄÄ£¿éʹÓÓerror”(ÀýÈ磺os.error)£¬¶øPythonÄ£¿éͨ³£ÓÓError” (ÀýÈ磺xdrlib.Error)¡£Ç÷ÊÆËÆºõÊÇÇãÏòʹÓÃCapWordsÒì³£Ãû¡£

È«¾Ö±äÁ¿Ãû

(ÈÃÎÒÃÇÆíµ»ÕâЩ±äÁ¿½öÔÚÒ»¸öÄ£¿éµÄÄÚ²¿ÓÐÒâÒå)

ÕâЩԼ¶¨ºÍÔÚº¯ÊýÖеÄÒ»Ñù¡£Ä£¿éÊDZ»Éè¼ÆÎªÍ¨¹ý“from M import *”À´Ê¹Óõ쬱ØÐëÓÃÒ»¸öÏ»®Ïß×÷È«¾Ö±äÁ¿(¼°ÄÚ²¿º¯ÊýºÍÀà)µÄǰ׺·ÀÖ¹Æä±»µ¼³ö(exporting)¡£

º¯ÊýÃû

º¯ÊýÃûÓ¦¸ÃΪСд£¬¿ÉÄÜÓÃÏ»®Ïß·ç¸ñµ¥´ÊÒÔÔö¼Ó¿É¶ÁÐÔ¡£mixedCase½ö±»ÔÊÐíÓÃÓÚÕâÖÖ·ç¸ñÒѾ­Õ¼ÓÅÊÆµÄÉÏÏÂÎÄ(È磺threading.py)£¬ÒԱ㱣³ÖÏòºó¼æÈÝ¡£

·½·¨ÃûºÍʵÀý±äÁ¿

Õâ¶Î´óÌåÉϺͺ¯ÊýÏàͬ£ºÍ¨³£Ê¹ÓÃСдµ¥´Ê£¬±ØÒªÊ±ÓÃÏ»®Ïß·Ö¸ôÔö¼Ó¿É¶ÁÐÔ¡£½öΪ²»´òËã×÷ΪÀàµÄ¹«¹²½çÃæµÄÄÚ²¿·½·¨ºÍʵÀýʹÓÃÒ»¸öǰµ¼Ï»®Ïߣ¬Python²»Ç¿ÖÆÒªÇóÕâÑù£ºËüÈ¡¾öÓÚ³ÌÐòÔ±ÊÇ·ñ×ñÊØÕâ¸öÔ¼¶¨¡£

ʹÓÃÁ½¸öǰµ¼Ï»®ÏßÒÔ±íʾÀà˽ÓеÄÃû×Ö£¬Python½«ÕâЩÃû×ÖºÍÀàÃûÁ¬½ÓÔÚÒ»Æð£º

Èç¹ûÀàFooÓÐÒ»¸öÊôÐÔÃûΪ_a£¬Ëü²»ÄÜÒÔFoo._a·ÃÎÊ¡£(¹ÌÖ´µÄÓû§»¹ÊÇ¿ÉÒÔͨ¹ýFoo._Foo__aµÃµ½·ÃÎÊȨ¡£)

ͨ³£Ë«Ç°µ¼Ï»®Ïß½ö±»ÓÃÓÚ±ÜÃ⺬×ÓÀàµÄÀàÖеÄÊôÐÔÃûµÄÃû×Ö³åÍ»¡£

¼Ì³ÐµÄÉè¼Æ

ʼÖÕҪȷ¶¨Ò»¸öÀàÖеķ½·¨ºÍʵÀý±äÁ¿ÊÇ·ñÒª±»¹«¿ª¡£Í¨³££¬ÓÀÔ¶²»Òª½«Êý¾Ý±äÁ¿¹«¿ª£¬³ý·ÇÄãʵÏֵı¾ÖÊÉÏÖ»ÊǼǼ£¬ÈËÃǼ¸ºõ×ÜÊǸüϲ»¶´úÖ®¸ø³öÒ»¸öº¯Êý×÷ΪÀàµÄ½çÃæ(Python 2.2 µÄһЩ¿ª·¢ÕßÔÚÕâµãÉÏ×öµÃ·Ç³£Æ¯ÁÁ)¡£

ͬÑù£¬È·¶¨ÄãµÄÊôÐÔÊÇ·ñӦΪ˽Óеġ£Ë½ÓкͷÇ˽ÓеÄÇø±ðÔÚÓÚÄ£°å½«ÓÀÔ¶²»»á¶ÔÔ­ÓеÄÀà(µ¼³öÀà)ÓÐЧ£¬¶øºóÕß¿ÉÒÔ¡£ÄãÓ¦¸ÃÔÚ´óÄÔÖоÍÓü̳ÐÉè¼ÆºÃÁËÄãµÄÀ࣬˽ÓÐÊôÐÔ±ØÐëÓÐÁ½¸öǰµ¼Ï»®Ïߣ¬ÎÞºóÖÃÏ»®Ïߣ¬·Ç¹«ÓÐÊôÐÔ±ØÐëÓÐÒ»¸öǰµ¼Ï»®Ïߣ¬ÎÞºóÖÃÏ»®Ïߣ¬¹«¹²ÊôÐÔûÓÐǰµ¼ºÍºóÖÃÏ»®Ïߣ¬³ý·ÇËüÃÇÓë±£Áô×Ö³åÍ»£¬ÔÚ´ËÇé¿öÏ£¬µ¥¸öºóÖÃÏ»®Ïß±ÈǰÖûò»ìÂ񵀮´Ð´ÒªºÃ£¬ÀýÈ磺class_ÓÅÓÚklass¡£

×îºóÒ»µãÓÐЩÕùÒ飺Èç¹ûÏà±Èclass_Äã¸üϲ»¶klass£¬ÄÇôÕâÖ»ÊÇÒ»ÖÂÐÔÎÊÌâ¡£

Éè¼Æ½¨Òé

µ¥¸öÔªËØ(singletons)µÄ±È½Ï£¬ÈçNone Ó¦¸ÃÓÀÔ¶Ó㺑is’»ò‘is not’À´×ö¡£µ±Äã±¾ÒâÊÇ“if x is not None”ʱ£¬¶Ôд³É“if x”ҪСÐÄ¡£ÀýÈçµ±Äã²âÊÔÒ»¸öĬÈÏΪNoneµÄ±äÁ¿»ò²ÎÊýÊÇ·ñ±»ÉèÖÃΪÆäËüֵʱ£¬Õâ¸öÖµÒ²ÐíÔÚ²¼¶ûÉÏÏÂÎÄ(Boolean context)ÖÐÊÇfalse£¡

»ùÓÚÀàµÄÒì³£×ÜÊǺùý»ùÓÚ×Ö·û´®µÄÒì³£¡£Ä£¿éºÍ°üÓ¦¸Ã¶¨ÒåËüÃÇ×Ô¼ºµÄÓòÄÚÌØ¶¨µÄ»ùÒì³£À࣬»ùÀàÓ¦¸ÃÊÇÄÚ½¨µÄExceptionÀàµÄ×ÓÀà¡£»¹Ê¼ÖÕ°üº¬Ò»¸öÀàµÄÎĵµ×Ö·û´®¡£ÀýÈ磺

#!Python

        class MessageError(Exception)£º

            """Base class for errors in the email package¡£"""

ʹÓÃ×Ö·û´®·½·¨(methods)´úÌæ×Ö·û´®Ä£¿é£¬³ý·Ç±ØÐëÏòºó¼æÈÝPython 2.0ÒÔǰµÄ°æ±¾¡£×Ö·û´®·½·¨×ÜÊǷdz£¿ì£¬¶øÇÒºÍunicode×Ö·û´®¹²ÓÃͬÑùµÄAPI(Ó¦ÓóÌÐò½Ó¿Ú)ÔÚ¼ì²éǰ׺»òºó׺ʱ±ÜÃâ¶Ô×Ö·û´®½øÐÐÇÐÆ¬¡£ÓÃstartswith()ºÍendswith()´úÌæ£¬ÒòΪËüÃÇÊÇÃ÷È·µÄ²¢ÇÒ´íÎó¸üÉÙ¡£ÀýÈ磺

        No£º if foo[£º3] == 'bar'£º

        Yes£º if foo¡£startswith('bar')£º

ÀýÍâÊÇÈç¹ûÄãµÄ´úÂë±ØÐ빤×÷ÔÚPython 1.5.2 (µ«ÊÇÎÒÃÇÏ£ÍûËü²»»á·¢Éú£¡)£¬¶ÔÏóÀàÐ͵ıȽÏÓ¦¸ÃʼÖÕÓÃisinstance()´úÌæÖ±½Ó±È½ÏÀàÐÍ£¬ÀýÈ磺

        No£º if type(obj) is type(1)£º

        Yes£º if isinstance(obj£¬ int)£º

¼ì²éÒ»¸ö¶ÔÏóÊÇ·ñÊÇ×Ö·û´®Ê±£¬½ô¼ÇËüÒ²¿ÉÄÜÊÇunicode×Ö·û´®£¡ÔÚPython 2.3£¬strºÍunicodeÓй«¹²µÄ»ùÀ࣬basestring£¬ËùÒÔÄã¿ÉÒÔÕâÑù×ö£º

        if isinstance(obj£¬ basestring)£º

ÔÚPython 2.2ÀàÐÍÄ£¿éΪ´Ë¶¨ÒåÁËStringTypesÀàÐÍ£¬ÀýÈ磺

#!Python

        from types import StringTypes

        if isinstance(obj£¬ StringTypes)£º

ÔÚPython 2.0ºÍ2.1£¬ÄãÓ¦¸ÃÕâÑù×ö£º

#!Python

        from types import StringType£¬ UnicodeType

        if isinstance(obj£¬ StringType) or \

           isinstance(obj£¬ UnicodeType) £º

¶ÔÐòÁУ¬(×Ö·û´®£¬ÁÐ±í£¬Ôª×é)£¬Ê¹ÓÿÕÁбíÊÇfalseÕâ¸öÊÂʵ£¬Òò´Ë“if not seq”»ò“if seq”±È“if len(seq)”»ò“if not len(seq)”ºÃ¡£Êéд×Ö·û´®ÎÄ×Öʱ²»ÒªÒÀÀµÓÚÓÐÒâÒåµÄºóÖÿոñ¡£ÕâÖÖºóÖÿոñÔÚÊÓ¾õÉÏÊDz»¿É±æ±ðµÄ£¬²¢ÇÒÓÐЩ±à¼­Æ÷(ÌØ±ðÊǽüÀ´£¬reindent.py)»á½«ËüÃÇÐÞÕûµô¡£²»ÒªÓÃ==À´±È½Ï²¼¶ûÐ͵ÄÖµÒÔÈ·¶¨ÊÇTrue»òFalse(²¼¶ûÐÍÊÇPythn 2.3ÖÐÐÂÔöµÄ)

        No£º if greeting == True£º

        Yes£º if greeting£º

        No£º if greeting == True£º

        Yes£º if greeting£º

   
3091 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

WEBÓ¦ÓóÌÐòUIÄ£°æ´úÂë±àд
C# ±àÂë¹æ·¶ºÍ±à³ÌºÃϰ¹ß
ʲôÊÇ·ÀÓùÐÔ±à³Ì
ÉÆÓÚ·ÀÊØ-½¡×³´úÂëµÄ·ÀÓùÐÔ
Visual C++±à³ÌÃüÃû¹æÔò
JavaScript³ÌÐò±àÂë¹æ·¶


Éè¼ÆÄ£Ê½Ô­ÀíÓëÓ¦ÓÃ
´ÓÐèÇó¹ý¶Éµ½Éè¼Æ
Èí¼þÉè¼ÆÔ­ÀíÓëʵ¼ù
ÈçºÎ±àд¸ßÖÊÁ¿´úÂë
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
Èí¼þ¿ª·¢¹ý³ÌÖ¸ÄÏ


ijȫÇòÖªÃûͨÐŹ«Ë¾ ´úÂëÕû½à
ºáºÓµç»ú ÈçºÎ±àд¸ßÖÊÁ¿´úÂë
ij֪Ãû½ðÈÚÈí¼þ·þÎñÉÌ ´úÂëÆÀÉó
¶«Èí¼¯ÍÅ ´úÂëÖØ¹¹
ij½ðÈÚÈí¼þ·þÎñÉÌ ¼¼ÊõÎĵµ
Öдïµçͨ Éè¼ÆÄ£Ê½Ô­ÀíÓëʵ¼ù
·¨¹úµçÐÅ ¼¼ÊõÎĵµ±àдÓë¹ÜÀí