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