ćććÆćDavid Goodgerć®čØäŗ
ćę¬ē©ć®Pythonistć®ććć«ć³ć¼ććęøćļ¼Pythonć®ć¤ćć£ćŖć ćć®ēæ»čسć®ē¶ć
ć§ććēæ»čسć®
éå§ćØ
ēµäŗ ć
ęåć®éØåćč²“éćŖć³ć”ć³ććčÆå®ēćŖć³ć”ć³ććč©ä¾”ćć¦ććććć¹ć¦ć®habrayuzerć«ęč¬ćć¾ćć ćØć©ć¼ćčę
®ć«å
„ććććØćć¾ććććåć³å»ŗčØēćŖč°č«ćę„½ććæć«ćć¦ćć¾ćć
åÆč½ćŖéćä½æēØļ¼1ļ¼
čÆćļ¼
dć®ćć¼ć®å “åļ¼
å°å·ćć¼
- éåøøćinćÆé«éć§ćć
- ćć®ć”ć½ćććÆćä»»ęć®ć³ć³ććć®č¦ē“ ļ¼ćŖć¹ćććæćć«ćć»ćććŖć©ļ¼ć§ćę©č½ćć¾ćć
- inćę¼ē®åć§ćļ¼ććććčŖ¬ęćć¾ćļ¼ć
ęŖćļ¼
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ć¤ć®ę¹ę³ćꬔć«ē¤ŗćć¾ćć
- ć³ć¬ćÆć·ć§ć³ć¢ćøć„ć¼ć«ćć¤ć³ćć¼ććććć®ć¢ćøć„ć¼ć«ć®ååćåē
§ćć¾ćć
- ć¾ććÆćdefaultdictåćē“ę„ć¤ć³ćć¼ććć¾ćć
ć³ć¬ćÆć·ć§ć³ćć¤ć³ćć¼ććć
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.0 | 0仄å¤ć®ä»»ęć®ę°åļ¼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;
|
|
ć»ć«ćaćć«ćÆę“ę°1ćå«ć¾ććććć«ćŖćć¾ććć
åćå¤ę°ć«å„ć®å¤ćå²ćå½ć¦ććØćć»ć«ć®å
容ćē½®ćęćććć¾ćć
a = 2;
|
|
ć»ć«ćaćć«ćÆę“ę°2ćå«ć¾ćć¦ćć¾ćć
ććå¤ę°ćå„ć®å¤ę°ć«å²ćå½ć¦ććØćå¤ć®ć³ćć¼ćä½ęćććę°ććć»ć«ć«é
ē½®ććć¾ćć
int b = a;
|
|
|
ćBććÆę“ę°2ć®ć³ćć¼ćęć¤2ēŖē®ć®ć»ć«ć§ććć»ć«ćaćć«ćÆå„ć®ć³ćć¼ćććć¾ćć
Pythonć«ćÆćååććććć¾ć
Pythonć§ćÆććååćć¾ććÆćčå„åććÆćŖććøć§ćÆćć«ä»ććććć©ćć«ļ¼ćæć°ćć©ćć«ļ¼ć®ćććŖćć®ć§ćć
a = 1
|
|
ććć§ćÆćå
Øä½ć«ć©ćć«ćaććä»ćć¦ćć¾ćć
ćaććåå²ćå½ć¦ććå “åćć·ć§ć¼ćć«ćććå„ć®ćŖććøć§ćÆćć«ē§»åććć ćć§ćć
a = 2
|
|
|
ććć§ćååćaćććŖććøć§ćÆćå
Øä½ć«ä»å ććć¾ć2ć
ę“ę°1ć®ć½ć¼ć¹ćŖććøć§ćÆćć«ćÆćć©ćć«ćaćććŖććŖćć¾ććć å½¼ćÆććå°ćé·ēćććććććć¾ćććććaććØććååć§å½¼ćč¦ć¤ććććØćÆć§ćć¾ććć ćŖććøć§ćÆćć«ćŖć³ćÆć¾ććÆć©ćć«ććŖććŖććØćć”ć¢ćŖććåé¤ććć¾ćć
ććååćå„ć®ååć«å²ćå½ć¦ćå “åćę¢åć®ćŖććøć§ćÆćć«å„ć®ć©ćć«ćä»ććć ćć§ćć
b = a
|
|
ć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__ć®ćÆć©ć¹å±ę§ć ååē©ŗéć®ę¤ē“¢ćÆćå®éć«ćÆč¾ęøę¤ē“¢ć§ćć
ēæ»čسć®ęå¾ć®éØåć