1. Pythonã®æŠèŠ
ããã°ã©ãã³ã°èšèªãšããŠã®Pythonã¯ããã®ã·ã³ãã«ããšå€æ§æ§ã§ç¥ãããŠããŸããåå¿è ããããã®éçºè ãŸã§ãå€ãã®äººã ãPythonã®é åã«åŒãå¯ããããŠããŸãã
1.1. Pythonã®èµ·æºãšèæ¯
Pythonã¯ãGuido van Rossumã«ãã£ãŠ1980幎代åŸåã«éçºãå§ãŸãã1991幎ã«åããŠå ¬éãããŸããããã®èšèªã®ååã¯ãBBCã®ãã¬ãçªçµãMonty Python’s Flying CircusãããåãããŸãããPythonã¯ããã®ã·ã³ãã«ãªææ³ãšã³ãŒãã®å¯èªæ§ã«éç¹ã眮ããŠèšèšãããŠããããããPythonã®å€§ããªç¹åŸŽãšãªã£ãŠããŸãã
1.2. Pythonã®ç¹åŸŽãšäººæ°ã®çç±
Pythonã®æ倧ã®ç¹åŸŽã¯ããã®ã·ã³ãã«ããšå¯èªæ§ã§ããPythonã®ææ³ã¯è±èªã«äŒŒãŠãããããã«ããåå¿è ã§ãç°¡åã«ã³ãŒããæžãããšãã§ããŸãããŸããPythonã¯ã€ã³ã¿ãŒããªã¿åã®èšèªã§ãããããæžããã³ãŒããããã«å®è¡ããŠçµæã確èªããããšãã§ããŸãããã®ãããªç¹åŸŽããPythonãåå¿è ã«ãšã£ãŠåŠã³ãããèšèªã§ããçç±ãšãªã£ãŠããŸãã
ããã«ãPythonã¯å€æ§ãªã©ã€ãã©ãªãšãã¬ãŒã ã¯ãŒã¯ãæã£ãŠããããŠã§ãéçºããããŒã¿åæãæ©æ¢°åŠç¿ãŸã§ãããŸããŸãªçšéã§äœ¿çšããããšãã§ããŸãããã®å€æ§æ§ããPythonãå€ãã®éçºè ãäŒæ¥ã«æ¯æãããŠããçç±ã®äžã€ãšãªã£ãŠããŸãã
1.3. Pythonã®äž»ãªçšé
Pythonã¯ããã®å€æ§æ§ããããŸããŸãªåéã§äœ¿çšãããŠããŸããç¹ã«ããŠã§ãéçºãããŒã¿åæãæ©æ¢°åŠç¿ãèªååãªã©ã®åéã§ã®å©çšãå¢ããŠããŸããäŸãã°ãDjangoãFlaskãšãã£ããã¬ãŒã ã¯ãŒã¯ã䜿çšããŠãå¹ççã«ãŠã§ãã¢ããªã±ãŒã·ã§ã³ãéçºããããšãã§ããŸãããŸããPandasãNumPyãTensorFlowãšãã£ãã©ã€ãã©ãªã䜿çšããŠãããŒã¿ã®åŠçãæ©æ¢°åŠç¿ã®ã¢ãã«ãæ§ç¯ããããšãã§ããŸãã
ãã®ããã«ãPythonã¯ãã®çšéã®åºããããå€ãã®ãããžã§ã¯ããæ¥çã§ã®æ¡çšãé²ããããŠããŸãã
2. Pythonã®åºæ¬æ å ±
Pythonã¯ããã®ç¬ç¹ã®ææ³ãšããã°ã©ãã³ã°ã¹ã¿ã€ã«ã§ç¥ãããŠããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãPythonã®åºæ¬çãªæ å ±ã«ã€ããŠè©³ãã解説ããŸãã
2.1. Pythonã®ææ³ã®ç¹åŸŽ
Pythonã®ææ³ã¯ãä»ã®å€ãã®ããã°ã©ãã³ã°èšèªãšã¯ç°ãªããã·ã³ãã«ã§çŽæçã§ããç¹ã«ãPythonã¯ã€ã³ãã³ãïŒã¹ããŒã¹ãã¿ãïŒã䜿çšããŠã³ãŒããããã¯ãå®çŸ©ããããšã§ç¥ãããŠããŸããããã«ãããã³ãŒãã¯èªã¿ããããæŽçããã圢ã«ãªããŸããäŸãã°ãifæãforæã®äžèº«ã¯ã€ã³ãã³ãã«ãã£ãŠæ確ã«ç€ºãããŸãã
ãŸããPythonã¯ã»ãã³ãã³ã䜿çšããã«æãçµäºããããšãã§ããŸããããã«ãããã³ãŒããããã«èªã¿ããããªããŸãã
2.2. Pythonã§ã®ããã°ã©ãã³ã°ã¹ã¿ã€ã«
Pythonã®ã³ãã¥ããã£ã§ã¯ãPEP 8ãšããã¹ã¿ã€ã«ã¬ã€ããæäŸãããŠããŸããPEP 8ã¯ãPythonã³ãŒãã®æžãæ¹ã«é¢ãããã¹ããã©ã¯ãã£ã¹ã瀺ããŠãããããã«åŸãããšã§çµ±äžæã®ããã³ãŒããæžãããšãã§ããŸããäŸãã°ãå€æ°åã¯å°æåã®ã¹ããŒã¯ã±ãŒã¹ïŒäŸ: variable_nameïŒã䜿çšãããé¢æ°åãåæ§ã«å°æåã®ã¹ããŒã¯ã±ãŒã¹ã䜿çšãããªã©ã®ã«ãŒã«ãå®ããããŠããŸãã
ãã®ã¹ã¿ã€ã«ã¬ã€ãã«åŸãããšã§ãä»ã®éçºè ãšã®ååãã¹ã ãŒãºã«ãªããã³ãŒãã®å質ãåäžããŸãã
2.3. Pythonã®ããŒãžã§ã³ã«ã€ããŠ
Pythonã«ã¯ãPython 2ãšPython 3ã®2ã€ã®äž»èŠãªããŒãžã§ã³ãååšããŸããPython 2ã¯ã2000幎ã«ãªãªãŒã¹ãããé·ãéå€ãã®ãããžã§ã¯ãã§äœ¿çšãããŠããŸãããäžæ¹ãPython 3ã¯ã2008幎ã«ãªãªãŒã¹ãããPython 2ãšã¯ããã€ãã®éèŠãªéãããããŸããç¹ã«ãæååã®åãæ±ããprinté¢æ°ã®äœ¿çšæ¹æ³ãªã©ãç°ãªããŸãã
çŸåšãPython 2ã¯å ¬åŒã«ãµããŒããããŠããªããããæ°ãããããžã§ã¯ããéå§ããéã«ã¯Python 3ã䜿çšããããšãæšå¥šãããŠããŸããPython 3ã¯ãææ°ã®ã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ããµããŒãããŠããããŒãžã§ã³ã§ãããä»åŸãã¢ããããŒããç¶ãããããšäºæ³ãããŸãã
3. Pythonã§ã®ããŒã¿åæãšæ©æ¢°åŠç¿
è¿å¹ŽãããŒã¿åæãšæ©æ¢°åŠç¿ã¯ãããžãã¹ãç 究ã®å€ãã®åéã§éåžžã«éèŠãªåœ¹å²ãæãããŠããŸããPythonã¯ããã®2ã€ã®é åã§ã®äž»èŠãªããŒã«ãšããŠåºãèªèãããŠããŸãã
3.1. Pythonã®ããŒã¿åæã®åŒ·ã¿
Pythonã¯ãããŒã¿åæã®ããã®å€ãã®ã©ã€ãã©ãªãšããŒã«ãæã£ãŠããŸããç¹ã«ãPandasãNumPyã¯ãããŒã¿ã®æäœãèšç®ã®ããã®åŒ·åãªæ©èœãæäŸããŠããŸããPandasã¯ãããŒã¿ãã¬ãŒã ãšãã圢åŒã§ããŒã¿ãæ±ãããšãã§ããããã«ãã倧éã®ããŒã¿ãå¹ççã«åŠçããããšãã§ããŸãã
ãŸããPythonã¯ãªãŒãã³ãœãŒã¹ã§ãããããã³ãã¥ããã£ã®ãµããŒããéåžžã«æŽ»çºã§ããããã«ãããæ°ããããŒã¿åæã®ææ³ãæè¡ãè¿ éã«åãå ¥ããããå€ãã®åé¡ã«å¯Ÿãã解決çãæäŸãããŠããŸãã
3.2. Pythonã§ã®æ©æ¢°åŠç¿ã®å©çšäŸ
Pythonã¯ãæ©æ¢°åŠç¿ã®ã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ãè±å¯ã«ååšããŸããç¹ã«ãScikit-learnãTensorFlowãKerasãªã©ã®ã©ã€ãã©ãªã¯ãæ©æ¢°åŠç¿ã®ã¢ãã«ã®æ§ç¯ãèšç·Žãç°¡åã«è¡ãããšãã§ããŸãããããã®ã©ã€ãã©ãªã䜿çšããããšã§ãç»åèªèãèªç¶èšèªåŠçãäºæž¬ã¢ããªã³ã°ãªã©ãããŸããŸãªã¿ã¹ã¯ãå¹ççã«å®è¡ããããšãã§ããŸãã
ãŸããPythonã®æ©æ¢°åŠç¿ã®ã³ãã¥ããã£ã¯éåžžã«æŽ»çºã§ãããæ°ããã¢ã«ãŽãªãºã ãææ³ãç¶ç¶çã«éçºãããŠããŸãã
3.3. Pythonã®ããŒã¿å¯èŠåã®æ¹æ³
ããŒã¿ã®å¯èŠåã¯ãããŒã¿ã®ç解ãã€ã³ãµã€ãã®çºèŠã«éåžžã«åœ¹ç«ã¡ãŸããPythonã¯ãMatplotlibãSeabornãPlotlyãªã©ã®åŒ·åãªããŒã¿å¯èŠåã©ã€ãã©ãªãæã£ãŠããŸãããããã®ã©ã€ãã©ãªã䜿çšããããšã§ããã¹ãã°ã©ã ãæ£åžå³ãç®±ã²ãå³ãªã©ãããŸããŸãªçš®é¡ã®ã°ã©ãããã£ãŒããç°¡åã«äœæããããšãã§ããŸãã
ç¹ã«ãSeabornãPlotlyã¯ãçŸãããã¶ã€ã³ã®ã°ã©ããç°¡åã«äœæããããšãã§ããããŒã¿ã®ç¹åŸŽããã¬ã³ããæ確ã«ç€ºãããšãã§ããŸãã
4. Pythonã§ã®ãŠã§ãéçº
ãŠã§ãéçºã¯çŸä»£ã®æè¡æ¥çã§éåžžã«éèŠãªåéãšãªã£ãŠãããPythonã¯ãã®åéã§ã®éçºã«ãããŠãéåžžã«äººæ°ããããŸãããã®çç±ãšããŠãPythonãæäŸããè±å¯ãªã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ãæããããŸãã
4.1. Pythonã®ãŠã§ãéçºãã¬ãŒã ã¯ãŒã¯
Pythonã«ã¯ããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®éçºãå¹ççã«è¡ãããã®å€ãã®ãã¬ãŒã ã¯ãŒã¯ãååšããŸããäžã§ããDjangoãšFlaskã¯æã人æ°ããããŸãã
Djangoã¯ã倧èŠæš¡ãªãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®éçºã«é©ããŠãããããŒã¿ããŒã¹ã®æäœããŠãŒã¶ãŒèªèšŒã管çç»é¢ãªã©ã®æ©èœãããã©ã«ãã§æäŸãããŠããŸããäžæ¹ãFlaskã¯è»œéã§ã·ã³ãã«ãªãã¬ãŒã ã¯ãŒã¯ã§ãããå°èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ãAPIã®éçºã«é©ããŠããŸãã
4.2. Pythonã§ã®ããã¯ãšã³ãéçº
ããã¯ãšã³ãéçºã¯ããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®è£åŽã§è¡ãããåŠçãæ åœããŸããPythonã¯ãããŒã¿ããŒã¹ã®æäœãAPIã®äœæããµãŒããŒãšã®éä¿¡ãªã©ãããã¯ãšã³ãéçºã®å€ãã®ã¿ã¹ã¯ãå¹ççã«è¡ãããã®ããŒã«ãã©ã€ãã©ãªãæã£ãŠããŸãã
äŸãã°ãSQLAlchemyã¯Pythonã§ã®ããŒã¿ããŒã¹æäœãç°¡åã«è¡ãããã®ã©ã€ãã©ãªã§ãããFastAPIãDjango Rest Frameworkã¯APIã®éçºãå©ãããã¬ãŒã ã¯ãŒã¯ãšããŠç¥ãããŠããŸãã
4.3. Pythonã§ã®ããã³ããšã³ãéçº
ããã³ããšã³ãéçºã¯ããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ åœããŸããPythonã¯äž»ã«ããã¯ãšã³ãã®éçºã«äœ¿çšãããããšãå€ãã§ãããPyQtãKivyãšãã£ãã©ã€ãã©ãªã䜿çšããããšã§ããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®ããã³ããšã³ãã®éçºãè¡ãããšãã§ããŸãã
ãããããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®ããã³ããšã³ãéçºã«ã¯ãJavaScriptãHTMLãCSSãšãã£ãæè¡ãäž»ã«äœ¿çšããããããPythonã®åœ¹å²ã¯éå®çã§ãã
5. Pythonã§ã®èªååãšã¹ã¯ãªããã£ã³ã°
Pythonã¯ããã®æè»æ§ãšè±å¯ãªã©ã€ãã©ãªã®ãããã¿ã¹ã¯ã®èªååãã¹ã¯ãªããã£ã³ã°ã«éåžžã«é©ããŠããŸããæ¥åžžã®å調ãªäœæ¥ãããè€éãªãã¡ã€ã«æäœãŸã§ãPythonã䜿çšããããšã§å¹ççã«ã¿ã¹ã¯ãèªååããããšãã§ããŸãã
5.1. ã¿ã¹ã¯ã®èªååã®äŸ
Pythonã䜿çšãããšãããŸããŸãªã¿ã¹ã¯ãèªååããããšãã§ããŸããäŸãã°ãweb scrapingã䜿çšããŠãŠã§ããµã€ãããæ å ±ãèªåçã«ååŸããããèªååããŒã«ã䜿çšããŠå®æçã«ã¬ããŒããçæãããããããšãã§ããŸãã
ãŸããPyAutoGUIãšããã©ã€ãã©ãªã䜿çšããããšã§ãããŠã¹ãããŒããŒãã®æäœãèªååããããšãå¯èœã§ããããã«ãããGUIããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãããç¹°ãè¿ãè¡ãããäœæ¥ãèªååããããšãã§ããŸãã
5.2. Pythonã§ã®ãã¡ã€ã«æäœ
Pythonã«ã¯ããã¡ã€ã«ã®èªã¿æžããæäœãç°¡åã«è¡ãããã®æ©èœãè±å¯ã«åãã£ãŠããŸããäŸãã°ãosãshutilãšãã£ãæšæºã©ã€ãã©ãªã䜿çšããããšã§ããã¡ã€ã«ã®ã³ããŒã移åãåé€ãªã©ã®åºæ¬çãªæäœãç°¡åã«è¡ãããšãã§ããŸãã
ãŸããcsvãopenpyxlãšãã£ãã©ã€ãã©ãªã䜿çšããããšã§ãCSVãã¡ã€ã«ãExcelãã¡ã€ã«ã®èªã¿æžããç°¡åã«è¡ãããšãã§ããŸãã
5.3. Pythonã§ã®æ¥åžžã®ã¿ã¹ã¯ã®èªåå
Pythonã䜿çšãããšãæ¥åžžã®ã¿ã¹ã¯ãå¹ççã«èªååããããšãã§ããŸããäŸãã°ãå®æçã«ããã¯ã¢ãããåãã¹ã¯ãªããããç¹å®ã®æéã«ã¡ãŒã«ãéä¿¡ããã¹ã¯ãªãããªã©ãããŸããŸãªæ¥åžžã®äœæ¥ãèªååããããšãã§ããŸãã
ç¹ã«ãsmtplibãscheduleãšãã£ãã©ã€ãã©ãªã䜿çšããããšã§ãã¡ãŒã«ã®éä¿¡ãã¿ã¹ã¯ã®ã¹ã±ãžã¥ãŒãªã³ã°ãç°¡åã«è¡ãããšãã§ããŸãã
6. Pythonã®åŠç¿ãªãœãŒã¹
ããã°ã©ãã³ã°èšèªãåŠã¶éã«ã¯ãé©åãªåŠç¿ãªãœãŒã¹ããµããŒããéåžžã«éèŠã§ããPythonã¯ãã®äººæ°ãšåºç¯ãªçšéã®ãããå€ãã®åŠç¿ãªãœãŒã¹ãã³ãã¥ããã£ãååšããŸãã
6.1. Pythonã®åŠç¿æ¹æ³
PythonãåŠã¶æ¹æ³ã¯å€å²ã«ããããŸãããªã³ã©ã€ã³äžã«ã¯å€ãã®ãã¥ãŒããªã¢ã«ãããã¥ã¡ã³ããååšããåå¿è ããäžçŽè ãŸã§å¹ åºãå 容ãæäŸãããŠããŸãããŸããæžç±ããªã³ã©ã€ã³ã³ãŒã¹ãå©çšããããšã§ãäœç³»çã«åŠç¿ãé²ããããšãã§ããŸãã
å®éã®ãããžã§ã¯ããæãããªããåŠã¶ãå®è·µçãªåŠç¿ããéåžžã«å¹æçã§ããå°ããªãããžã§ã¯ãããå§ããåŸã ã«ã¹ã±ãŒã«ã倧ããããŠããããšã§ãå®éã®éçºã®æµããåé¡è§£æ±ºã®ã¹ãã«ã身ã«ã€ããããšãã§ããŸãã
6.2. Pythonã®ã³ãã¥ããã£ãšãµããŒã
Pythonã®ã³ãã¥ããã£ã¯äžçäžã«åºãã£ãŠãããå€ãã®ãµããŒããæ å ±äº€æã®å ŽãæäŸãããŠããŸãããã©ãŒã©ã ãã¡ãŒãªã³ã°ãªã¹ããå©çšããããšã§ãçåãåé¡ã«å¯ŸããçããåŸãããšãã§ããŸãã
ãŸããPythonã®ã«ã³ãã¡ã¬ã³ã¹ãããŒãã¢ãããå€æ°éå¬ãããŠãããçŸå°ã®ã³ãã¥ããã£ãšçŽæ¥äº€æµããããšãã§ããŸãããããã®ã€ãã³ãã¯ãæ°ããæè¡ããã¬ã³ããåŠã¶çµ¶å¥œã®æ©äŒãšãªããŸãã
6.3. Pythonã®ä»åŸã®å±æ
Pythonã¯çŸåšãé²åãç¶ããŠãããä»åŸããã®äººæ°ã¯é«ãŸããšäºæ³ãããŸããç¹ã«ãããŒã¿åæãæ©æ¢°åŠç¿ããŠã§ãéçºãªã©ã®åéã§ã®å©çšãæ¡å€§ããŠããŸãã
ãŸããPythonã®ã³ãã¥ããã£ã¯éåžžã«æŽ»çºã§ãããæ°ããã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ã®éçºãç¶ããããŠããŸãããã®ãããªèæ¯ãããPythonãåŠã¶ããšã¯ãçŸä»£ã®æè¡æ¥çã§ã®ãã£ãªã¢ãç¯ãäžã§éåžžã«æçã§ãããšèšããã§ãããã
7. ãŸãšã
ãã®èšäºãéããŠãPythonã®å€å²ã«ãããç¹åŸŽãçšéãåŠç¿ãªãœãŒã¹ãªã©ã«ã€ããŠè©³ãã解説ããŸãããæåŸã«ãPythonã®å šäœåãç·æ¬ããŸãããã
7.1. Pythonã®åŒ·ã¿ãšåŒ±ã¿
Pythonã®æ倧ã®åŒ·ã¿ã¯ããã®èªã¿ããããšæè»æ§ã«ãããŸããããã«ãããåå¿è ãããããã§ãã·ã§ãã«ãŸã§å¹ åºããŠãŒã¶ãŒãå¹ççã«ã³ãŒãã£ã³ã°ãè¡ãããšãã§ããŸãããŸããè±å¯ãªã©ã€ãã©ãªãšãã¬ãŒã ã¯ãŒã¯ãååšãããããæ§ã ãªåéã§ã®éçºã容æã«ãªã£ãŠããŸãã
äžæ¹ã匱ã¿ãšããŠã¯ãäžéšã®é«æ§èœãèŠæ±ãããã¢ããªã±ãŒã·ã§ã³ã«ãããŠã¯ãä»ã®èšèªãšæ¯ã¹ãŠå®è¡é床ãé ããªãããšãæããããŸãããããããã®åé¡ãCãC++ãšã®é£æºã«ããã倧ããæ¹åãããŠããŸãã
7.2. Pythonã®å°æ¥æ§
Pythonã¯çŸåšãããŒã¿ãµã€ãšã³ã¹ãæ©æ¢°åŠç¿ããŠã§ãéçºãªã©ã®åéã§éåžžã«é«ã人æ°ãèªã£ãŠããŸãããã®ãã¬ã³ãã¯ä»åŸãç¶ããšäºæ³ãããPythonã®éèŠã¯ããã«å¢å ããã§ããããç¹ã«ãAIãIoTã®åéã§ã®å©çšãæ¡å€§ããŠããããšãããPythonã®å°æ¥æ§ã¯éåžžã«æãããšèšããŸãã
7.3. Pythonã®åŠç¿ã®éèŠæ§
æè¡ã®é²åãšãšãã«ãããã°ã©ãã³ã°ã¹ãã«ã®éèŠæ§ã¯æ¥å¢ãã«é«ãŸã£ãŠããŸããPythonã¯ãã®å ¥éãããããšå€æ§ãªçšéãããååŠè ã«ãšã£ãŠæé©ãªèšèªã®äžã€ãšãªã£ãŠããŸããPythonãåŠã¶ããšã§ãçŸä»£ã®ããžã¿ã«æ代ã«ãããŠæ±ããããã¹ãã«ã身ã«ã€ããããšãã§ããã®ã§ãã