Pythonistać®ć‚ˆć†ćŖć‚³ćƒ¼ćƒ‰ļ¼šę…£ē”Øēš„ćŖPythonļ¼ˆćƒ‘ćƒ¼ćƒˆ1ļ¼‰

Kaa, the Python


恓悌ćÆ态David Goodger恮čؘäŗ‹ć€Œęœ¬ē‰©ć®Pythonistć®ć‚ˆć†ć«ć‚³ćƒ¼ćƒ‰ć‚’ę›ø恏ļ¼šPythonć®ć‚¤ćƒ‡ć‚£ć‚Ŗćƒ ć€ć®ēæ»čØ³ć®ē¶šćć§ć™ć€‚

ēæ»čØ³ć®é–‹å§‹ćØēµ‚äŗ† 怂


ęœ€åˆć®éƒØåˆ†ć€č²“é‡ćŖć‚³ćƒ”ćƒ³ćƒˆć€č‚Æ定ēš„ćŖć‚³ćƒ”ćƒ³ćƒˆć‚’č©•ä¾”ć—ć¦ćć‚ŒćŸć™ć¹ć¦ć®habrayuzerć«ę„Ÿč¬ć—ć¾ć™ć€‚ ć‚Øćƒ©ćƒ¼ć‚’č€ƒę…®ć«å…„ć‚Œć‚ˆć†ćØć—ć¾ć—ćŸćŒć€å†ć³å»ŗčØ­ēš„ćŖč­°č«–ć‚’ę„½ć—ćæć«ć—ć¦ć„ć¾ć™ć€‚





åÆčƒ½ćŖ限悊ä½æē”Øļ¼ˆ1ļ¼‰



č‰Æ恄ļ¼š

 dć®ć‚­ćƒ¼ć®å “åˆļ¼š
    å°åˆ·ć‚­ćƒ¼



ę‚Ŗ恄ļ¼š
 d.keysļ¼ˆļ¼‰ć®ć‚­ćƒ¼ć®å “合ļ¼š
    å°åˆ·ć‚­ćƒ¼


恓悌ćÆć€ć‚­ćƒ¼ļ¼ˆļ¼‰ćƒ”ć‚½ćƒƒćƒ‰ć‚’ęŒć¤ć™ć¹ć¦ć®ć‚Ŗ惖ć‚ø悧ć‚Æćƒˆć«ć‚‚é©ē”Øć•ć‚Œć¾ć™ć€‚


åÆčƒ½ćŖ限悊ä½æē”Øļ¼ˆ2ļ¼‰



ćŸć ć—ć€č¾žę›øć‚’å¤‰ę›“ć™ć‚‹å “åˆćÆ.keysļ¼ˆļ¼‰ćŒåæ…要恧恙 怂

 d.keysļ¼ˆļ¼‰ć®ć‚­ćƒ¼ć®å “合ļ¼š
     d [strļ¼ˆć‚­ćƒ¼ļ¼‰] = d [ć‚­ćƒ¼]


d.keysļ¼ˆļ¼‰ćÆć€č¾žę›øć‚­ćƒ¼ć®é™ēš„ćƒŖć‚¹ćƒˆć‚’ä½œęˆć—ć¾ć™ć€‚ 恝恆恗ćŖ恄ćØć€ä¾‹å¤–ć€ŒRuntimeErrorļ¼šdictionary changed size during iteration怍ļ¼ˆč¾žę›ø恮悵悤ć‚ŗćŒåå¾©äø­ć«å¤‰ę›“ć•ć‚Œć¾ć—ćŸļ¼‰ćŒē™ŗē”Ÿć—ć¾ć™ć€‚

dict.has_keyļ¼ˆļ¼‰ć‚ˆć‚Šć‚‚dictć§ć‚­ćƒ¼ć‚’ä½æē”Øć™ć‚‹ę–¹ćŒę­£ć—ć„ć§ć™ļ¼š

 ļ¼ƒć“ć‚Œć‚’č”Œć†ļ¼š
 dć®ć‚­ćƒ¼ć®å “åˆļ¼š
     ... d [ć‚­ćƒ¼]ć§ä½•ć‹ć‚’ć™ć‚‹

 ļ¼ƒć—ć‹ć—ć€ć“ć‚ŒćÆå„½ćć§ćÆć‚ć‚Šć¾ć›ć‚“ļ¼š
 d.has_keyļ¼ˆć‚­ćƒ¼ļ¼‰ć®å “合ļ¼š
     ... d [ć‚­ćƒ¼]ć§ä½•ć‹ć‚’ć™ć‚‹

ć“ć®ć‚³ćƒ¼ćƒ‰ćÆ态inć‚’ę¼”ē®—子ćØ恗恦ä½æē”Øć—ć¾ć™ć€‚

č¾žę›øćƒ”ć‚½ćƒƒćƒ‰ć‚’å–å¾—



å¤šćć®å “åˆć€ä½æē”Øć™ć‚‹å‰ć«ćƒ‡ćƒ¼ć‚æć‚’č¾žę›øć«å–ć‚Šč¾¼ć‚€åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚

ć“ć‚Œć‚’č”Œć†å˜ē“”ćŖę–¹ę³•ļ¼š

 navs = {}
ćƒ‡ćƒ¼ć‚æ恮ļ¼ˆćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ态ć‚Øć‚Æć‚¤ćƒ†ć‚£ć€ćƒć‚øć‚·ćƒ§ćƒ³ļ¼‰ļ¼š
    ćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ恌navs恫ćŖć„å “åˆļ¼š
         navs [ćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ] = 0
     navs [ćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ] + =惝ć‚øć‚·ćƒ§ćƒ³*ä¾”ę ¼[ę Ŗ式]


dict.getļ¼ˆć‚­ćƒ¼ć€ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆļ¼‰ćÆ惁悧惃ć‚Æć‚’å›žéæć—ć¾ć™ļ¼š

 navs = {}
ćƒ‡ćƒ¼ć‚æ恮ļ¼ˆćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ态ć‚Øć‚Æć‚¤ćƒ†ć‚£ć€ćƒć‚øć‚·ćƒ§ćƒ³ļ¼‰ļ¼š
     navs [portfolio] =ļ¼ˆnavs.getļ¼ˆportfolio态0ļ¼‰
                        +惝ć‚øć‚·ćƒ§ćƒ³*ä¾”ę ¼[ę Ŗ式]ļ¼‰


恓悌ćÆć‚ˆć‚Šę­£ē¢ŗ恧恙怂

č¾žę›øćƒ”ć‚½ćƒƒćƒ‰setdefaultļ¼ˆ1ļ¼‰



恓恓恧态非静ēš„č¾žę›ø恮要ē“ ć®å€¤ć‚’åˆęœŸåŒ–ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚å„č¦ē“ ćÆćƒŖć‚¹ćƒˆć§č”Øć•ć‚Œć¾ć™ć€‚ ć“ć“ć«åˆ„ć®ē“ ęœ“ćŖę–¹ę³•ćŒć‚ć‚Šć¾ć™ļ¼š

åÆå¤‰ćƒ‡ć‚£ć‚Æć‚·ćƒ§ćƒŠćƒŖ恮要ē“ ć®åˆęœŸåŒ–ļ¼š
ę Ŗ式= {}
ćƒ‡ćƒ¼ć‚æ恮ļ¼ˆćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ态ć‚Øć‚Æć‚¤ćƒ†ć‚£ļ¼‰ļ¼š
    ę Ŗå¼ćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗć®å “åˆļ¼š
        ę Ŗ式[ćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ] .appendļ¼ˆę Ŗ式ļ¼‰
    ćć®ä»–ļ¼š
        ę Ŗ式[ćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ] = [ę Ŗ式]

dict.setdefaultļ¼ˆć‚­ćƒ¼ć€ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆļ¼‰ćÆć€ć“ć‚Œć‚’ć‚ˆć‚ŠåŠ¹ēŽ‡ēš„ć«ę©Ÿčƒ½ć•ć›ć¾ć™ć€‚

ę Ŗ式= {}
ćƒ‡ćƒ¼ć‚æ恮ļ¼ˆćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ态ć‚Øć‚Æć‚¤ćƒ†ć‚£ļ¼‰ļ¼š
     equities.setdefaultļ¼ˆćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ态[]ļ¼‰ć€‚appendļ¼ˆ
                                         ć‚Øć‚Æć‚¤ćƒ†ć‚£ļ¼‰

dict.setdefaultļ¼ˆļ¼‰ćÆ态怌get态or install and get怍ļ¼ˆć€Œget态or setļ¼†get怍ļ¼‰ćØ同ē­‰ć§ć™ć€‚ ć¾ćŸćÆ态怌åæ…要恫åæœć˜ć¦čØ­å®šć—ć¦ć‹ć‚‰å–å¾—ć€ļ¼ˆć€Œåæ…要恫åæœć˜ć¦čØ­å®šć—ć¦ć‹ć‚‰å–å¾—ć€ļ¼‰ć€‚ 恓悌ćÆć€č¾žę›øć‚­ćƒ¼ć®č؈ē®—ćŒå›°é›£ćŖå “åˆć€ć¾ćŸćÆć‚­ćƒ¼ćƒœćƒ¼ćƒ‰ć‹ć‚‰ć®å…„åŠ›ćŒé•·ć„å “åˆć«ē‰¹ć«åŠ¹ęžœēš„恧恙怂

dict.setdefaultļ¼ˆļ¼‰ć«å•é”ŒćŒć‚ć‚‹å “åˆć®ćæ态恝悌恌åæ…č¦ć‹ć©ć†ć‹ć«é–¢äæ‚ćŖćć€ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆå€¤ćŒåøø恫č؈ē®—ć•ć‚Œć‚‹ćØ恄恆恓ćØ恧恙怂 恓悌ćÆć€ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆå€¤ć®č؈ē®—ćŒé«˜ä¾”ćŖå “åˆć«é‡č¦ć§ć™ć€‚

ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆå€¤ć®č؈ē®—ćŒé›£ć—ć„å “合ćÆ态defaultdictć‚Æćƒ©ć‚¹ć‚’ä½æē”Øć™ć‚‹ę–¹ćŒä¾æ利ćŖå “åˆćŒć‚ć‚Šć¾ć™ć€‚ć“ć‚Œć«ć¤ć„ć¦ćÆē°”å˜ć«ę¤œčØŽć—ć¾ć™ć€‚

č¾žę›øćƒ”ć‚½ćƒƒćƒ‰setdefaultļ¼ˆ2ļ¼‰



恓恓恧态setdefaultćƒ”ć‚½ćƒƒćƒ‰ćŒć©ć®ć‚ˆć†ć«å€‹åˆ„ć«ä½æē”Øć•ć‚Œć‚‹å¼ć«ćŖ悋恋悒ē¢ŗčŖć—ć¾ć™ć€‚

 navs = {}
ćƒ‡ćƒ¼ć‚æ恮ļ¼ˆćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ态ć‚Øć‚Æć‚¤ćƒ†ć‚£ć€ćƒć‚øć‚·ćƒ§ćƒ³ļ¼‰ļ¼š
     navs.setdefaultļ¼ˆćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ态0ļ¼‰
     navs [ćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ] + =惝ć‚øć‚·ćƒ§ćƒ³*ä¾”ę ¼[ę Ŗ式]


setdefaultč¾žę›øćƒ”ć‚½ćƒƒćƒ‰ćÆćƒ‡ćƒ•ć‚©ćƒ«ćƒˆå€¤ć‚’čæ”ć—ć¾ć™ćŒć€ć“ć“ć§ćÆē„”č¦–ć—ć¾ć™ć€‚ åˆęœŸåŒ–ć•ć‚Œć¦ć„ćŖć„č¾žę›ø要ē“ ć«å€¤ć‚’å‰²ć‚Šå½“ć¦ć‚‹setdefault恮å‰Æ作ē”Øć‚’ćƒć‚¤ćƒ‘ć‚¹ć—ć¾ć™ć€‚

defaultdict


Python 2.5ć®ę–°ę©Ÿčƒ½ć€‚

defaultdictćÆ态collectionsćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć®äø€éƒØćØ恗恦Python 2.5恧ē™»å “ć—ć¾ć—ćŸć€‚ defaultdictćÆ态ꬔ恮2恤恮ē‚¹ć‚’除恄恦态通åøøć®č¾žę›øćØåŒć˜ć§ć™ć€‚


defaultdictć‚’å–å¾—ć™ć‚‹2ć¤ć®ę–¹ę³•ć‚’ę¬”ć«ē¤ŗć—ć¾ć™ć€‚

ć‚³ćƒ¬ć‚Æć‚·ćƒ§ćƒ³ć‚’ć‚¤ćƒ³ćƒćƒ¼ćƒˆć™ć‚‹
 d = collections.defaultdictļ¼ˆ...ļ¼‰

ć‚³ćƒ¬ć‚Æć‚·ćƒ§ćƒ³ć‹ć‚‰ć‚¤ćƒ³ćƒćƒ¼ćƒˆdefaultdict
 d = defaultdictļ¼ˆ...ļ¼‰


仄äø‹ćÆć€č¾žę›øć®å„č¦ē“ ćŒē©ŗ恮ćƒŖć‚¹ćƒˆćØć—ć¦åˆęœŸåŒ–ć•ć‚Œć€defaultdict恧ę›øćę›ćˆć‚‰ć‚ŒćŸå‰ć®ä¾‹ć§ć™ć€‚

ć‚³ćƒ¬ć‚Æć‚·ćƒ§ćƒ³ć‹ć‚‰ć‚¤ćƒ³ćƒćƒ¼ćƒˆdefaultdict

ę Ŗ式= defaultdictļ¼ˆćƒŖć‚¹ćƒˆļ¼‰
ćƒ‡ćƒ¼ć‚æ恮ļ¼ˆćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ态ć‚Øć‚Æć‚¤ćƒ†ć‚£ļ¼‰ļ¼š
    ę Ŗ式[ćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ] .appendļ¼ˆę Ŗ式ļ¼‰

ć“ć®å “åˆć€ē”Ÿęˆé–¢ę•°ćƒŖć‚¹ćƒˆćÆē©ŗ恮ćƒŖć‚¹ćƒˆć‚’čæ”ć—ć¾ć™ć€‚

ć“ć®ä¾‹ćÆć€ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆå€¤= 0ć§č¾žę›øć‚’å–å¾—ć™ć‚‹ę–¹ę³•ć‚’ē¤ŗć—ć¦ć„ć¾ć™ć€‚ć“ć‚Œć«ćÆ态ē”Ÿęˆé–¢ę•°int恌ä½æē”Øć•ć‚Œć¾ć™ć€‚
 navs = defaultdictļ¼ˆintļ¼‰
ćƒ‡ćƒ¼ć‚æ恮ļ¼ˆćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ态ć‚Øć‚Æć‚¤ćƒ†ć‚£ć€ćƒć‚øć‚·ćƒ§ćƒ³ļ¼‰ļ¼š
     navs [ćƒćƒ¼ćƒˆćƒ•ć‚©ćƒŖć‚Ŗ] + =惝ć‚øć‚·ćƒ§ćƒ³*ä¾”ę ¼[ę Ŗ式]


恝悌恧悂defaultdict恫ćÆę³Øę„ć—ć¦ćć ć•ć„ć€‚ é©åˆ‡ć«åˆęœŸåŒ–ć•ć‚ŒćŸdefaultdict恋悉KeyErrorä¾‹å¤–ć‚’å–å¾—ć™ć‚‹ć“ćØćÆć§ćć¾ć›ć‚“ć€‚ ē‰¹å®šć®ć‚­ćƒ¼ć‚’ē¢ŗčŖć™ć‚‹åæ…č¦ćŒć‚ć‚‹å “合ćÆ态怌dict in keyć€ę”ä»¶ć‚’ä½æē”Øć§ćć¾ć™ć€‚

č¾žę›ø恮ē·Ø集ćØåˆ†ęž


仄äø‹ćÆ态2恤恮ćƒŖć‚¹ćƒˆļ¼ˆć¾ćŸćÆć‚·ćƒ¼ć‚±ćƒ³ć‚¹ļ¼‰ć®č¾žę›øć‚’ć‚³ćƒ³ćƒ‘ć‚¤ćƒ«ć™ć‚‹ćŸć‚ć®ä¾æ利ćŖ惆ć‚Æ惋惃ć‚Æ恧恙怂1恤ćÆć‚­ćƒ¼ć®ćƒŖć‚¹ćƒˆć€ć‚‚ć†1恤ćÆå€¤ć®ćƒŖć‚¹ćƒˆć§ć™ć€‚

 given = ['John'态 'Eric'态 'Terry'态 'Michael']
 family = ['Cleese'态 'Idle'态 'Gilliam'态 'Palin']

 pythons = dictļ¼ˆzipļ¼ˆäøŽćˆć‚‰ć‚ŒćŸć€å®¶ę—ļ¼‰ļ¼‰

 >>> pprint.pprintļ¼ˆpythonsļ¼‰
 {怌ć‚øćƒ§ćƒ³ć€ļ¼šć€Œć‚ÆćƒŖćƒ¼ć‚ŗ怍态
  ć€Œćƒžć‚¤ć‚±ćƒ«ć€ļ¼šć€Œćƒ‘ćƒŖćƒ³ć€ć€
  怌ć‚ØćƒŖ惃ć‚Æ怍ļ¼šć€Œć‚¢ć‚¤ćƒ‰ćƒ«ć€ć€
  怌惆ćƒŖćƒ¼ć€ļ¼šć€Œć‚®ćƒŖć‚¢ćƒ ć€}


ć‚‚ć”ć‚ć‚“ć€ćć®é€†ćÆē°”å˜ć§ć™ć€‚

 >>> pythons.keysļ¼ˆļ¼‰
 ['ć‚øćƒ§ćƒ³'态 'ćƒžć‚¤ć‚±ćƒ«'态 'ć‚ØćƒŖ惃ć‚Æ'态 '惆ćƒŖćƒ¼']
 >>> pythons.valuesļ¼ˆļ¼‰
 ['Cleese'态 'Palin'态 'Idle'态 'Gilliam']


ēµęžœć®.keysļ¼ˆļ¼‰ćŠć‚ˆć³.valuesļ¼ˆļ¼‰ć®é †åŗćÆć€č¾žę›øč¾žę›øćŒä½œęˆć•ć‚ŒćŸćØćć®č¦ē“ ć®é †åŗćØćÆē•°ćŖ悋恓ćØ恫ę³Øę„ć—ć¦ćć ć•ć„ć€‚ 兄力順ćÆå‡ŗ力順ćØćÆē•°ćŖć‚Šć¾ć™ć€‚ 恓悌ćÆć€č¾žę›øćŒęœ¬č³Ŗēš„ć«ä¹±ć‚Œć¦ć„ć‚‹ćŸć‚ć§ć™ć€‚ ćŸć ć—ć€č¾žę›øćŒå‘¼ć³å‡ŗć—é–“ć§å¤‰ę›“ć•ć‚Œć¦ć„ćŖć„å “åˆć€å‡ŗåŠ›ć®é †åŗćÆåÆčƒ½ćŖ限悊äø€č²«ć—恦恄悋恓ćØ恌äæčØ¼ć•ć‚Œć¾ć™ļ¼ˆć‚­ćƒ¼ć®é †åŗćÆå€¤ć®é †åŗć«åƾåæœć—ć¾ć™ļ¼‰ć€‚

ęœ‰åŠ¹ę€§ćƒć‚§ćƒƒć‚Æ



 ļ¼ƒć“ć‚Œć‚’č”Œć†ļ¼šļ¼ƒć“ć®ć‚ˆć†ć«ć—ćŖ恄ļ¼š
 if xļ¼šif x == Trueļ¼š
    ćƒ‘ć‚¹ćƒ‘ć‚¹


恓悌ćÆ态Pythonć‚Ŗ惖ć‚ø悧ć‚Æ惈ļ¼ˆć¾ćŸćÆćƒ–ćƒ¼ćƒ«å€¤ļ¼‰ć‚’ę¤œčØ¼ć™ć‚‹ć‚Øćƒ¬ć‚¬ćƒ³ćƒˆć§åŠ¹ēŽ‡ēš„ćŖę–¹ę³•ć§ć™ć€‚
惁悧惃ć‚ÆćƒŖć‚¹ćƒˆļ¼š

 ļ¼ƒć“ć‚Œć‚’č”Œć†ļ¼šļ¼ƒć“ć®ć‚ˆć†ć«ć—ćŖ恄ļ¼š
 if itemsļ¼šif lenļ¼ˆitemsļ¼‰ļ¼= 0ļ¼š
    ćƒ‘ć‚¹ćƒ‘ć‚¹

                   ļ¼ƒćć—恦間違恄ćŖ恏ļ¼š
                   if itemsļ¼= []ļ¼š
                      åˆę ¼ć™ć‚‹


ēœŸå®Ÿć®ę„å‘³



TruećŠć‚ˆć³FalsećØć„ć†åå‰ćÆ态ēµ„ćæč¾¼ćæć®ćƒ–ćƒ¼ćƒ«åž‹ć®ć‚¤ćƒ³ć‚¹ć‚æćƒ³ć‚¹ć§ć™ć€‚ NonećØåŒę§˜ć«ć€ćć‚Œćžć‚Œ1ć¤ć®ć‚¤ćƒ³ć‚¹ć‚æćƒ³ć‚¹ć®ćæćŒä½œęˆć•ć‚Œć¾ć™ć€‚

å½ęœ¬å½“
偽ļ¼ˆ== 0ļ¼‰ēœŸļ¼ˆ== 1ļ¼‰
""ļ¼ˆē©ŗć®ę–‡å­—åˆ—ļ¼‰""ļ¼ˆ ""态 "anything"ļ¼‰ć‚’é™¤ćä»»ę„ć®ę–‡å­—åˆ—
0态0.00ä»„å¤–ć®ä»»ę„ć®ę•°å­—ļ¼ˆ1态0.1态-1态3.14ļ¼‰
[]态ļ¼ˆļ¼‰ć€{}态ļ¼ˆļ¼‰ć‚’čح定ē©ŗ恧ćŖć„ć‚³ćƒ³ćƒ†ćƒŠļ¼ˆ[0]态ļ¼ˆćŖ恗态ļ¼‰ć€['']ļ¼‰
ćŖć—ę˜Žć‚‰ć‹ć«å½ć§ćÆćŖ恄恻ćØć‚“ć©ć™ć¹ć¦ć®ć‚Ŗ惖ć‚ø悧ć‚Æ惈


ć‚Ŗ惖ć‚ø悧ć‚Æ惈恮ēœŸå®Ÿć®ä¾”å€¤ć®ä¾‹ļ¼š

 >>>ć‚Æćƒ©ć‚¹Cļ¼š
 ...åˆę ¼
 ...
 >>> o = Cļ¼ˆļ¼‰
 >>> boolļ¼ˆoļ¼‰
ęœ¬å½“
 >>> boolļ¼ˆCļ¼‰
ęœ¬å½“

ļ¼ˆä¾‹ļ¼š truth.pyć‚’å®Ÿč”Œć—ć¾ć™ć€‚ļ¼‰

ćƒ¦ćƒ¼ć‚¶ćƒ¼å®šē¾©ć®ć‚Æćƒ©ć‚¹ć‚¤ćƒ³ć‚¹ć‚æćƒ³ć‚¹ć®ęœ‰åŠ¹ę€§ć‚’åˆ¶å¾”ć™ć‚‹ć«ćÆ态ē‰¹åˆ„ćŖ__nonzero__ć¾ćŸćÆ__len__ćƒ”ć‚½ćƒƒćƒ‰ć‚’ä½æē”Øć—ć¾ć™ć€‚ ć‚Æćƒ©ć‚¹ćŒé•·ć•ć®ć‚³ćƒ³ćƒ†ćƒŠć§ć‚ć‚‹å “åˆćÆ__len__悒ä½æē”Øć—ć¾ć™ć€‚
ć‚Æćƒ©ć‚¹MyContainerļ¼ˆć‚Ŗ惖ć‚ø悧ć‚Æ惈ļ¼‰ļ¼š

     def __init __ļ¼ˆč‡Ŗå·±ć€ćƒ‡ćƒ¼ć‚æļ¼‰ļ¼š
         self.data = data

     def __len __ļ¼ˆč‡Ŗå·±ļ¼‰ļ¼š
         "" "長恕悒čæ”恙怂" ""
         return lenļ¼ˆself.dataļ¼‰

ć‚Æćƒ©ć‚¹ćŒć‚³ćƒ³ćƒ†ćƒŠć§ćŖć„å “åˆćÆ态__ nonzero__悒ä½æē”Øć—ć¾ć™ć€‚

ć‚Æćƒ©ć‚¹MyClassļ¼ˆć‚Ŗ惖ć‚ø悧ć‚Æ惈ļ¼‰ļ¼š

     def __init __ļ¼ˆč‡Ŗå·±ć€å€¤ļ¼‰ļ¼š
         self.value = value

     def __nonzero __ļ¼ˆč‡Ŗå·±ļ¼‰ļ¼š
         "" "ēœŸē†å€¤ļ¼ˆTrueć¾ćŸćÆFalseļ¼‰ć‚’čæ”ć—ć¾ć™ć€‚" ""
         ļ¼ƒć“ć‚ŒćÆä»»ę„ć«č¤‡é›‘ć«ćŖ悋åÆčƒ½ę€§ćŒć‚ć‚Šć¾ć™ć€‚
         boolļ¼ˆself.valueļ¼‰ć‚’čæ”ć—ć¾ć™


Python 3.0恧ćÆ态ēµ„ćæč¾¼ćæć®ćƒ–ćƒ¼ćƒ«åž‹ćØ恮äø€č²«ę€§ć‚’äæć¤ćŸć‚ć«ć€__ nonzero__ćÆ__bool__ć«åå‰ćŒå¤‰ę›“ć•ć‚Œć¾ć—ćŸć€‚ äŗ’ę›ę€§ć®ćŸć‚ć«ć€ć“ć®ć‚³ćƒ¼ćƒ‰ć‚’ć‚Æćƒ©ć‚¹å®šē¾©ć«čæ½åŠ ć—ć¾ć™ć€‚

 __bool__ = __nonzero__


ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ćØć‚¢ć‚¤ćƒ†ćƒ ļ¼ˆ1ļ¼‰



å…„åŠ›ć—ćŸćƒ†ć‚­ć‚¹ćƒˆć‚’å˜čŖžć®ćƒŖć‚¹ćƒˆć«äæå­˜ć™ć‚‹ćŸć‚ć®ę³Øę„ę·±ć„ę–¹ę³•ć‚’ę¬”ć«ē¤ŗć—ć¾ć™ć€‚

 >>> items = 'zero one two three'.splitļ¼ˆļ¼‰
 >>>å°åˆ·ć‚¢ć‚¤ćƒ†ćƒ 
 [ć€Œć‚¼ćƒ­ć€ć€ć€Œ1怍态怌2怍态怌3怍]


要ē“ ć‚’ē¹°ć‚Ščæ”ć—å‡¦ē†ć—ćŸć„å “åˆć€č¦ē“ č‡Ŗ体ćØćć®ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ć®äø”ę–¹ćŒåæ…要恠ćØć—ć¾ć—ć‚‡ć†ļ¼š

                   -ć¾ćŸćÆ-
 i = 0
ć‚¢ć‚¤ćƒ†ćƒ å†…ć®ć‚¢ć‚¤ćƒ†ćƒ ć®å “åˆļ¼šfor i in rangeļ¼ˆlenļ¼ˆitemsļ¼‰ļ¼‰ļ¼š
    印刷ić€ć‚¢ć‚¤ćƒ†ćƒ å°åˆ·ić€ć‚¢ć‚¤ćƒ†ćƒ [i]
     i + = 1


ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ćØć‚¢ć‚¤ćƒ†ćƒ ļ¼ˆ2ļ¼‰ļ¼šåˆ—ęŒ™



åˆ—ęŒ™é–¢ę•°ćÆå¼•ę•°ćØ恗恦ćƒŖć‚¹ćƒˆć‚’å–ć‚Šć€ćƒšć‚¢ļ¼ˆć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ć€ć‚¢ć‚¤ćƒ†ćƒ ļ¼‰ļ¼ˆē•Ŗå·ć€č¦ē“ ļ¼‰ć‚’čæ”ć—ć¾ć™ć€‚

 >>>ćƒŖć‚¹ćƒˆć‚’å°åˆ·ļ¼ˆåˆ—ęŒ™ļ¼ˆć‚¢ć‚¤ćƒ†ćƒ ļ¼‰ļ¼‰
 [ļ¼ˆ0态 'zero'ļ¼‰ć€ļ¼ˆ1态 'one'ļ¼‰ć€ļ¼ˆ2态 'two'ļ¼‰ć€ļ¼ˆ3态 'three'ļ¼‰]


enumeratećÆꀠfullćŖé–¢ę•°ć§ć‚ć‚‹ćŸć‚ć€å®Œå…ØćŖēµęžœć‚’å¾—ć‚‹ćŸć‚ć«ćƒŖć‚¹ćƒˆć«å¤‰ę›ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚1å›žć®å‘¼ć³å‡ŗ恗恧1恤恮要ē“ ć‚’ē”Ÿęˆć—ć¾ć™ć€‚ forćƒ«ćƒ¼ćƒ—ćÆ态ćƒŖć‚¹ćƒˆć‚’åå¾©å‡¦ē†ć—ć€ćƒ‘ć‚¹ć”ćØ恫1恤恮ēµęžœć‚’å‘¼ć³å‡ŗć™å “ę‰€ć§ć™ć€‚ enumeratećÆć‚øć‚§ćƒćƒ¬ćƒ¼ć‚æćƒ¼ć®ä¾‹ć§ć™ć€‚ć“ć‚Œć«ć¤ć„ć¦ćÆå¾Œć§č©³ć—ćčŖ¬ę˜Žć—ć¾ć™ć€‚ printćÆäø€åŗ¦ć«1恤恮ēµęžœć‚’å—ć‘å…„ć‚Œć¾ć›ć‚“ć€‚äø€čˆ¬ēš„ćŖēµęžœćŒåæ…要ćŖćŸć‚ć€å°åˆ·ć™ć‚‹å “åˆćÆ꘎ē¤ŗēš„恫ć‚øć‚§ćƒćƒ¬ćƒ¼ć‚æćƒ¼ć‚’ćƒŖć‚¹ćƒˆć«å¤‰ę›ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚

ē§ćŸć”恮悵悤ć‚Æ惫ćÆć‚‚ć£ćØē°”å˜ć«ćŖć‚Šć¾ć™ļ¼š

 forļ¼ˆć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ć€ć‚¢ć‚¤ćƒ†ćƒ ļ¼‰in enumerateļ¼ˆć‚¢ć‚¤ćƒ†ćƒ ļ¼‰ļ¼š
    å°åˆ·ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ć€ć‚¢ć‚¤ćƒ†ćƒ 

 ļ¼ƒęÆ”č¼ƒļ¼šļ¼ƒęÆ”č¼ƒļ¼š
ēÆ„å›²å†…ć®ić®ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹= 0ļ¼ˆlenļ¼ˆć‚¢ć‚¤ćƒ†ćƒ ļ¼‰ļ¼‰ļ¼š
ć‚¢ć‚¤ćƒ†ćƒ ć®ć‚¢ć‚¤ćƒ†ćƒ ļ¼šå°åˆ·ić€ć‚¢ć‚¤ćƒ†ćƒ [i]
    å°åˆ·ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹ć€ć‚¢ć‚¤ćƒ†ćƒ 
    ć‚¤ćƒ³ćƒ‡ćƒƒć‚Æć‚¹+ = 1


enumerate惐ćƒŖć‚¢ćƒ³ćƒˆćÆć€å·¦å“ć®ćƒ”ć‚½ćƒƒćƒ‰ć‚ˆć‚Šć‚‚å¤§å¹…ć«ēŸ­ćć‚·ćƒ³ćƒ—ćƒ«ć§ć‚ć‚Šć€čŖ­ćæ悄恙恏态ē†č§£ć—悄恙恄恧恙怂

åˆ—ęŒ™é–¢ę•°ćŒå®Ÿéš›ć«ć‚¤ćƒ†ćƒ¬ćƒ¼ć‚æ悒čæ”ć™ę–¹ę³•ć‚’ē¤ŗć™ä¾‹ļ¼ˆć‚øć‚§ćƒćƒ¬ćƒ¼ć‚æćÆć‚¤ćƒ†ćƒ¬ćƒ¼ć‚æ恮äø€ēØ®ć§ć™ļ¼‰ļ¼š
 >>>åˆ—ęŒ™ļ¼ˆć‚¢ć‚¤ćƒ†ćƒ ļ¼‰
 <0x011EA1C0恮ć‚Ŗ惖ć‚ø悧ć‚Æćƒˆć‚’åˆ—ęŒ™>;
 >>> e =åˆ—ęŒ™ļ¼ˆć‚¢ć‚¤ćƒ†ćƒ ļ¼‰
 >>> e.nextļ¼ˆļ¼‰
 ļ¼ˆ0ć€ć€Œć‚¼ćƒ­ć€ļ¼‰
 >>> e.nextļ¼ˆļ¼‰
 ļ¼ˆ1态 '1'ļ¼‰
 >>> e.nextļ¼ˆļ¼‰
 ļ¼ˆ2态怌2怍ļ¼‰
 >>> e.nextļ¼ˆļ¼‰
 ļ¼ˆ3态怌3怍ļ¼‰
 >>> e.nextļ¼ˆļ¼‰
ćƒˆćƒ¬ćƒ¼ć‚¹ćƒćƒƒć‚Æļ¼ˆęœ€å¾Œć®ęœ€å¾Œć®å‘¼ć³å‡ŗ恗ļ¼‰ļ¼š
  ćƒ•ć‚”ć‚¤ćƒ«ć€Œ<stdin>怍态1č”Œē›®ļ¼Ÿ
 StopIteration


他恮č؀čŖžć«ćÆć€Œå¤‰ę•°ć€ćŒć‚ć‚Šć¾ć™


ä»–ć®å¤šćć®č؀čŖžć§ćÆć€å¤‰ę•°ć®å‰²ć‚Šå½“ć¦ć«ć‚ˆć£ć¦å€¤ćŒć‚»ćƒ«ć«é…ē½®ć•ć‚Œć¾ć™ć€‚

  int a = 1; 

a1box.png


ć‚»ćƒ«ć€Œać€ć«ćÆę•“ę•°1ćŒå«ć¾ć‚Œć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć—ćŸć€‚

åŒć˜å¤‰ę•°ć«åˆ„ć®å€¤ć‚’å‰²ć‚Šå½“ć¦ć‚‹ćØć€ć‚»ćƒ«ć®å†…å®¹ćŒē½®ćę›ćˆć‚‰ć‚Œć¾ć™ć€‚
  a = 2; 

a2box.png


ć‚»ćƒ«ć€Œać€ć«ćÆę•“ę•°2ćŒå«ć¾ć‚Œć¦ć„ć¾ć™ć€‚

ć‚ć‚‹å¤‰ę•°ć‚’åˆ„ć®å¤‰ę•°ć«å‰²ć‚Šå½“ć¦ć‚‹ćØć€å€¤ć®ć‚³ćƒ”ćƒ¼ćŒä½œęˆć•ć‚Œć€ę–°ć—ć„ć‚»ćƒ«ć«é…ē½®ć•ć‚Œć¾ć™ć€‚

  int b = a; 

b2box.png
a2box.png

怌B怍ćÆę•“ę•°2ć®ć‚³ćƒ”ćƒ¼ć‚’ęŒć¤2ē•Ŗē›®ć®ć‚»ćƒ«ć§ć™ć€‚ć‚»ćƒ«ć€Œać€ć«ćÆåˆ„ć®ć‚³ćƒ”ćƒ¼ćŒć‚ć‚Šć¾ć™ć€‚

Python恫ćÆć€Œåå‰ć€ćŒć‚ć‚Šć¾ć™


Python恧ćÆć€ć€Œåå‰ć€ć¾ćŸćÆć€Œč­˜åˆ„å­ć€ćÆć‚Ŗ惖ć‚ø悧ć‚Æćƒˆć«ä»˜ć‘ć‚‰ć‚ŒćŸćƒ©ćƒ™ćƒ«ļ¼ˆć‚æć‚°ć€ćƒ©ćƒ™ćƒ«ļ¼‰ć®ć‚ˆć†ćŖ悂恮恧恙怂
  a = 1 

a1tag.png

恓恓恧ćÆ态å…Øä½“ć«ćƒ©ćƒ™ćƒ«ć€Œać€ćŒä»˜ć„ć¦ć„ć¾ć™ć€‚

怌ać€ć‚’å†å‰²ć‚Šå½“ć¦ć™ć‚‹å “åˆć€ć‚·ćƒ§ćƒ¼ćƒˆć‚«ćƒƒćƒˆć‚’åˆ„ć®ć‚Ŗ惖ć‚ø悧ć‚Æ惈恫ē§»å‹•ć™ć‚‹ć ć‘恧恙怂
  a = 2 

a2tag.png
1.png


ć“ć‚Œć§ć€åå‰ć€Œa怍恌ć‚Ŗ惖ć‚ø悧ć‚Æ惈å…Øä½“ć«ä»˜åŠ ć•ć‚Œć¾ć™2怂
ę•“ę•°1ć®ć‚½ćƒ¼ć‚¹ć‚Ŗ惖ć‚ø悧ć‚Æ惈恫ćÆć€ćƒ©ćƒ™ćƒ«ć€Œa怍恌ćŖ恏ćŖć‚Šć¾ć—ćŸć€‚ å½¼ćÆć‚‚ć†å°‘ć—é•·ē”Ÿćć™ć‚‹ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ćŒć€ć€Œa怍ćØć„ć†åå‰ć§å½¼ć‚’č¦‹ć¤ć‘ć‚‹ć“ćØćÆć§ćć¾ć›ć‚“ć€‚ ć‚Ŗ惖ć‚ø悧ć‚Æ惈恫ćƒŖćƒ³ć‚Æć¾ćŸćÆćƒ©ćƒ™ćƒ«ćŒćŖ恏ćŖ悋ćØć€ćƒ”ćƒ¢ćƒŖć‹ć‚‰å‰Šé™¤ć•ć‚Œć¾ć™ć€‚

ć‚ć‚‹åå‰ć‚’åˆ„ć®åå‰ć«å‰²ć‚Šå½“ć¦ć‚‹å “åˆć€ę—¢å­˜ć®ć‚Ŗ惖ć‚ø悧ć‚Æćƒˆć«åˆ„ć®ćƒ©ćƒ™ćƒ«ć‚’ä»˜ć‘ć‚‹ć ć‘ć§ć™ć€‚
  b = a 

ab2tag.png


怌b怍ćØć„ć†åå‰ćÆ态怌a怍ćØåŒć˜ć‚Ŗ惖ć‚ø悧ć‚Æćƒˆć«å‰²ć‚Šå½“ć¦ć‚‰ć‚ŒćŸ2ē•Ŗē›®ć®ćƒ©ćƒ™ćƒ«ć§ć™ć€‚

Python恧ćÆ通åøøć€Œå¤‰ę•°ć€ćØčØ€ć„ć¾ć™ćŒļ¼ˆäø€čˆ¬ēš„恫ćÆ専門ē”ØčŖžćØć—ć¦å—ć‘å…„ć‚Œć‚‰ć‚Œć¦ć„ć‚‹ćŸć‚ļ¼‰ć€å®Ÿéš›ć«ćÆć€Œåå‰ć€ć¾ćŸćÆć€Œč­˜åˆ„å­ć€ć‚’ę„å‘³ć—ć¾ć™ć€‚ Python恧ćÆć€ć€Œå¤‰ę•°ć€ćÆåå‰ä»˜ćć‚»ćƒ«ć§ćÆćŖćć€å€¤ćøć®å‚ē…§ć§ć™ć€‚

ć“ć®ćƒćƒ„ćƒ¼ćƒˆćƒŖć‚¢ćƒ«ć‹ć‚‰ć¾ć ä½•ć‚‚å—ć‘å–ć£ć¦ć„ćŖć„å “åˆćÆ态Pythonć§åå‰ćŒć©ć®ć‚ˆć†ć«ę©Ÿčƒ½ć™ć‚‹ć‹ć‚’ē†č§£ć—ć¦ćć ć•ć„ć€‚ ꘎ē¢ŗćŖē†č§£ćÆ間違恄ćŖ恏č‰Æ恄仕äŗ‹ć‚’ć—ć€ć“ć®ć‚ˆć†ćŖć‚±ćƒ¼ć‚¹ć‚’éæć‘ć‚‹ć®ć«å½¹ē«‹ć”ć¾ć™ļ¼š
ļ¼Ÿ ļ¼ˆä½•ć‚‰ć‹ć®ē†ē”±ć§ć€ć‚µćƒ³ćƒ—ćƒ«ć‚³ćƒ¼ćƒ‰ćŒć‚ć‚Šć¾ć›ć‚“-ē“„transl怂ļ¼‰

ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆć®ćƒ‘ćƒ©ćƒ”ćƒ¼ć‚æćƒ¼å€¤



恓悌ćÆ初åæƒč€…ćŒć‚ˆćēŠÆ恙悈恏恂悋間違恄恧恙怂 Pythonć§ååˆ†ćŖåå‰ć‚’ē†č§£ć—恦恄ćŖć„å “åˆć§ć‚‚ć€ć‚ˆć‚Šé«˜åŗ¦ćŖćƒ—ćƒ­ć‚°ćƒ©ćƒžćÆ恝悌悒čرåÆć—ć¾ć™ć€‚

 def bad_appendļ¼ˆnew_item态a_list = []ļ¼‰ļ¼š
     a_list.appendļ¼ˆnew_itemļ¼‰
     a_list悒čæ”恙


ć“ć“ć§ć®å•é”ŒćÆ态ē©ŗ恮ćƒŖć‚¹ćƒˆć§ć‚ć‚‹a_listć®ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆå€¤ćÆć€é–¢ę•°ć®å®šē¾©ę™‚恫恮ćæč؈ē®—ć•ć‚Œć‚‹ć“ćØ恧恙怂 ćć†ć™ć‚Œć°ć€é–¢ę•°ć‚’å‘¼ć³å‡ŗć™ćŸć³ć«ć€åŒć˜ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆå€¤ćŒå¾—ć‚‰ć‚Œć¾ć™ć€‚ ć“ć‚Œć‚’ę•°å›žč©¦ć—ć¦ćć ć•ć„ļ¼š

 >>> bad_appendļ¼ˆ 'one'ļ¼‰ć‚’å°åˆ·ć—ć¾ć™
 ['one']

 >>> bad_appendļ¼ˆ 'two'ļ¼‰ć‚’å‡ŗåŠ›ć—ć¾ć™
 ['one'态 'two']


ćƒŖć‚¹ćƒˆćÆå¤‰ę›“åÆčƒ½ćŖć‚Ŗ惖ć‚ø悧ć‚Æćƒˆć§ć‚ć‚Šć€ćć®å†…å®¹ć‚’å¤‰ę›“ć§ćć¾ć™ć€‚ ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆć®ćƒŖć‚¹ćƒˆļ¼ˆč¾žę›øć¾ćŸćÆć‚»ćƒƒćƒˆļ¼‰ć‚’å–å¾—ć™ć‚‹ę­£ć—ć„ę–¹ę³•ćÆć€é–¢ę•°å®£čØ€ć§ćÆćŖćå®Ÿč”Œę™‚ć«ä½œęˆć™ć‚‹ć“ćØ恧恙怂

 def good_appendļ¼ˆnew_item态a_list =ćŖ恗ļ¼‰ļ¼š
     a_list恌Noneć®å “åˆļ¼š
         a_list = []
     a_list.appendļ¼ˆnew_itemļ¼‰
     a_list悒čæ”恙


ļ¼…ę–‡å­—åˆ—ć®ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆ



Python恧ćÆ态ļ¼…ę¼”ē®—子ćÆC恮sprintfé–¢ę•°ć®ć‚ˆć†ć«ę©Ÿčƒ½ć—ć¾ć™ć€‚

恟恠恗态C恌悏恋悉ćŖć„å “åˆćÆ态恻ćØć‚“ć©ć‚ć‹ć‚Šć¾ć›ć‚“ć€‚ äø€čˆ¬ć«ć€ćƒ†ćƒ³ćƒ—ćƒ¬ćƒ¼ćƒˆć¾ćŸćÆå½¢å¼ć‚’ęŒ‡å®šć—ć€å€¤ć‚’ē½®ćę›ćˆć¾ć™ć€‚

ć“ć®ä¾‹ć§ćÆć€ćƒ†ćƒ³ćƒ—ćƒ¬ćƒ¼ćƒˆć«ćÆ2ć¤ć®ćƒ—ćƒ¬ć‚¼ćƒ³ćƒ†ćƒ¼ć‚·ćƒ§ćƒ³ä»•ę§˜ćŒå«ć¾ć‚Œć¦ć„ć¾ć™ć€‚ć€Œļ¼…s怍ćÆć€Œę–‡å­—åˆ—ć‚’ć“ć“ć«ęŒæå…„ć€ć‚’ę„å‘³ć—ć€ć€Œļ¼…i怍ćÆć€Œę•“ę•°ć‚’ę–‡å­—åˆ—ć«å¤‰ę›ć—ć¦ć“ć“ć«č²¼ć‚Šä»˜ć‘ć€ć‚’ę„å‘³ć—ć¾ć™ć€‚ 怌ļ¼…s怍ćÆ态Python恮ēµ„ćæč¾¼ćæstrļ¼ˆļ¼‰é–¢ę•°ć‚’ä½æē”Ø恗恦ć‚Ŗ惖ć‚ø悧ć‚Æćƒˆć‚’ę–‡å­—åˆ—ć«å¤‰ę›ć™ć‚‹ćŸć‚ć€ē‰¹ć«ä¾æåˆ©ć§ć™ć€‚

ē½®ę›å€¤ćÆ惑ć‚æćƒ¼ćƒ³ćØäø€č‡“恙悋åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚ 恓恓恧ćÆ态2ć¤ć®å€¤ćŒć‚æćƒ—ćƒ«ć«ć‚³ćƒ³ćƒ‘ć‚¤ćƒ«ć•ć‚Œć¦ć„ć¾ć™ć€‚
名前= 'David'
ćƒ”ćƒƒć‚»ćƒ¼ć‚ø= 3
 text =ļ¼ˆ 'Helloļ¼…s态you haveļ¼…i messages'
         ļ¼…ļ¼ˆåå‰ć€ćƒ”ćƒƒć‚»ćƒ¼ć‚øļ¼‰ļ¼‰
å°åˆ·ćƒ†ć‚­ć‚¹ćƒˆ


ēµč«–ļ¼š
恓悓恫恔ćÆćƒ‡ćƒ“ćƒƒćƒ‰ć€ćƒ”ćƒƒć‚»ćƒ¼ć‚ø恌3ć¤ć‚ć‚Šć¾ć™


č©³ē“°ć«ć¤ć„恦ćÆ态 Pythonćƒ©ć‚¤ćƒ–ćƒ©ćƒŖćƒŖćƒ•ć‚”ćƒ¬ćƒ³ć‚¹ 态悻ć‚Æć‚·ćƒ§ćƒ³2.3.6.2ć€ć€Œę–‡å­—åˆ—ć®ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆę“ä½œć€ć‚’å‚ē…§ć—ć¦ćć ć•ć„ć€‚ 惖惃ć‚Æćƒžćƒ¼ć‚Æć—ć¦ćć ć•ć„ļ¼
ć¾ć č”Œć£ć¦ć„ćŖć„å “åˆćÆ态python.org恫ē§»å‹•ć—态HTMLćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆļ¼ˆ.zipćŖ恩ļ¼‰ć‚’ćƒ€ć‚¦ćƒ³ćƒ­ćƒ¼ćƒ‰ć—ć¦ć€ćƒžć‚·ćƒ³ć«ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć—ć¾ć™ć€‚ 恂ćŖćŸć®ęŒ‡å…ˆć§å®Œå…ØćŖć‚¬ć‚¤ćƒ€ćƒ³ć‚¹ć‚’ęŒć£ć¦ć„ć‚‹ä»„äøŠć«ä¾æ利ćŖ悂恮ćÆć‚ć‚Šć¾ć›ć‚“ć€‚

高åŗ¦ćŖļ¼…ę–‡å­—åˆ—ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆ



å¤šćć®äŗŗćÆć€ę–‡å­—åˆ—ć‚’ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆć™ć‚‹ä»–ć®ć‚ˆć‚ŠęŸ”č»ŸćŖę–¹ę³•ćŒć‚ć‚‹ć“ćØ悒ēŸ„ć‚Šć¾ć›ć‚“ļ¼š

č¾žę›øä»˜ćć®åå‰ļ¼š

値= {ć€Œåå‰ć€ļ¼šåå‰ć€ć€Œćƒ”ćƒƒć‚»ćƒ¼ć‚ø怍ļ¼šćƒ”ćƒƒć‚»ćƒ¼ć‚ø}
 printļ¼ˆ 'Helloļ¼…ļ¼ˆnameļ¼‰s态you haveļ¼…ļ¼ˆmessagesļ¼‰i'
        ć€Œćƒ”ćƒƒć‚»ćƒ¼ć‚ø怍ļ¼…値ļ¼‰


恓恓恧ćÆć€č¾žę›ø恧ꤜē“¢ć•ć‚Œć‚‹ē½®ę›å€¤ć®åå‰ć‚’定ē¾©ć—ć¾ć™ć€‚

å†—é•·ę€§ć«ę°—ć„ćć¾ć—ćŸć‹ļ¼Ÿ åå‰ć€Œname怍ćØ怌messages怍ćÆćƒ­ćƒ¼ć‚«ćƒ«ć§ć™ć§ć«å®šē¾©ć•ć‚Œć¦ć„ć¾ć™
名前ē©ŗ間怂 ę”¹å–„ć§ćć¾ć™ć€‚
ćƒ­ćƒ¼ć‚«ćƒ«åå‰ē©ŗ間悒ä½æē”Øć—ćŸåå‰ļ¼š
 printļ¼ˆ 'Helloļ¼…ļ¼ˆnameļ¼‰s态you haveļ¼…ļ¼ˆmessagesļ¼‰i'
        'messages'ļ¼…localsļ¼ˆļ¼‰ļ¼‰


localsļ¼ˆļ¼‰é–¢ę•°ćÆć€ćƒ­ćƒ¼ć‚«ćƒ«åå‰ē©ŗé–“ć§åˆ©ē”ØåÆčƒ½ćŖć™ć¹ć¦ć®č­˜åˆ„å­ć®č¾žę›ø悒čæ”ć—ć¾ć™ć€‚

恓悌ćÆ非åøøć«å¼·åŠ›ćŖćƒ„ćƒ¼ćƒ«ć§ć™ć€‚ ć“ć‚Œć«ć‚ˆć‚Šć€ćƒ†ćƒ³ćƒ—ćƒ¬ćƒ¼ćƒˆå†…ć®ē½®ę›å€¤ć®äø€č‡“悒åæƒé…ć™ć‚‹ć“ćØćŖ恏态åæ…要恫åæœć˜ć¦ć™ć¹ć¦ć®č”Œć‚’ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆć§ćć¾ć™ć€‚
恗恋恗态ę³Øę„ć—ć¦ćć ć•ć„ć€‚ ļ¼ˆć€Œå¤§ććŖåŠ›ć§ć€å¤§ććŖč²¬ä»»ćŒä¼“ć„ć¾ć™ć€‚ć€ļ¼‰å¤–éƒØć«é–¢é€£ć™ć‚‹ę–‡å­—åˆ—ćƒ‘ć‚æćƒ¼ćƒ³ć§localsļ¼ˆļ¼‰ć‚’ä½æē”Øć™ć‚‹å “åˆć€å‘¼ć³å‡ŗć—å“ć«ćƒ­ćƒ¼ć‚«ćƒ«åå‰ē©ŗé–“ć‚’ęä¾›ć—ć¾ć™ć€‚ 恝悌ćÆ恂ćŖ恟恌ēŸ„ć£ć¦ć„ć‚‹ć“ćØ恠恑恧恙怂
ćƒ­ćƒ¼ć‚«ćƒ«åå‰ē©ŗ間悒ē¢ŗčŖć™ć‚‹ć«ćÆļ¼š
 >>> pprint import pprint恋悉
 >>> pprintļ¼ˆćƒ­ćƒ¼ć‚«ćƒ«ļ¼ˆļ¼‰ļ¼‰

pprint悂ä¾æ利ćŖę©Ÿčƒ½ć§ć™ć€‚ ć¾ć ć‚ć‹ć‚‰ćŖć„å “åˆćÆć€å½¼å„³ćØ遊悓恧ćæć¦ćć ć•ć„ć€‚ ćƒ‡ćƒ¼ć‚æę§‹é€ ć®ćƒ‡ćƒćƒƒć‚°ćŒćÆ悋恋恫ē°”å˜ć«ćŖć‚Šć¾ć™ļ¼

高åŗ¦ćŖļ¼…ę–‡å­—åˆ—ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆ



ć‚Ŗ惖ć‚ø悧ć‚Æćƒˆć®ć‚¤ćƒ³ć‚¹ć‚æćƒ³ć‚¹ć®å±žę€§ć®åå‰ē©ŗ間ćÆć€å˜ćŖć‚‹č¾žę›ø态self .__ dict__恧恙怂

ć‚¤ćƒ³ć‚¹ć‚æćƒ³ć‚¹åå‰ē©ŗ間悒ä½æē”Øć—ćŸåå‰ļ¼š

 printļ¼ˆć€Œļ¼…ļ¼ˆerror_countļ¼‰då€‹ć®ć‚Øćƒ©ćƒ¼ćŒč¦‹ć¤ć‹ć‚Šć¾ć—ćŸć€
        ļ¼…self .__ dict__ļ¼‰


同ē­‰ć§ć™ćŒć€ä»„äø‹ć‚ˆć‚Šć‚‚ęŸ”č»Ÿę€§ćŒć‚ć‚Šć¾ć™ļ¼š

印刷ļ¼ˆć€Œļ¼…då€‹ć®ć‚Øćƒ©ćƒ¼ćŒč¦‹ć¤ć‹ć‚Šć¾ć—ćŸć€
        ļ¼…self.error_countļ¼‰


ę³Øļ¼šć‚Æćƒ©ć‚¹__dict__恮ć‚Æćƒ©ć‚¹å±žę€§ć€‚ 名前ē©ŗé–“ć®ę¤œē“¢ćÆć€å®Ÿéš›ć«ćÆč¾žę›øꤜē“¢ć§ć™ć€‚

ēæ»čØ³ć®ęœ€å¾Œć®éƒØåˆ†ć€‚

Source: https://habr.com/ru/post/J89735/


All Articles