PythonćØćÆļ¼Ÿē‰¹å¾“ćØå­¦ć¶ē†ē”±

ęµ·å¤–ć§ćÆ惔ć‚øćƒ£ćƒ¼ć€ć—ć‹ć—å›½å†…ć§ćÆćƒžć‚¤ćƒŠćƒ¼ćØć„ć†ć‚‚ć®ćŒIT恮äø–ē•Œć§ćÆēµę§‹ć‚ć‚Šć¾ć™ć€‚ćØć‚Šć‚ć‘ę—„ęœ¬ć®å “åˆę—§ę„ć®ć‚‚ć®ć‚’ē”±ćØ恙悋é¢Øę½®ćŒćƒ¦ćƒ¼ć‚¶å“ć«å¤šć„ćŒē‚ŗ恫态開ē™ŗå“ć¾ć§äø–ē•Œć«é…ć‚Œć¦ć‹ć‚‰ęŽ”ē”Øć™ć‚‹å‚¾å‘ćŒę˜”ć‹ć‚‰ć‚ć‚Šć¾ć™ć€‚ćć†ć„ć£ćŸć‚‚ć®ć®äø€ć¤ćŒPythonč؀čŖžć€‚

恓恮Pythonč‡Ŗä½“ć™ć§ć«Version3.xē³»ć«ć¾ć§č‡³ć£ć¦ćŠć‚Šć€1990幓ē”Ÿć¾ć‚Œć®ę­“å²ć‚ć‚‹č؀čŖžć€‚ć‚µćƒ¼ćƒć‚µć‚¤ćƒ‰ć‹ć‚‰ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć‚¢ćƒ—ćƒŖć¾ć§ć€ę§˜ć€…ćŖé ˜åŸŸć§åˆ©ē”Øć•ć‚Œć¦ć„ć¾ć™ć€‚ä»Šå›žćÆå­¦ēæ’ć«é‡ē‚¹ć‚’ē½®ć„ć¦ć¾ćØ悁恦ćæ悈恆ćØę€ć„ć¾ć™ć€‚

ꦂ要

å…ƒć€…ćÆć‚¹ć‚ÆćƒŖ惗惈č؀čŖžć®ļ¼‘恤ćØ恗恦čŖ•ē”Ÿć—ć€ć‚µćƒ¼ćƒć‚µć‚¤ćƒ‰ć¤ć¾ć‚ŠPHP悄Node.jsć®ć‚ˆć†ć«ć‚µćƒ¼ćƒćƒ¼ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ļ¼ˆć‚¦ć‚§ćƒ–ćƒ•ćƒ¬ćƒ¼ćƒ ćƒÆćƒ¼ć‚Æ悒ä½æć£ćŸć‚¦ć‚§ćƒ–ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ć‚‚ļ¼‰ć‚’ä½œć‚‹ć“ćØ恌åÆčƒ½ć§ć‚ć‚Šć€ć‚¹ć‚ÆćƒŖ惗惈č؀čŖžć§ć‚ć‚‹ćŸć‚ć€ćƒ­ćƒ¼ć‚«ćƒ«ē’°å¢ƒć§ć‚‚å®Ÿč”ŒćŒåÆčƒ½ć€‚å¤šēØ®å¤šę§˜ćŖćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ恌ē”Øę„ć•ć‚Œć¦ć„ć¦ć€å°Žå…„ć™ć‚‹äŗ‹ć§ē°”å˜ć«ę©Ÿčƒ½ć‚’ę‰±ć†ć“ćØ恌恧恍悋ē‚¹ćÆNode.js悒ä½æć£ć¦ć‚‹äŗŗ恋悉恙悋ćØé¦“ęŸ“ćæćŒć‚ć‚Šć¾ć™ć€‚

Version2.xē³»ćŒć“ć‚Œć¾ć§ć®äø»ęµć§ć—ćŸćŒļ¼ˆ2020å¹“ć‚µćƒćƒ¼ćƒˆēµ‚äŗ†äŗˆå®šļ¼‰ć€ē¾åœØćÆäø¦č”Œć—恦Version3.xē³»ćŒé€²ć‚“恧恊悊态äø”č€…ć«å®Œå…ØćŖäŗ’ę›ę€§ćÆćŖć„ćŸć‚ć€ć“ć‚Œć‹ć‚‰å­¦ć¶ć®ć§ć‚ć‚Œć°3.xē³»ćŒć‚Ŗć‚¹ć‚¹ćƒ”ć€‚ćŸć ć—ć€å¤šēØ®å¤šę§˜ćŖč³‡ę–™ćŒć‚¦ć‚§ćƒ–ć«ćÆ恂悋悂恮恮态2.xē³»ćŖ恮恋ļ¼Ÿ3.xē³»ć§ć‚‚é€šć˜ć‚‹ć‚‚ć®ćŖ恮恋ļ¼Ÿč¦‹ę„µć‚ć‚‹åæ…č¦ćŒć‚ć‚‹ćŸć‚ć€ć“ć“ćŒē¾åœØå­¦ēæ’ć®éšœå£ć«ćŖć£ć¦ć‚‹ć€‚

ę—„ęœ¬ć§ćÆć€Œę©Ÿę¢°å­¦ēæ’ć€ć§ć‚ć£ćŸć‚Šć€ć€Œćƒ‡ćƒ¼ć‚æč§£ęžć€ć®č¦³ē‚¹ć‹ć‚‰ę³Øē›®ć•ć‚Œć¦ć‚‹ēÆ€ćŒć‚ć‚‹ć‚‚ć®ć®ć€å…ƒć€…ćć‚Œć‚’å°‚é–€ćØ恙悋č؀čŖžć§ćÆćŖ恏态非åøø恫å„Ŗć‚ŒćŸćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ恌恂悋恟悁态ę³Øē›®ć•ć‚Œć¦ć‚‹ļ¼ˆä½†ć—ć€ćć‚Œćžć‚Œć®é ˜åŸŸć«é–¢ć™ć‚‹ēŸ„č­˜ćŒåˆ„é€”č¦ę±‚ć•ć‚Œć‚‹ć®ć§ć€čŖ°ć§ć‚‚å®¹ę˜“ć«å®Ÿē¾ć§ćć‚‹ć‚ć‘恧ćÆćŖ恄ļ¼‰

ć¾ćŸć€å›½å†…ć§ćÆRaspberry Pić®ć‚ˆć†ćŖćƒÆćƒ³ćƒœćƒ¼ćƒ‰ć‚³ćƒ³ćƒ”ćƒ„ćƒ¼ć‚æ恮IoT恧非åøøć«ć‚ˆćåˆ©ē”Øć•ć‚Œć¦ć„ć‚‹ć€‚ć“ć‚Œć‚‚å„ēØ®ć‚»ćƒ³ć‚µćƒ¼ē”Ø恮Pythonćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ恌非åøø恫豊åÆŒć§ć‚ć‚‹ć®ćŒē†ē”±ć®ļ¼‘恤怂

č؀čŖžć®ē‰¹å¾“ćØć—ć¦éžåøøć«ć‚·ćƒ³ćƒ—ćƒ«ćŖ꧋ꖇ恧态čŖ°ćŒę›øć„ć¦ć‚‚åŒć˜ć‚ˆć†ćŖę§‹ę–‡ć§å®Ÿē¾ć§ćć‚‹ć‚ˆć†ć«čØ­čØˆć•ć‚Œć¦ć„ć‚‹ćØ恄恆怂他恮č؀čŖžć®ć‚ˆć†ć«åˆ©ē”Øč€…ć®čƒ½åŠ›ć«ć‚ˆć£ć¦å·®ćŒå‡ŗć«ćć„ć€‚ć—ć‹ć—ć€ć‚¹ć‚ÆćƒŖ惗惈č؀čŖžć§ć‚ć‚‹ćŸć‚ć€å®Ÿč”Œé€Ÿåŗ¦ćÆé…ćć€é«˜é€ŸåŒ–ć‚’ē›®ęŒ‡ć™å “åˆć«ćÆ态悄ćÆ悊ę›øćę–¹ć§ć‚ć£ćŸć‚Šć€ć‚¢ćƒ«ć‚“ćƒŖć‚ŗćƒ ć§ä¹—ć‚Šč¶Šćˆć‚‹åæ…č¦ćŒć‚ć‚‹ćæ恟恄ļ¼ˆć“恮č¾ŗ悊ćÆGoogle Apps Script恫悂čØ€ćˆć‚‹ć“ćØ恧恙恭ļ¼‰ć€‚

開ē™ŗē’°å¢ƒć®ęŗ–å‚™

macOS悄Linuxć®å “åˆć€OSęؙęŗ–恧PythonćŒå…„ć£ć¦ć„ćŸć‚Šć—ć¾ć™ć€‚Windowsć®å “åˆćÆć‚¼ćƒ­ć‹ć‚‰ē’°å¢ƒć‚’꧋ēÆ‰ć™ć‚‹åæ…č¦ę€§ćŒć‚ć‚Šć¾ć™ć€‚ć—ć‹ć—ć€å‰č€…ć®å “åˆć§ć‚‚OSęؙęŗ–ć‚ˆć‚Šć‚‚ć‚¼ćƒ­ć‹ć‚‰ę§‹ēÆ‰ć—ćŸć»ć†ćŒč‰Æ恄ćØę€ć„ć¾ć™ć€‚ē†ē”±ćÆćƒćƒ¼ć‚øćƒ§ćƒ³ćŒå¤ć„ć€OSć®ćƒćƒ¼ć‚øćƒ§ćƒ³ć‚¢ćƒƒćƒ—ć«ä¼“ć£ć¦å·»ćč¾¼ć¾ć‚Œć‚‹ćŖ恩ćŖ恩怂

ćƒ€ć‚¦ćƒ³ćƒ­ćƒ¼ćƒ‰ćØć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«

ęœ¬å®¶ć‚¦ć‚§ćƒ–ć‚µć‚¤ćƒˆć‹ć‚‰ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ©ć‚’ę‰‹ć«å…„ć‚Œć¦ć€å®Ÿč”Œć—ć¾ć™ć€‚ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć™ć‚‹äŗ‹ć§ć€Python恠恑恧ćŖ恏Python LauncherćØå‘¼ć°ć‚Œć‚‹pyćƒ•ć‚”ć‚¤ćƒ«ć‚’ē›“ęŽ„å®Ÿč”Œć™ć‚‹ć“ćØć®ć§ćć‚‹ćƒ©ćƒ³ćƒćƒ£ćƒ¼ć‚¢ćƒ—ćƒŖć‚‚ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć•ć‚Œć¾ć™ć€‚é€šåøøćÆć‚æćƒ¼ćƒŸćƒŠćƒ«ć‹ć‚‰ć‚³ćƒžćƒ³ćƒ‰ć§å®Ÿč”Œć™ć‚‹ć‚‚ć®ć§ć™ćŒć€ćƒ©ćƒ³ćƒćƒ£ćƒ¼ć‚’ä½æć£ć¦ćƒćƒ¼ć‚øćƒ§ćƒ³ć‚’åˆ‡ć‚Šę›æ恈ćŖćŒć‚‰ć®å®Ÿč”Œć‚‚åÆčƒ½ć§ć™ć€‚

Windowsćƒ¦ćƒ¼ć‚¶ć®å “åˆć€

  • ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ę™‚ć«ć€ŒAdd Python 3.8 to PATHć€ć«ćƒć‚§ćƒƒć‚Æć‚’å…„ć‚Œć¦ćŠćć“ćØć§ć€ćƒ‘ć‚¹ćŒē’°å¢ƒå¤‰ę•°ć«ē™»éŒ²ć•ć‚Œć‚‹ć®ć§ć€åæ˜ć‚Œćšć«å…„ć‚Œć¦ćŠćć¾ć—ć‚‡ć†ć€‚
  • 32bitē‰ˆćØ64bitē‰ˆć®2恤恌ē”Øę„ć•ć‚Œć¦ć„ć‚‹ć®ć§ć€ä½æē”Ø恗恦悋OS恮bitć‚’č€ƒę…®ć—ć¦éøꊞ恙悋åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚ęؙęŗ–恠ćØ32bitē‰ˆćŒćƒ€ć‚¦ćƒ³ćƒ­ćƒ¼ćƒ‰ć•ć‚Œć‚‹ć€‚64bitē‰ˆćÆå “ę‰€ćŒć‚ć‹ć‚Šć«ćć„ć®ć§ę³Øꄏ怂
  • ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«å¾Œć®Disable Path length limit恮項ē›®ćŒå‡ŗć¾ć™ć€‚PATH恌260ę–‡å­—ć‚’č¶…ćˆć‚‹å “åˆć€Windows10恧ćÆćć‚Œć‚’č§£é™¤ć§ćć‚‹ć‚‚ć®ć§ć™ćŒć€é€šåøøćÆå®Ÿč”Œć—ćŖćć¦ć‚‚č‰Æ恄恧恙怂

図ļ¼šć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«č‡Ŗ体ćÆćØć£ć¦ć‚‚ē°”単

図ļ¼šWindowsćƒ¦ćƒ¼ć‚¶ćÆPATH恮čæ½åŠ ć‚’ćƒć‚§ćƒƒć‚Æ恗恦恊恓恆

ćƒćƒ¼ć‚øćƒ§ćƒ³ć®ē¢ŗčŖćØå®Ÿč”Œ

macOSć®å “åˆć€ć‚æćƒ¼ćƒŸćƒŠćƒ«ć‹ć‚‰python3 --versionć‚’å®Ÿč”Œć™ć‚‹ć ć‘ć§ćƒćƒ¼ć‚øćƒ§ćƒ³ē¢ŗčŖćŒåÆčƒ½ć§ć™ć€‚ć¾ćŸć€pyćƒ•ć‚”ć‚¤ćƒ«ć®å®Ÿč”Œć‚‚python3 test.pyćØć„ć£ćŸå…·åˆć«å®Ÿč”Œć™ć‚‹ć ć‘ć€‚éžåøø恫ē°”å˜ć§ć™ć€‚PATH恮ē¢ŗčŖćÆ态which python3恧ē¢ŗčŖåÆčƒ½ć§ć™ć€‚ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆć§ćÆ态/usr/local/bin/python3ćØćŖć‚Šć¾ć™ć€‚

Windowsć®å “åˆć€ć‚³ćƒžćƒ³ćƒ‰ćƒ—ćƒ­ćƒ³ćƒ—ćƒˆć‹ć‚‰python --versionć§ćƒćƒ¼ć‚øćƒ§ćƒ³ē¢ŗčŖćŒåÆčƒ½ć§ć™ć€‚ć¾ćŸć€pyćƒ•ć‚”ć‚¤ćƒ«ć®å®Ÿč”Œć‚‚python test.pyćØć„ć£ćŸå…·åˆć«å®Ÿč”Œć™ć‚‹ć ć‘ć€‚PATH恮ē¢ŗčŖćÆ态ē’°å¢ƒå¤‰ę•°ć‚’見悋ćØć‚ć‹ć‚Šć¾ć™ć€‚ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆć§ćÆ态C:\Users\ćƒ¦ćƒ¼ć‚¶å\AppData\Local\Programs\Python\Python38\Scripts\恫ćŖć‚Šć¾ć™ć€‚

図ļ¼šē’°å¢ƒå¤‰ę•°ć«PATHćÆčؘčæ°ć•ć‚Œć¦ć„ć‚‹ļ¼ˆWinļ¼‰

ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ恮čæ½åŠ 

Node.js恧恄恆ꉀ恮npmć®ć‚ˆć†ćŖ悂恮ćØ恗恦态Python3.x恫ćÆpip3ćŒć‚ć‚Šć¾ć™ć€‚dateutilćØć„ć†ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć‚’ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć™ć‚‹ć®ć§ć‚ć‚‹ćŖ悉恰态pip3 install python-dateutilć§ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ćŒåÆčƒ½ć§ć™ć€‚Node.jsć®ć‚ˆć†ć«ćƒ—ćƒ­ć‚ø悧ć‚Æ惈ęÆŽć«ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć•ć‚Œć‚‹ć‚ć‘ć§ćÆćŖ恄恮恧ę³Øꄏ怂uninstallć§ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć‚’é™¤å¤–ć§ćć¾ć™ć€‚ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć®ć‚¢ćƒƒćƒ—ć‚°ćƒ¬ćƒ¼ćƒ‰ćÆ态pip3 install --upgradećØć„ć†å…·åˆć«ć€ć‚Ŗćƒ—ć‚·ćƒ§ćƒ³ć‚’ä»˜ć‘åŠ ćˆć¾ć™ć€‚

ā€»python2.xē³»ćŒå…„ć£ć¦ć„ćŖ恄ē’°å¢ƒć®å “合ćÆpip恧态3.xē³»ć‚‚åŒå±…ć—ć¦ć‚‹å “åˆć«ćÆ态pip3悒ä½æć†ć‚ˆć†ć«ćŖć‚Šć¾ć™ć€‚

ä½æē”Øć™ć‚‹å “åˆć«ćÆ态pyćƒ•ć‚”ć‚¤ćƒ«ć‚’ćƒ†ć‚­ć‚¹ćƒˆć‚Øćƒ‡ć‚£ć‚æ恧ē”Øę„ć—ć¦ć€Node.jsć®ć‚ˆć†ć«ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć‚’å‘¼ć³å‡ŗ恙꧋ꖇ悒ę›ø恏åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚ä¾‹ćˆć°ć€ę•°å¹“å¾Œć®ę—„ä»˜ć‚’ę±‚ć‚ć‚‹ć®ć§ć‚ć‚Œć°ä»„äø‹ć®ć‚ˆć†ćŖ꧋ꖇ悒čؘčæ°ć—ć¾ć™ļ¼ˆrelativedeltaćØ恄恆ć‚Æćƒ©ć‚¹ć‚’å‘¼ć³å‡ŗć—ć¾ć™ļ¼‰

図ļ¼špip3ć§ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć‚’ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«

Pythonč‡Ŗä½“ć‚’ć‚¢ćƒƒćƒ—ć‚°ćƒ¬ćƒ¼ćƒ‰ć™ć‚‹å “åˆ

Pythonč‡Ŗä½“ć®ć‚¢ćƒƒćƒ—ć‚°ćƒ¬ćƒ¼ćƒ‰ćÆć€ę–°č¦ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ę™‚ćØåŒć˜ć‚ˆć†ć«ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ©ć‚’å®Ÿč”Œć—ć¦äøŠę›øćć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć™ć‚Œć°OK恧恙怂恧恙恌态čæ½åŠ ć§ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć—ćŸćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ锞ćÆć‚¼ćƒ­ć‹ć‚‰ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć—ē›“恗恌åæ…要恧恂悋恮恧态仄äø‹ć®ę‰‹é †ć§å†ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć‚’č”Œć„ć¾ć™ć€‚

  1. pip3 freeze > requirements.txtć§ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ęøˆćæćƒ©ć‚¤ćƒ–ćƒ©ćƒŖäø€č¦§ć‚’ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆć—ć¦ćŠć
  2. Pythonć‚’ćƒćƒ¼ć‚øćƒ§ćƒ³ć‚¢ćƒƒćƒ—ć•ć›ć‚‹
  3. pip3 install -r requirements.txt恫恦态ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆć—ćŸäø€č¦§ć‹ć‚‰ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ悒äø€ę‹¬ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć™ć‚‹

ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°č؀čŖžć®ē‰¹å¾“

ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°č؀čŖžć«ćÆ恝悌恞悌ē‰¹å¾“ćŒć‚ć‚Šć¾ć™ćŒć€PythonćÆ非åøøć«ć‚·ćƒ³ćƒ—ćƒ«ć§ć€é€†ć«ä»–ć®č؀čŖžć§ę…£ć‚Œć¦ć„ć‚‹äŗŗ恫ćØć£ć¦ćÆ态ćØć£ć¤ćć«ćć„éƒØåˆ†ćŒć‚ć‚‹ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ć€‚

å¤‰ę•°ć®ē‰¹å¾“

Pythonć®å¤‰ę•°ćÆvar悄letć®ć‚ˆć†ćŖ定ē¾©ćŒå­˜åœØć—ć¾ć›ć‚“ć€‚ć„ććŖć‚Šå¤‰ę•°åć‚’ę›øć„ć¦ä»£å…„ć™ć‚‹ć ć‘ć€‚å®šę•°(Constļ¼‰ć®ć‚ˆć†ćŖć‚‚ć®ć‚‚å­˜åœØ恗ćŖć„ć€‚ä½†ć—ć€JavaScriptåŒę§˜ć€ä»£å…„ć—ćŸå€¤ć«ć‚ˆć£ć¦ęš—é»™ēš„ć«åž‹ćŒę±ŗć¾ć‚‹ć®ć§ć€JavaScriptć®å¤‰ę•°ć®ę‰±ć„ćŒć‚ˆć‚Šć‚·ćƒ³ćƒ—ćƒ«ć«ćŖć£ćŸć‚‚ć®ćØꀝ恈恰OKćŖ恮恋ćŖ恁ćØć€‚ć¾ćŸć€å¤‰ę•°ć ć‘ć‚’å®šē¾©ć—ć¦ćŠć„ć¦ć€å¾Œć§åˆ©ē”Ø恙悋ćØć‚Øćƒ©ćƒ¼ć«ćŖć‚‹ć®ć§ć€å®šē¾©ę™‚ć«ä»£å…„恌åæ…要恫ćŖć‚Šć¾ć™ć€‚

ć¾ćŸć€ē¾åœØćć®å¤‰ę•°ć®åž‹ć‚’čŖæć¹ćŸć„å “åˆć«ćÆ态type(å¤‰ę•°å)ćØć„ć£ćŸć‚ˆć†ć«ć€type恧čŖæć¹ć‚‹ć“ćØ恌åÆčƒ½ć§ć™ć€‚intćŖć‚‰ę•°å€¤ć€strćŖć‚‰ę–‡å­—åˆ—ć€dictćŖ悉dictionaryåž‹ć€é–¢ę•°ćŖ悉function型ćØć„ć£ćŸå…·åˆć«ē­”ćˆćŒčæ”ć£ć¦ćć¾ć™ć€‚

ć‚¤ćƒ³ćƒ‡ćƒ³ćƒˆ

ꮆ恩恮č؀čŖžć§ćÆć€ć‚¤ćƒ³ćƒ‡ćƒ³ćƒˆćÆć‚½ćƒ¼ć‚¹ć‚³ćƒ¼ćƒ‰ć‚’čŖ­ćæć‚„ć™ćć™ć‚‹ćŸć‚ć®ę–‡å­—ć®å­—äø‹ć’ć‚’ę„å‘³ć—ć¾ć™ć€‚ifꖇćŖć©ć§åŒć˜ćƒ©ć‚¤ćƒ³ć«ć‚³ćƒ¼ćƒ‰ć‚’äø¦ć¹ć¦ć—ć¾ć†ćØ态恙恔恏čŖ­ćæć«ćć„ć€‚ćŖ恮恧态if{}ć®ę‹¬å¼§å†…ć§ćÆ态ļ¼‘ę®µé ­ć®ę–‡å­—ć‚’äø‹ć’恦äøŠć’悋怂恗恋恗态Python恧ćÆifꖇćŖć©ć«ę‹¬å¼§ćŒć‚ć‚Šć¾ć›ć‚“ć€‚

ę‹¬å¼§ć®ä»£ć‚ć‚Šć«ć‚¤ćƒ³ćƒ‡ćƒ³ćƒˆć‚’ä½æ恆恓ćØć§ć€ćć®ifꖇ恮äø­ć§ć‚ć‚‹äŗ‹ć‚’ę„å‘³ć™ć‚‹ļ¼ˆćƒ–ćƒ­ćƒƒć‚Æå†…ć§ć‚ć‚‹ļ¼‰ć®ć§ć€ć‚³ćƒ¼ćƒ‰ć®ćæć‚„ć™ć•ć®ćŸć‚ć«ć‚ć‚‹ć‚ć‘ć§ćÆćŖ恄ćØ恄恆ē‚¹ćŒć”ć‚‡ć£ćØćØć£ć¤ćć«ćć„ē‚¹ć ćØę€ć„ć¾ć™ć€‚ć“ć®ć‚¤ćƒ³ćƒ‡ćƒ³ćƒˆć§ć™ćŒć€ćŠć‚ˆć1ć‚¤ćƒ³ćƒ‡ćƒ³ćƒˆ4ę–‡å­—ćŒē›®å®‰ćØć•ć‚Œć¦ć„ć¾ć™ļ¼ˆć‚³ćƒ¼ćƒ‡ć‚£ćƒ³ć‚°č¦ē“„ļ¼‰ć€‚

厄介ćŖ恮ćÆć€ć€Œć‚¤ćƒ³ćƒ‡ćƒ³ćƒˆć™ć‚‹ę–‡å­—ę•°ćÆäø€č‡“ć•ć›ć¦ćŠćåæ…č¦ćŒć‚ć‚‹ć€ćØ恄恆恓ćØ恧恙怂1č”Œē›®ćÆ2ę–‡å­—ć€2č”Œē›®ćÆ4ę–‡å­—ćŖć‚“ć¦å½¢ć§ć‚¤ćƒ³ćƒ‡ćƒ³ćƒˆć‚’ć—ć¦ć—ć¾ć†ćØ态ć‚Øćƒ©ćƒ¼ćŒå‡ŗć¦ć—ć¾ć„ć¾ć™ć€‚č‡Ŗ分ćÆꙮ通恫TABć‚­ćƒ¼ć§ć‚¤ćƒ³ćƒ‡ćƒ³ćƒˆć•ć›ć¦ć„ć‚‹ć®ć§ć“ć†ć„ć£ćŸäŗ‹ę…‹ć‚’恕恑悉悄恙恄恧恙恭怂

図ļ¼šIFę–‡ć§ć‚¤ćƒ³ćƒ‡ćƒ³ćƒˆć‚’ć—ćŸå “åˆć®äŗ‹ä¾‹

図ļ¼šć‚¤ćƒ³ćƒ‡ćƒ³ćƒˆę™‚ć®ę–‡å­—ę•°ē›ø違恮ć‚Øćƒ©ćƒ¼

Switch Caseć®ć‚ˆć†ćŖ꧋ꖇ恌ćŖ恄

Python恫ćÆ他恮č؀čŖžć«ć‚ć‚‹ć‚ˆć†ćŖswichę–‡ćŒć‚ć‚Šć¾ć›ć‚“ć€‚ć‚ˆć£ć¦ć€1åŗ¦ć«å¤‰ę•°ć®å€¤ć®ę”ä»¶åˆ¤å®šć‚’č”Œć†ćŸć‚ć®ę‰‹ę®µćŒć‚ć‚Šć¾ć›ć‚“ć€‚ćć®ē†ē”±ćŒć€Œifꖇ恠恑恧åÆčƒ½ć€ćØ恄恆äŗ‹ć®ć‚ˆć†ć§ć™ć€‚ć‚·ćƒ³ćƒ—ćƒ«ć‚’čæ½ę±‚恙悋č؀čŖžć®ę€§č³ŖäøŠć“恆ćŖć£ć¦ć‚‹ćæ恟恄怂

ćć®ćŸć‚ć€ifćØelif态else恠恑恧꧋ēÆ‰ć™ć‚‹ć®ćŒę”ä»¶åˆ¤å®šę–‡ć®äø€čˆ¬ēš„ćŖć‚„ć‚Šę–¹ć«ćŖć£ć¦ć„ć¾ć™ć€‚ć¾ćŸć€IFꖇćÆif悄elifćć‚Œćžć‚Œć®ę–‡ć®ęœ€ēµ‚ę–‡å­—ć«ć€Œļ¼šć€ć‚’ä»˜ć‘ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚

ā€»dictionary悒ē”Øę„ć—ć¦ćć“ć«ę–‡å­—ćŒå…„ć£ć¦ć‚‹ć‹ļ¼Ÿć§ć‚ć£ćŸć‚Šć€elif a in (12,13,14)ćØć„ć£ćŸć‚ˆć†ćŖę”ä»¶åˆ¤å®šę–¹ę³•ć‚‚ć‚ć‚Šć¾ć™

図ļ¼šIFę–‡ć§č¤‡ę•°ę”ä»¶åˆ¤å®šć®äŗ‹ä¾‹

Forę–‡ćŒćˆć‚‰ćć‚·ćƒ³ćƒ—ćƒ«

他恮č؀čŖžć®å “åˆć€ćƒ«ćƒ¼ćƒ—ćÆ恄悍恄悍ćŖēØ®é”žćŒē”Øę„ć•ć‚Œć¦ć„ć¾ć™ć€‚ć—ć‹ć—ć€Python恧ćÆForćÆforeach恫ē›øå½“ć™ć‚‹ć‚‚ć®ć—ć‹ćŖ恏态恂ćØćÆwhileę–‡ćŒć‚ć‚‹ć ć‘ć€‚č¦å®šå›žę•°ć ć‘å›žć™ćØ恄恆äø€čˆ¬ēš„ćŖForꖇćÆ态rangećØć„ć†é–¢ę•°ć‚’ēµ„ćæåˆć‚ć›ć¦å®Ÿē¾ć™ć‚‹ćƒ†ć‚Æ惋惃ć‚Æ恫ćŖć£ć¦ć„ć¾ć™ć€‚

図ļ¼šē¢ŗć‹ć«ć“ć‚Œć ć‘ć‚ć‚Œć°ååˆ†ćØć„ćˆć°ååˆ†

ē›“ęŽ„ę–‡å­—ć«ę•°å€¤ć‚’ēµåˆå‡ŗę„ćŖ恄

JavaScriptćŖ恩ćÆ+ę¼”ē®—å­ć ć‘ć§ć©ć‚“ćŖę–‡å­—ć§ć‚‚ēµåˆć§ćć¾ć™ćŒć€Pythonć§åŒć˜äŗ‹ć‚’ć‚„ć£ć¦ć—ć¾ć†ćØć‚Øćƒ©ćƒ¼ć«ćŖć‚Šć¾ć™ć€‚ę–‡å­—ć«ę•°å€¤ć‚’ēµåˆć—ć¦ć€ä¾‹ćˆć°ćƒ«ćƒ¼ćƒ—ć§ćƒ”ćƒƒć‚»ćƒ¼ć‚ø悒č”Øē¤ŗ恙悋悈恆ćŖå “åˆć«ćÆ态åæ…ćšę•°å€¤ć‚’ę–‡å­—åˆ—ć«å¤‰ę›ć—ć¦ć‹ć‚‰č”Œć„ć¾ć™ć€‚

図ļ¼šåæ…ćšåž‹å¤‰ę›ć—ć¦ć‹ć‚‰ēµåˆć™ć‚‹ć‚ˆć†ć«ć™ć‚‹

ćƒŖć‚¹ćƒˆć«čæ½åŠ ć™ć‚‹å “åˆć«ćÆ

JavaScript恧ćÆ态[]ćÆé…åˆ—ć‚’ę„å‘³ć—ć¾ć™ć€‚Pythonć§ć‚‚åŒę§˜ć§å‘¼ć³åćÆćƒŖć‚¹ćƒˆćØå‘¼ć°ć‚Œć¦ć„ć¾ć™ć€‚ćŸć ć—ć€push恧ćÆćŖ恏append悒ä½æć£ć¦ć“ć®ćƒŖć‚¹ćƒˆć«å€¤ć‚’čæ½åŠ ć—ć¦ć‚†ćć“ćØ恫ćŖć‚Šć¾ć™ć€‚äŗŒę¬”元配列ēš„ćŖć‚‚ć®ć‚’ä½œć‚‹å “åˆć‚‚ć€ćƒŖć‚¹ćƒˆć‚’ćƒŖć‚¹ćƒˆć«appendć—ć¾ć™ć€‚ēµåˆć•ć›ć‚‹å “åˆć«ćÆ态extendć§åˆ„ć®ćƒŖć‚¹ćƒˆć‚’ć¤ćŖ恒悋恓ćØ恫ćŖć‚Šć¾ć™ć€‚

äŗŒę¬”元ćƒŖć‚¹ćƒˆć«ć—ćŸå “åˆćÆJavaScriptćØåŒę§˜ć«list[0][1]ć§å‚ē…§ć™ć‚‹ć“ćØ恌åÆčƒ½ć§ć™ć€‚

他恫悂ē“°ć‹ć„态ćƒŖć‚¹ćƒˆć‹ć‚‰å‰Šé™¤ć§ć‚ć£ćŸć‚Šč‰²ć€…ćØćƒ”ć‚½ćƒƒćƒ‰ćŒē”Øę„ć•ć‚Œć¦ć„ć¾ć™ć€‚

é–¢ę•°ć®å®šē¾©

JavaScriptćŖć©ć®å “åˆćÆ态function(){}ćØć„ć£ćŸå½¢ć§ć€é–¢ę•°ć‚’å®šē¾©ć—ć¦ć„ćŸćØę€ć„ć¾ć™ć€‚Python恧ćÆdefćØ恄恆悂恮悒ä½æć£ć¦å®šē¾©ć—ć€åˆęœŸå€¤ćŖć©ć‚‚å®šē¾©ę™‚恫čØ­å®šćŒåÆčƒ½ć§ć™ć€‚å‘¼ć³å‡ŗć—ę–¹ćÆfunc()ćØć„ć£ćŸå½¢ć§é–¢ę•°åć«ę‹¬å¼§ć‚’ć¤ć‘ć¦å‘¼ć³å‡ŗ恙ē‚¹ćÆåŒć˜ć§ć™ć€‚IFę–‡åŒę§˜ć«é–¢ę•°ę–‡å­—ć®ę–‡ęœ«ć«ć€Œļ¼šć€ć‚’ä»˜ć‘ć‚‹ē‚¹ć‚„ć€ć‚¤ćƒ³ćƒ‡ćƒ³ćƒˆć«ę³Øꄏ怂

ęœ€å¾Œć«å€¤ć‚’čæ”恙ćØ恍ćÆreturnćŖē‚¹ć‚‚JavaScriptćØåŒć˜ć§ć™ć­ć€‚

ć¾ćŸć€ę³Øꄏē‚¹ćØ恗恦Pythonć®å “åˆć€é–¢ę•°ć®ć“ć®å¼•ę•°ćÆåŸŗęœ¬å‚ē…§ęø”恗恫ćŖ悋ē‚¹ć«ę³Øꄏ恌åæ…要恧恙怂

図ļ¼šå¼•ę•°ēœē•„ę™‚ć®åˆęœŸå€¤ć‚‚čØ­å®šć—ć¦ćŠććØćŖ恊č‰Æ恄

例外処ē†

ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°ć§ćÆåæ…ćšé€šć‚‹é“ćŒć€Œć‚Øćƒ©ćƒ¼ćŒē™ŗē”Ÿć—ćŸę™‚ćÆćƒ»ćƒ»ćƒ»ć€ć®ē‚ŗ恮ć‚Øćƒ©ćƒ¼ćƒˆćƒ©ćƒƒćƒ—ćŒåæ…é ˆć«ćŖć£ć¦ćć¾ć™ć€‚JavaScript恧悂Try-Catch-Finally恌恝悌恧恙恭怂Python恧ćÆtry-except-else-finallyćØćŖć‚Šć¾ć™ć€‚ä¾‹å¤–å‡¦ē†ć®ćƒ”ćƒƒć‚»ćƒ¼ć‚øćÆexceptć®č”Œć§å®šē¾©ć—ćŸExceptionć‹ć‚‰å¼•ćå–ć£ć¦åˆ¤å®šć—ć¾ć™ć€‚

ć¾ćŸć€ć‚ć–ćØć‚Øćƒ©ćƒ¼ć‚’ē™ŗē”Ÿć•ć›ć‚‹å “åˆć«ćÆ态raise Exception("ć‚Øćƒ©ćƒ¼ć ć‚ˆ")ćØć„ć£ćŸę§‹ę–‡ć‚’ä½æ恆恓ćØ悂åÆčƒ½ć§ć™ć€‚except恮eć«å¼•ę•°ć®ę–‡å­—åˆ—ćŒå…„ć£ć¦ćć¾ć™ć€‚

図ļ¼šfinallyćÆęœ€å¾Œć«ć‹ćŖć‚‰ćšå®Ÿč”Œć•ć‚Œć¾ć™

ä½•ć‚‚ć—ćŖć„ćƒ»null値

JavaScriptć®å “åˆć€ä¾‹ćˆć°ifę–‡ć§åˆ¤å®šå¾Œä½•ć‚‚ć—ćŖć„å “åˆćÆä½•ć‚‚ę›ø恋ćŖć‘ć‚Œć°ć‚ˆć„ć®ć§ć™ćŒć€pythonć®å “åˆćÆä½•ć‚‚ć—ćŖć„å “åˆć«ćÆ怌pass怍ćØčؘčæ°ć™ć‚Œć°OK恧恙怂čؘčæ°ć—ćŖ恄ćØć‚Øćƒ©ćƒ¼ć«ćŖć£ć¦ć—ć¾ć„ć¾ć™ć€‚

ć¾ćŸć€nullå€¤ć§ć™ćŒNonećŒćć‚Œć«č©²å½“ć—ć¾ć™ć€‚

図ļ¼š90円ćŖć®ć§éžčŖ²ē؎ćØćŖ悊态None恌čæ”ć£ć¦ćć‚‹ć€‚

ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć®ä½æē”Ø

ćƒ”ć‚¤ćƒ³ćØćŖ悋pyćƒ•ć‚”ć‚¤ćƒ«ć®ä»–ć«ē”Øę„ć—ćŸåˆ„ć®pyćƒ•ć‚”ć‚¤ćƒ«å†…(subfile.py)恮悂恮悒ä½æć„ćŸć„å “åˆć€Node.jsćŖ恩恧ćÆrequire恧ē›“ęŽ„ćƒ•ć‚”ć‚¤ćƒ«ć®ćƒ‘ć‚¹ć‚’čؘčæ°ć™ć‚‹äŗ‹ć§åˆ©ē”ØåÆčƒ½ć§ć™ćŒć€Python恧ćÆćƒ©ć‚¤ćƒ–ćƒ©ćƒŖćØåŒę§˜ć«import subfileć‚’åˆ©ē”Øć—ć¾ć™ć€‚ę‹”å¼µå­ćÆäøč¦ć§ć™ć€‚

ć“ć®ę™‚ć€ä»–ć®ćƒ•ć‚”ć‚¤ćƒ«ć®å…Øć¦ć‚’å–ć‚Šč¾¼ć‚€å “åˆć«ćÆimportć§ćć®ćƒ•ć‚”ć‚¤ćƒ«ć®åå‰ć‚’čؘčæ°ć™ć‚Œć°č‰Æ恄恧恙恌态äø€éƒØ恠恑悒ä½æć„ćŸć„å “åˆć«ćÆ态from subfile import tomatomanćØć„ć£ćŸå½¢ć«ć™ć‚‹äŗ‹ć§ć€subfile.py恮äø­ć®tomatomanćØć„ć†é–¢ę•°ć‚’ćƒ­ćƒ¼ćƒ‰åÆčƒ½ć«ćŖć‚Šć¾ć™ć€‚

ä½†ć—ćƒ”ć‚¤ćƒ³ć®pyćƒ•ć‚”ć‚¤ćƒ«ćØćÆåˆ„ć«ē”Øꄏ恗恟pyćƒ•ć‚”ć‚¤ćƒ«ćŒć‚«ćƒ¬ćƒ³ćƒˆćƒ‡ć‚£ćƒ¬ć‚Æ惈ćƒŖ仄äø‹ć®åˆ„ć®ćƒ‡ć‚£ćƒ¬ć‚Æ惈ćƒŖå†…ć«ć‚ć‚‹å “åˆć«ćÆ态import subdir.subfilećØć„ć£ćŸå½¢ć§ćƒ‡ć‚£ćƒ¬ć‚Æ惈ćƒŖåć‚‚ęŒ‡å®šćŒåæ…要恫ćŖć‚Šć¾ć™ć€‚ć“ć®č¾ŗć‚Šć®ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć®ćƒ­ćƒ¼ćƒ‰ę–¹ę³•ćŒć”ć‚‡ć£ćØē‹¬ē‰¹ć§ć™ć­ć€‚

ć‚¹ć‚³ćƒ¼ćƒ—

ć„ć‚ć‚†ć‚‹å¤‰ę•°ćŒęœ‰åŠ¹ćŖēÆ„å›²ć€‚JavaScript恧ćÆćć®ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć®äø­ć«ē›“ꎄčؘčæ°ć—ćŸå¤‰ę•°ćÆć‚°ćƒ­ćƒ¼ćƒćƒ«å¤‰ę•°ćØć—ć¦ć©ć“ć‹ć‚‰ć§ć‚‚å‚ē…§ćØę›øꏛ恌åÆčƒ½ć§ć™ć€‚ć¾ćŸć€ćć®é–¢ę•°å†…ć‚„ćƒ–ćƒ­ćƒƒć‚Æ内ćŖ悉恰let悒ä½æć£ć¦å®šē¾©ć—ć¦å‚ē…§åÆčƒ½ćŖēÆ„å›²ć‚’ēµžć£ć¦ć„ć¾ć—ćŸć€‚

Pythonć®å “åˆć‚‚ć‚°ćƒ­ćƒ¼ćƒćƒ«å¤‰ę•°ćÆćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć‚¹ć‚³ćƒ¼ćƒ—ćØå‘¼ć°ć‚Œć€ćć®ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«å†…ćŖć‚‰ć°ć©ć“ć‹ć‚‰ć§ć‚‚å‚ē…§ćØę›øꏛ恌åÆčƒ½ć§ć™ć€‚

問锌ćÆćƒ­ćƒ¼ć‚«ćƒ«ć‚¹ć‚³ćƒ¼ćƒ—ć€‚é–¢ę•°å†…ć§ä¾‹ćˆć°ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć‚¹ć‚³ćƒ¼ćƒ—ćØåŒć˜å¤‰ę•°ć‚’ē”Øę„ć—ć¦å€¤ć‚’ä»£å…„ć—ć¦ć‚‚ć€ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć‚¹ć‚³ćƒ¼ćƒ—ćÆę›øćę›ć‚ć‚‰ćšć€ćć®é–¢ę•°å†…ć§ć ć‘å®£čØ€ć•ć‚ŒćŸć€ć¤ć¾ć‚Šletć§å®£čØ€ć—ćŸć‚‚ć®ćØåŒć˜ę„å‘³ć‚’ćŖć—ć¾ć™ć€‚ć‚ˆć£ć¦ć€ä»„äø‹ć®ć‚ˆć†ćŖć‚³ćƒ¼ćƒ‰ć®å “åˆć€ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć‚¹ć‚³ćƒ¼ćƒ—ćÆę›ø恍ꏛ恈悉悌悋恓ćØćŖćå®Ÿč”ŒēµęžœćŒå‡ŗć¾ć™ļ¼ˆåŒåć®å…Øćåˆ„ć®å¤‰ę•°ę‰±ć„ć«ćŖ悋ļ¼‰ć€‚

ć‚‚ć”ć‚ć‚“ć€å¤–éƒØć‹ć‚‰é–¢ę•°å†…ć§å®£čØ€ć—ćŸå¤‰ę•°ć‚’å‚ē…§ć™ć‚‹äŗ‹ćÆć§ćć¾ć›ć‚“ć€‚ć“ć®ę™‚ć€ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć‚¹ć‚³ćƒ¼ćƒ—ć§å¤‰ę•°ćŒćŖć„å “åˆć«ćÆ态NameError: name 'a' is not definedćØć„ć£ćŸć‚Øćƒ©ćƒ¼ćŒprintć®č”Œć§ē™ŗē”Ÿć—ć¦ć—ć¾ć„ć¾ć™ć€‚ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć‚¹ć‚³ćƒ¼ćƒ—ć®å¤‰ę•°ć‚’ę›ø恍ꏛ恈恟恄ćŖć‚‰ć°ć€ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć‚¹ć‚³ćƒ¼ćƒ—ćØåŒć˜é ˜åŸŸå†…ć§ćŖ恄ćØę›ø恍ꏛ恈恌恧恍ćŖ恄悏恑恧恙怂JavaScriptćØćÆć“ć“ćŒå¤§ććŖ違恄恫ćŖć‚Šć¾ć™ć€‚

ā€»ä½†ć—态ć‚Æćƒ­ćƒ¼ć‚øćƒ£ć®ć‚ˆć†ćŖå½¢å¼ć‚’ćØć£ćŸę™‚ć ć‘ćÆć€å†…éƒØé–¢ę•°å†…ć®å¤‰ę•°ć«nonlocalć‚’ä»˜ć‘åŠ ćˆć‚‹ćØć€å†…éƒØć®é–¢ę•°ć‹ć‚‰ćÆ态äø€å€‹å¤–å“ć®å¤‰ę•°ļ¼ˆč¦Ŗć®é–¢ę•°å†…ļ¼‰ć‚’čŖ­ćæę›ø恍å‡ŗę„ć¾ć™ć€‚

図ļ¼škinokoćØtomato恮2ć¤ć®å€¤ćŒprint恕悌悋

꧘怅ćŖćƒ©ć‚¤ćƒ–ćƒ©ćƒŖćƒ»ćƒ•ćƒ¬ćƒ¼ćƒ ćƒÆćƒ¼ć‚Æ

Python恫ćÆ꧘怅ćŖćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć‚„ćƒ•ćƒ¬ćƒ¼ćƒ ćƒÆćƒ¼ć‚ÆćŒć‚ć‚‹ć®ć§ć€ć‚¼ćƒ­ć‹ć‚‰å…ØéƒØ悒č‡Ŗåˆ†ć§ę§‹ēÆ‰ć™ć‚‹åæ…要ćÆćŖćć€ć¾ćŸćć‚ŒćŒę•…ć«ęœ€ä½Žé™ć®ć‚³ćƒ¼ćƒ‰ć§ēµ„ćæåˆć‚ć›ć¦ę§‹ēÆ‰ć§ćć‚‹č‰Æć•ćŒć‚ć‚Šć¾ć™ć€‚ć‚¹ć‚Æćƒ¬ć‚¤ćƒ”ćƒ³ć‚°ćŖ恩悂åÆčƒ½ćŖć®ć§ć™ćŒć€ę­£ē›“Puppeteer悂ä½æ恈悋Node.jsć®ć»ć†ćŒPythonć‚ˆć‚Šć‚‚ęœ‰åˆ©ć‹ćŖćØę€ć„ć¾ć™ć€‚

ćƒ‡ć‚¹ć‚Æćƒˆćƒƒćƒ—ć‚¢ćƒ—ćƒŖ

PyQt悄TKinterćŖć©ć®ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć‚‚ć‚ć‚‹ć®ć§ć™ćŒć€GUI悂Pythonć‚³ćƒ¼ćƒ‰ć§ę§‹ēÆ‰ć™ć‚‹åæ…č¦ćŒć‚ć‚Šę­£ē›“ćŖꉀä½æ恄恟恄ćØę€ć„ć¾ć›ć‚“ć€‚äø€ę–¹ć§Node.jsć®å “åˆć€NW.js悄ElectronćØć„ć£ćŸćƒ•ćƒ¬ćƒ¼ćƒ ćƒÆćƒ¼ć‚Æ恌恂悊态HTML+CSS恧GUI悒꧋ēƉå‡ŗę„ć¾ć™ļ¼ˆćƒ•ćƒ­ćƒ³ćƒˆéƒØåˆ†ć®ęŒ™å‹•ćÆJavaScript恌åæ…č¦ć§ć™ćŒļ¼‰

恝悓ćŖäø­ęŽ¢ć—恦ćæ恟ꉀ态EelćØå‘¼ć°ć‚Œć‚‹HTML+CSS恧GUI悒꧋ēÆ‰ć§ćć‚‹ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ悄态PyWebViewćØå‘¼ć°ć‚Œć‚‹åŒę§˜ć®ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖćŒć‚ć‚Šć¾ć—ćŸć€‚Python恧GUI悒꧋ēÆ‰ć™ć‚‹ć‚ˆć‚Šć‚‚ć€HTML+CSSć®ć»ć†ćŒå­¦ēæ’ć‚³ć‚¹ćƒˆćÆä½Žć‚ć§ć™ć€‚ä½•ć‚ˆć‚Šć‚‚HTMLå“ć§BootstrapćŖ恩恮JavaScriptćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ恧č”Øē¾ć—ćŸć»ć†ćŒåœ§å€’ēš„ć«ć‚³ćƒ³ćƒˆćƒ­ćƒ¼ćƒ«ć—ć‚„ć™ć„ć§ć™ć€‚

JavaScriptć‚’å­¦ć¶åæ…č¦ę€§ćŒć‚ć‚‹ćØ恄恆ē‚¹ć§ćÆć‚³ć‚¹ćƒˆćŒęŽ›ć‹ć‚‹ć®ćÆäŗ‹å®Ÿć§ć™ćŒć€PythonäøŠć§GUIć‚’ä½œć‚‹ć‚¹ć‚­ćƒ«ćÆ他恧굁ē”ØćŒåŠ¹ćć‚‚ć®ć§ćÆćŖ恄恮恧态Ꙃ間悒ꎛ恑恦悂HTML5恧GUI꧋ēÆ‰ćŒć‚Ŗć‚¹ć‚¹ćƒ”ć§ć™ć€‚

ć‚¦ć‚§ćƒ–ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³

ć‚¦ć‚§ćƒ–ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ćØćŖ悋ćØ态ē¤¾å†…å‘ć‘ć®ć‚‚ć®ć§ć‚ć‚Œć°Google Apps Script + Vue.jsćŒęœ€ć‚‚ę‰‹é ƒć ć—ć‚µćƒ¼ćƒćƒ¬ć‚¹ć§ć§ćć‚‹ć®ć§ć‚Ŗć‚¹ć‚¹ćƒ”ćŖć®ć§ć™ćŒć€Python恧ćØćŖ悋ćØć€ć‚µćƒ¼ćƒćŒåæ…要ćØćŖć‚Šć¾ć™ć€‚ćć“ć§ä½œć‚‹ćØćŖ悋ćØGoogle Apps Scriptć®ć‚ˆć†ć«ćƒćƒƒć‚Æć‚Øćƒ³ćƒ‰ć«Python悒ē”Øę„ć—ć€ćƒ†ćƒ³ćƒ—ćƒ¬ćƒ¼ćƒˆćØćŖ悋HTML恌åæ…要恧恙怂

恟恠态JavaScript恌äøč¦ć«ćŖ悋悏恑恧ćÆćŖ恄恮恧态ę³Øꄏ怂ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć‚µć‚¤ćƒ‰ć®UIć‚„å‹•ēš„ćŖč”Øē¾ćÆPython恧å‡ŗę„ć¾ć›ć‚“ć€‚

č»½é‡ćŖćƒ†ćƒ³ćƒ—ćƒ¬ćƒ¼ćƒˆć‚Øćƒ³ć‚øćƒ³ćØćŖ悋ćØ态FlaskćŒęœ‰åć§ć™ć€‚é‡é‡ē“šć§å¤šę©Ÿčƒ½ć§ęœ‰åćŖ恮ćÆDjango怂恓悌悉ćÆå¤§ę‰‹ć®ć‚¦ć‚§ćƒ–ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ļ¼ˆYoutube悄InstagramćŖ恩ļ¼‰ć§ä½æć‚ć‚Œć¦ć‚‹äŗ‹ć§ć‚‚ęœ‰åć§ć™ć­ć€‚ęœ¬ę ¼ēš„ćŖć‚¦ć‚§ćƒ–ć‚µćƒ¼ćƒ“ć‚¹ć‚’Pythonć§ęä¾›ć™ć‚‹éš›ć«éæć‘ć¦é€šć‚ŒćŖ恄悂恮恧恗悇恆怂

äø€ę–¹ć§ćƒŖć‚¢ćƒ«ć‚æ悤惠通äæ”ļ¼ˆWebSocketļ¼‰ć«åƾåæœć—恦悋悂恮ćØ恗恦Tornado态pythonćƒ•ć‚”ć‚¤ćƒ«äø€å€‹ć§å®Ÿē¾ć§ćć‚‹BottlećŖ恩ćŖć©ć€‚å…„é–€ćŖ悉Bottle恌č‰Æć„ć®ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ć€‚

個äŗŗēš„恫ćÆć‚¦ć‚§ćƒ–ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ę§‹ēƉćŖ悉恰态Node.jsć®ć»ć†ćŒč‰Æ恄悓恘悃ćŖ恄恋ćŖ恁ćØꀝ恄恤恤怂

ćƒ‡ćƒ¼ć‚æč§£ęž

PythonćŒä»Šę³Øē›®ć•ć‚Œć¦ć„ć‚‹åˆ†é‡Žć®äø€ć¤ćŒćƒ‡ćƒ¼ć‚æč§£ęžć€‚ę˜”ć‹ć‚‰ć‚ć‚‹ćƒ‡ćƒ¼ć‚æćƒžć‚¤ćƒ‹ćƒ³ć‚°ć‚„ć‚‰ćƒ‡ćƒ¼ć‚æć‚¦ć‚§ć‚¢ćƒć‚¦ć‚¹ć‚„ć‚‰ćØć„ć£ćŸć‚‚ć®ć§ć™ć­ć€‚ćć®äø­ć§ć‚‚ćƒ‡ćƒ¼ć‚æč§£ęžć‚’ć—ć¦ć‚°ćƒ©ćƒ•ć«ćƒ—ćƒ­ćƒƒćƒˆć™ć‚‹ć‚‚ć®ćØć—ć¦ęœ‰åćŖć®ćŒMatplotlib恧恙怂

ę„­å‹™ē”ØćØ恗恦ćÆ态TableaućØ連ęŗć—ć¦å‹•ä½œć™ć‚‹TabPy恫ćŖć‚‹ć§ć—ć‚‡ć†ć€‚ć‚‚ć”ć‚ć‚“ć€Google Data Portal恫恤ćŖ恌悋BigQueryćØ連ęŗć™ć‚‹å…¬å¼ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ恧恂悋google-cloud-bigquery悒ä½æ恆ćØć„ć†ć®ć‚‚é¢ē™½ćć†ć§ć™ć€‚tableaućØPython連ęŗćÆ恓恔悉恮čؘäŗ‹ćŒé¢ē™½ćć†ć§ć™ć€‚

ā€»Tableauć®å “åˆć«ćÆ态.trexćƒ•ć‚”ć‚¤ćƒ«ć‚’ä½œęˆć—ć¦ćƒ‡ć‚¹ć‚Æ惈惃惗悄ć‚Ŗćƒ³ćƒ©ć‚¤ćƒ³ćŖć©ć«ę‹”å¼µę©Ÿčƒ½ćØć„ć†å½¢ć§čæ½åŠ ć™ć‚‹ć“ćØ恌åÆčƒ½ć®ć‚ˆć†ć§ć™ļ¼ˆč؀čŖžćÆ恩恆悄悉JavaScriptćæ恟恄ļ¼‰ć€‚ę‹”å¼µę©Ÿčƒ½ć®GUIéƒØ分ćÆHTML5恧꧋ēÆ‰ćŒåÆčƒ½ć®ć‚ˆć†ć§ć€ćƒćƒƒć‚Æć‚Øćƒ³ćƒ‰ćÆPython悄Rč؀čŖžć‚’ä½æć†å½¢ćæćŸć„ć€‚ć¾ć ć‚¢ć‚«ć‚¦ćƒ³ćƒˆč²°ć£ć¦ćŖć„ć®ć§ć€ć‚‚ć‚‰ćˆćŸć‚‰å¾¹åŗ•ēš„ć«åˆ†ęžć—ć¦ćæ恟恄ćØꀝ恆ļ¼ˆéŽåŽ»ć«é…Ŗč¾²ēµŒå–¶ć‚·ćƒŸćƒ„ćƒ¬ćƒ¼ć‚æć‚„åŒ»č–¬å“åøä¾”ę ¼č§£ęžćƒ„ćƒ¼ćƒ«ć§åŸ¹ć£ćŸć‚‚ć®ć‚’ē››ć‚Šč¾¼ćæ恟恄ćŖ恁ļ¼‰

ę©Ÿę¢°å­¦ēæ’

ćƒ‡ć‚£ćƒ¼ćƒ—ćƒ©ćƒ¼ćƒ‹ćƒ³ć‚°ć‚„ć‚‰AI悄悉äø–間恧čØ€ć‚ć‚Œć¦ć‚‹ć‚¢ćƒ¬ć§ć™ć­ć€‚ä½†ć—ć€ę©Ÿę¢°å­¦ēæ’ćć®ć‚‚ć®ćÆ非åøø恫高åŗ¦ćŖ領域ćŖć®ć§ć€ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć‚’å…„ć‚Œć‚Œć°ē°”å˜ć«č£…å‚™ć§ćć‚‹ćØć„ć£ćŸć‚·ćƒ­ćƒ¢ćƒŽć˜ć‚ƒć‚ć‚Šć¾ć›ć‚“ć€‚ćć‚Œć‚’č”Œć†ęŗ–å‚™ćć®ć‚‚ć®ć‚‚ć€čŽ«å¤§ćŖåŸŗē¤Žćƒ‡ćƒ¼ć‚æ恌åæ…要恫ćŖć‚Šć¾ć™ćŒć€ć“ć‚ŒćÆå…Ø恦č‡Ŗåˆ†ć§ē”Øꄏ恗ćŖ恑悌恰ćŖć‚Šć¾ć›ć‚“ć€‚

ć“ć®åˆ†é‡Žć§ę©Ÿę¢°å­¦ēæ’悒꧋ēÆ‰ć—ćŸć„ćØćŖ悋ćØć€ę•°å€¤č؈ē®—ę‹…å½“ć®NumPyć€ćƒ†ćƒ¼ćƒ–ćƒ«ćƒ‡ćƒ¼ć‚æę“ä½œć‚’ę‹…å½“ć™ć‚‹Pandas态FacebookćŒä½œęˆć—ć¦ć‚‹PyTorch态Googleč¬¹č£½ć®ę©Ÿę¢°å­¦ēæ’ē’°å¢ƒć§ć‚ć‚‹Tensorflowć€åŒć˜ćTensorflowć‚’ęä¾›ć—ć¦ć‚‹Cloud ML EnginećŖ恩ćŖ恩怂

å®Ÿéš›ć«Tensorflowć§ćć‚…ć†ć‚Šć®ē­‰ē“šåˆ¤å®šć®ē‚ŗ恫Tensorflowć‚’åˆ©ē”Ø恗恟č‡Ŗå‹•ä»•åˆ†ć‘č£…ē½®ć‚’ä½œć‚Šć€äŗŗꉋäøč¶³ć®č¾²ę„­ć®ē¾å “ć«ę–¼ć„ć¦ć€ä»•åˆ†ć‘ć®č‡Ŗå‹•åŒ–ć‚’å®Ÿē¾ć—ćŸäŗŗ恮話ćÆ非åøøć«ęœ‰åć§ć™ć­ć€‚

TensorFlow powered cucumber sorter by Makoto Koike

関連ćƒŖćƒ³ć‚Æ

ć‚³ćƒ”ćƒ³ćƒˆć‚’ę®‹ć™

ćƒ”ćƒ¼ćƒ«ć‚¢ćƒ‰ćƒ¬ć‚¹ćŒå…¬é–‹ć•ć‚Œć‚‹ć“ćØćÆć‚ć‚Šć¾ć›ć‚“ć€‚ ā€» ćŒä»˜ć„ć¦ć„ć‚‹ę¬„ćÆåæ…須項ē›®ć§ć™

ć“ć®ć‚µć‚¤ćƒˆćÆć‚¹ćƒ‘ćƒ ć‚’ä½Žęø›ć™ć‚‹ćŸć‚ć« Akismet 悒ä½æć£ć¦ć„ć¾ć™ć€‚ć‚³ćƒ”ćƒ³ćƒˆćƒ‡ćƒ¼ć‚æć®å‡¦ē†ę–¹ę³•ć®č©³ē“°ćÆć“ć”ć‚‰ć‚’ć”č¦§ćć ć•ć„ć€‚