10.Python - YukaKoshiba/MyknowledgeDocs GitHub Wiki
Python @Japanese Version
Create DateïŒ2025/3/24
Last Update DateïŒ2025/4/28
PythonïŒ
çšèªã
ãäœæ³ã
ã©ã€ãã©ãªã®ã€ã³ããŒãã
ãµãŒãããŒãã£ã®ã€ã³ã¹ããŒã«
ã¡ãã»ãŒãžåºåã
è€éãªããŒã¿æ§é ã®ã¡ãã»ãŒãžåºåã
ã³ã¡ã³ãæ
ããŒã¿åãšå€æ°ïŒ
ããŒã¿åã
ããŒã¿åã調ã¹ã
倿°ã®å®£èšã
倿°ã®åºå
åºæ¬æ§æïŒ
æ¡ä»¶åå²(
ifæã
äžé
æŒç®åã
matchæ)ã
loopæ(
whileæã
foræ)ã
äŸå€åŠç
æŒç®åïŒ ç®è¡æŒç®åã æ¯èŒæŒç®åã è«çæŒç®å
ç¹æ®ãªå€ïŒ
None(空å€)ã
rawæååã
æ£èŠè¡šçŸ
notã«ããçåœå€è©äŸ¡
é
åïŒ
é
åã§äœ¿ã颿° (
ååšç¢ºèª/å€ã®ååŸã
ç¹°è¿ãåŠçã
ã«ãŠã³ãã
远å /åé€ã
è€è£œ/䞊æ¿ãã
ããŒã¿å倿 )
颿°ïŒ
ç¹å¥ãªåŒæ°ã
ãªããžã§ã¯ãã®äœæã
ã¯ã©ã¹ã®å®çŸ©
çµã¿èŸŒã¿é¢æ°ã
å
¥åã
ããŒã¿åã®æäœã
æ°åã®æäœã
æååã®æäœ
å®è¡ç°å¢ã®æ
å ±ååŸã
ãã£ã¬ã¯ããªæäœ
ãã¡ã€ã«æäœ (
åºæ¬ã®ãã¡ã€ã«æäœ /
CSV /
Excel /
JSON )
DB/SQLãæ±ãã
䟿å©ãªã¢ãžã¥ãŒã«
ãããã°ïŒ Traceback(ãã¬ãŒã¹ããã¯)ã ãããããšã©ãŒ
éçºç°å¢ã®æ§ç¯ã
Pythonã®ã¢ããããŒã
èµ·åïŒ
IDELã
ã€ã³ã¿ã©ã¯ãã£ãã
ãã¡ã€ã«ãšãã£ã¿
ããã°ã©ã ã®å®è¡ïŒ
shebang(ã·ãã³)ã
ããããã¡ã€ã«ããå®è¡ã
ã³ãã³ãã©ã€ã³åŒæ°ã
åè
ãªã³ã©ã€ã³ãã¥ãŒããªã¢ã«
å
¬åŒããã¥ã¡ã³ã
ã³ãã³ãã©ã€ã³ã§ã®äœ¿çšãWebã¢ããªã±ãŒã·ã§ã³ã®éçºã«ãéåžžã«é©ããŠãã
Cèšèªãªã©ãšæ¯èŒããŠãPythonã¯ããããã¯ãŒã¯æ¥ç¶ãã€ã³ã¿ãŒãããäžã®éä¿¡ãšãã£ãWebã¢ããªã±ãŒã·ã§ã³ã®åºç€ãšãªãæ©èœãç°¡æœã«èšè¿°ã§ãããè€éãªWebã¢ããªéçºã容æ
Pythonã«ã¯Webãã¬ãŒã ã¯ãŒã¯ãšåŒã°ããã©ã€ãã©ãªçŸ€ãããããããå©çšããããšã§Webã¢ããªã±ãŒã·ã§ã³éçºãããã«å¹çåããã
ã»ããŒã¿ãµã€ãšã³ã¹ã§äœ¿ãããæã人æ°ã®ããããã°ã©ãã³ã°èšèªã®1ã€
ã»çç£æ§ãšèªã¿ããããéèŠããããã°ã©ã å¯èœãªæ§ã
ãªã¿ã¹ã¯ã«é©ããããã«èšèšãããŠãã
ã(1970幎代ã«BBCã§æŸéãããã³ã¡ãã£ã»ã¹ã±ããã»ã·ãªãŒãº)
ãâæ£æã«äŒŒãŠããŠãèªã¿ããããåå¿è
ã§ãåŠç¿ã容æ
ã»æ±çšããã°ã©ãã³ã°èšèªã§ãããŒã¿ãµã€ãšã³ã¹ãžæŽ»çšã§ãã
ãâããããçš®é¡ã®ããŒã¿ãåŠçã§ããããããçš®é¡ã®ãããžã§ã¯ãã«é©ããŠãã
ã»ããŒã¿ã®æäœã«åœ¹ç«ã€ã©ã€ãã©ãªãè±å¯
ã»é«æ°Žæºããã°ã©ãã³ã°èšèªã§ãã€ã³ã¿ããªã¿ã«ãã£ãŠããã°ã©ã ãå®è¡ãã
ã»ãªããžã§ã¯ãæåããã°ã©ãã³ã°èšèª
ã»ã¡ã¢ãªç®¡çãããã°ã©ããè¡ãå¿
èŠã¯ãªãããã¿ã€ãã³ã°ãæå®ã§ããªã
ãâã¡ã¢ãªç®¡çã¯ç°¡åã§ããããèªåã§ã¡ã¢ãªç®¡çãã§ããCèšèªãªã©ãšæ¯èŒãããšããã®ååŠçãé
ããªããšããæ¬ ç¹ããã
Guido van Rossumã«ãã£ãŠäœããã1991幎ã«åããŠäžè¬å
¬éããã
ã¢ã³ãã£ã»ãã€ãœã³ã®ãã©ã€ã³ã°ã»ãµãŒã«ã¹ã«ã¡ãªãã§åä»ãããã
Cèšèªããããªã圱é¿ãåããŠãã
ã»ããŒã¿ã®ã¯ãªãŒãã³ã°ãšæäœã«é¢ããŠãPythonã®æ¹ãRã«æ¯ã¹ãŠã¯ããã«ç°¡åã§æè»
ã»Pythonã®æè»æ§ã«ãããã¢ãã«ã®ã«ã¹ã¿ãã€ãºãä»ã®ãœãããŠã§ã¢ãžã®ã¢ãã«å±éãå¯èœ
ã»Rãšåæ§ã«ã
ãã»éç/察話åããŒã¿èŠèŠåã®äœæããµããŒãããŠãã
ãã»å€§éã®ããŒã¿ãåŠçã§ãã
ã»ãœãããŠã§ã¢éçº
ã»Webãµã€ãã®ããã¯ãšã³ãéçº(server-side)
ã»ãããããµã€ãã®æ§ç¯(ãŠãŒã¶ã«æ ç»ãªã©ãæšå¥šããã¬ã³ã¡ã³ãç)
ã»æ°åŠ
ã»ã·ã¹ãã ã¹ã¯ãªãããç
- ã¢ãžã¥ãŒã«
ã¢ãžã¥ãŒã«ã¯ãåäžã®ãã¡ã€ã«(.py)ã®ããš
颿°ãã¯ã©ã¹ã倿°ãªã©ãå®çŸ©ããç¹å®ã®æ©èœãæäŸãã
ä»ã®Pythonããã°ã©ã ããimportæã䜿ã£ãŠèªã¿èŸŒã¿ãå©çšããããšãã§ãã
äŸïŒmath.py(æ°åŠé¢æ°),random.py(ä¹±æ°çæ)ãªã© - ããã±ãŒãž
ããã±ãŒãžã¯ãè€æ°ã®ã¢ãžã¥ãŒã«ããŸãšãããã£ã¬ã¯ããª(ãã©ã«ã)ã®ããš
ã¢ãžã¥ãŒã«ãéå±€çã«æŽçããåå空éã管çããããã«äœ¿çšããã
ããã±ãŒãžãã£ã¬ã¯ããªã«ã¯ã__init__.pyãšããç¹å¥ãªãã¡ã€ã«ãå«ããå¿ èŠããã
ãã®ãã¡ã€ã«ã¯ãããã±ãŒãžãåæåããããã«äœ¿çšããã
äŸïŒnumpy(æ°å€èšç®),pandas(ããŒã¿åæ)ãªã© - ããã³ãã
ã·ã¹ãã ã®æäœæã«å ¥åãåŠçãªã©ãä¿ãæååãªã©ã®ããšãæã - ã€ã³ã¿ããªã¿
Pythonã®ãœãããŠã§ã¢ã§ãPythonèšèªã§æžããããœãŒã¹ã³ãŒããèªã¿èŸŒãã§åœä»€ãå®è¡ãã
ç¡æã§ããŠã³ããŒãã§ããLinuxãWindowsãMacçããã - ã³ãã³ãã©ã€ã³åŒæ°
ã ããã°ã©ã ãå®è¡ããéã«æž¡ãåŒæ°ã®äº - pip
Pythonã®ããã±ãŒãžç®¡çã·ã¹ãã
Pythonã§äœæãããã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ãªã©ã®ããã±ãŒãž(ãœãããŠã§ã¢ã®éãŸã)ããã€ã³ã¿ãŒãããäžã®PyPI(Python Package Index)ãšãã å ¬éãªããžããªããç°¡åã«ã€ã³ã¹ããŒã«ãã¢ã³ã€ã³ã¹ããŒã«ã管çããããšãã§ãã
ç°¡åã«èšããšãPythonã®ã¢ããªã¹ãã¢ã®ãããªãã®ã§ãå¿ èŠãªã©ã€ãã©ãªãç°¡åã«ããŠã³ããŒãããŠäœ¿ããããã«ããããŒã«
Pythonã³ãŒãã®å¯èªæ§ãé«ããä»ã®éçºè
ãšã®ååãã³ãŒãã®ä¿å®æ§ãåäžãããããšãç®çã«
Pythonã³ãŒãã®ã¹ã¿ã€ã«ã«é¢ããŠãPEP 8(Python Enhancement Proposal 8)ãšåŒã°ããå
¬åŒãªã¬ã€ãã©ã€ã³ããã
ã€ã³ãã³ããè¡ã®é·ãã空çœã®äœ¿çšãåœåèŠåãã³ã¡ã³ãã®æžãæ¹ãªã©ãå¹
åºãã³ãŒãã£ã³ã°èŠåãå®ããŠãã
詳现ã¯ãå
¬åŒãµã€ããåç
§ã®ããš
- æ¡åŒµåã¯ã.py
-
ã€ã³ãã³ãã§ãããã¯ã®èªèããã
ïŒã¹ããŒã¹ã§ã¯ç¡ããå¿ ãTabããŒã§åäžããããããšïŒ - 倿°å®£èšæã«ãããŒã¿åã®æå®ãäžèŠã ããåæåã¯å¿ èŠ
- æååã®å€§æåãšå°æåã¯åºå¥ãã
- ææ«ã«;(ã»ãã³ãã³)ãªã©ãææ«ãåºåãçšèªã¯äžèŠ
- 颿°ãªã©ãããã¯ã®åºåãã«{ }(äžæ¬åŒ§)ã¯äœ¿çšããã:(ã³ãã³)ã䜿çšãã
- ã¡ã¢ãªç®¡çãããã°ã©ããè¡ãå¿ èŠã¯ãªã
- ã€ã³ã¿ããªã¿ã«ãã£ãŠããã°ã©ã ãå®è¡ãã
ïŒãœãŒã¹ã³ãŒãã倿Žã®åºŠãããã°ã©ã å®è¡åã«ã³ã³ãã€ã«ãè¡ãå¿ èŠããªã -
ææ³ãšããŠã¯ãmain颿°ãäžèŠ
ãã ãã颿°ã®åŒã³åºããæç€ºçã«ç€ºããããæ £ç¿ãšããŠãmain颿°ãå®çŸ©ããããšãå€ã - 倿°åã«äºçŽèª(print,defç)ã¯å©çšã§ããªã
- å€ãã®ããã°ã©ãã³ã°èšèªã¯äœçœ®åŒæ°(Positional Arguments)ã®ããã颿°ã®åŒæ°ã®é çªã決ãŸã£ãŠãããã
Pythonã§ã¯ååä»ãåŒæ°(Named Parameters/Keyword Arguments)ã䜿ããããšã§åŒæ°ã®é çªãèŠããå¿ èŠãç¡ã
âã³ãŒãã®å¯èªæ§ãšæè»æ§ãåäžãããããã®äŸ¿å©ãªæ©èœ
æ
£ç¿ãšããŠã®ãšããŠã®main颿°ã®å®çŸ©
â»ãããŸã§é¢æ°ã®é¢ä¿æ§ãšéå§å°ç¹ãæç€ºçã«ç€ºãããã®ãã®ã®ãããåç§°ã¯"main"ã§ãªããŠãè¯ã
def main():
func()
def func():
pint("Hello, World!")
Pythonã§ã¯ãCèšèªã®ããã«ãããã°ã©ã çµäºæã«å¿
ãçµäºã¹ããŒãã¡ã³ããè¿åŽããå¿
èŠã¯ç¡ã
ããããæ
£ç¿ãšããŠãæ£åžžçµäºæã«ã¯0ãããã°ã©ã ãç°åžžçµäºããéã«ã¯ã0以å€ã®æ°ãä»äžãã
ããããŠããããšã§ããšã©ãŒçºçæã«ã©ãã§ã·ã¹ãã ã匷å¶çµäºããã®ããããããä¿å®æ§ã®åäžã«ç¹ãã
import sys
if len(sys.argv) != 2:
print("Missing command-line argument")
sys.exit(1) # record 1
print(f"hello, {sys.argv[1]}")
sys.exit(0) # record 0
çµäºã¹ããŒããååŸãããå Žåã¯ãeco $?å®è¡ãã
詳现ã¯ãããã°ã©ãã³ã° çµäºã¹ããŒãåç
§ã®ããš
äžè¬çã«from <ã©ã€ãã©ãªå>ã§è¡ã
# Import all of modules in PIL library
from PIL
ã©ã€ãã©ãªã®ã¢ãžã¥ãŒã«ãéžæãããå Žåã¯ãfrom <ã©ã€ãã©ãªå> import <ã¢ãžã¥ãŒã«å>,<ã¢ãžã¥ãŒã«å>,...ã§è¡ã
# Import only Image and ImageFilter modules in PIL library
from PIL import Image, ImageFilterhe
åºæ¬çã«ã¯ãå€éšã©ã€ãã©ãªãã€ã³ããŒãããéãšæžãæ¹ã¯åã
ã»åç §å ãšåç §å ã®Pythonãã¡ã€ã«ãåããã£ã¬ã¯ããªã«ååšããå Žå
# ã¢ãžã¥ãŒã«ãéå®ããªã
import Pythonãã¡ã€ã«å
#ã¢ãžã¥ãŒã«ãéå®ãã
from Pythonãã¡ã€ã«å import ã¢ãžã¥ãŒã«å
ã»åç
§å
ãšåç
§å
ã®Pythonãã¡ã€ã«ãéããã£ã¬ã¯ããªã«ååšããå Žåã¯ã
äžèšã®ã³ãŒãã«ä»¥äžã®ã³ãŒãã远å ãã
import sys
sys.path.append('åç
§ãããã¡ã€ã«ãã¹')
# åç
§å
ã¢ãžã¥ãŒã«ã"/path/to/mymodule.py"ã«ååšããå Žå
import sys
sys.path.append('/path/to')
import mymodule
from mymodule import myfunction
以äž2çš®é¡ã®æ¹æ³ããã
1.pypiãå©çšãã
å®å
šã«ããŠã³ããŒãã§ããPythonã¢ãžã¥ãŒã«ã®ç¡æã¹ãã¢
2.pip/pip3å©çšãã
ã€ã³ã¹ããŒã«æïŒpip install ã¢ãžã¥ãŒã«å
ã¢ããããŒãæïŒpip install -U ã¢ãžã¥ãŒã«å
â»MacãLinuxã®å Žåãpipã§ã¯ãªããpip3ãå©çšãã
åºæ¬ã®æžãæ¹
ïœ
print(*objects, sep=' ', end='\n', file=None, flush=False)â»ããã§ã®*ã¯ãCèšèªãªã©ã®*ãã€ã³ã¿æŒç®åã§ã¯ãªã
sepïŒ
äœãæå®ããªãã£ãå Žåãããã©ã«ãã§ã¯' '(åè§ã¹ããŒã¹)ãèšå®ããã
è€æ°ã®æååã倿°ãåºåããéã«é£çµããå€ãåè§ã¹ããŒã¹ä»¥å€ã«ãããå Žåã¯ã
sep='-'ãªã©ãšåºåãããæåãæå®ãããšå€æŽã§ãã
sep=''ãšæå®ãããšãåºåãããæåç¡ãã§åºåããã
endïŒ
äœãæå®ããªãã£ãå Žåãããã©ã«ãã®'\n'(æ¹è¡)ã§åºåããã
æ¹è¡ããŠåºåããããªãå Žåã¯ãend=''ãšæå®ãããšãåãè¡ã«åºåããã
ãã以å€ã«ããèªåã®æå®ããæžåŒã§ãåºåããããšãå¯èœ
print("hello, world")
# æååãé£ç¶ããŠåºåãã-(ãã€ãã³)ã§é£çµãã
print("apple", "banana", "orange", sep="-")
'''(ããªãã«ã¯ãªãŒã)ãŸãã¯''(ããã«ã¯ãªãŒã)ã§å²ã£ãŠãæååãèšè¿°ãããšãæååã®æ¹è¡ã®ãŸãŸåºåããããšãã§ãã
print('''ããã«ã¡ã¯ã
å
æ¥ã¯ããããšãããããŸããã
ãŸãããããããé¡ãããŸãã''')
# Output
ããã«ã¡ã¯ã
å
æ¥ã¯ããããšãããããŸããã
ãŸãããããããé¡ãããŸãã
è€éãªããŒã¿æ§é (ãªã¹ããèŸæžãªã©)ãã人éãèªã¿ããã圢åŒã§åºåãããããpprint(pretty print)ã¢ãžã¥ãŒã«ã䜿ããšè¯ã
ç¹ã«ããã¹ããããããŒã¿æ§é ãéåžžã«å€§ããªããŒã¿æ§é ãæ±ãå Žåã«ã
ãªããžã§ã¯ãããããã«æŽåœ¢ããŠåºåã»è¡šç€ºãããã
æåå(stråãªããžã§ã¯ã)ã«å€æããŠãå€ãæŽåœ¢è¡šç€ºã§ããéåžžã«äŸ¿å©
pprintã¢ãžã¥ãŒã«ã®äŸ¿å©ãªæ©èœ
ã€ã³ãã³ãïŒãã¹ããããããŒã¿æ§é ãã€ã³ãã³ãã§è¡šç€ºãããããæ§é ãåããããããªã
åºåå¹
ã®å¶éïŒåºåå¹
ãå¶éããããšã§ãé·ããªã¹ããèŸæžãç»é¢ããã¯ã¿åºãã®ãé²ã
æ·±ãã®å¶éïŒãã¹ããããããŒã¿æ§é ã®è¡šç€ºããæ·±ããå¶éããããšã§ãè€éãªããŒã¿æ§é ã®äžéšåã ãã衚瀺ã§ãã
èŸæžã®ãœãŒãïŒèŸæžã®ããŒããœãŒãããŠè¡šç€ºããããšã§ãåºåã®é åºãäžå®ã«ã§ãã
pprintã¢ãžã¥ãŒã«ã䜿çšããå Žé¢
ã»è€éãªããŒã¿æ§é ã®ãããã°
ã»èšå®ãã¡ã€ã«ãAPIã®ã¬ã¹ãã³ã¹ã®è¡šç€º
ã»ãã°ãã¡ã€ã«ã®åºå
åºæ¬ã®æžãæ¹ã¯ä»¥äžã®éã
objectïŒåºåãããªããžã§ã¯ã
streamïŒåºåå
ã®ãã¡ã€ã«ãªããžã§ã¯ã(ããã©ã«ãã¯æšæºåºå)
indentïŒã€ã³ãã³ãã®ã¹ããŒã¹æ°(ããã©ã«ãã¯1)
widthïŒåºåå¹
(ããã©ã«ãã¯80æå)
depthïŒåºåããæ·±ãã®å¶é(ããã©ã«ãã¯None)
compactïŒåºåãã§ããã ãã³ã³ãã¯ãã«ãããã©ãã(ããã©ã«ãã¯False)
sort_dictsïŒèŸæžã®ããŒããœãŒããããã©ãã(ããã©ã«ãã¯True)
pprint.pprint(object, *, stream=None, indent=1, width=80, depth=None, compact=False, sort_dicts=True)
import pprint
data = {
"name": "倪é",
"age": 30,
"address": {
"city": "æ±äº¬",
"zip": "100-0001"
},
"skills": ["Python", "JavaScript", "C++"]
}
pprint.pprint(data)
# The example of output
{'address': {'city': 'æ±äº¬', 'zip': '100-0001'},
'age': 30,
'name': '倪é',
'skills': ['Python', 'JavaScript', 'C++']}
# Only one line of comment
"""
Multi-line comments
"""
| ããŒã¿å | 説æ | äŸ |
|---|---|---|
| str | æååå '(ã·ã³ã°ã«ã¯ãªãŒã)/"(ããã«ã¯ãªãŒã)ã§å²ã æååã«'ãå«ãå Žåã¯ã"ãå©çšãã ã¡ã¢ãªã®èš±ãéããç¡éã«å€ã®ç¯å²ãåã |
str="hello" |
| int | (笊å·ä»ã)æŽæ°å floatåãšå倿ç¡ãã§ãçå·æ¯èŒ(==)ããŠãTrueã«ãªã Python3ã§ã¯ãæŽæ°ã®ç¯å²ã«å¶éã¯ãªã ã¡ã¢ãªã®èš±ãéãä»»æã®å€ã®ç¯å²ãåã |
num = 1 |
| complex | è€çŽ æ°å | |
| float | åç²ŸåºŠå°æ°ç¹å intåãšå倿ç¡ãã§ãçå·æ¯èŒ(==)ããŠãTrueã«ãªã |
num = 1.0 |
| bool | Booleean(True/False) ïŒé æåã倧æåã§ãªããšãšã©ãŒã«ãªãïŒ |
|
| list | è€æ°ã®ããŒã¿ã1ã€ã®åã«ãŸãšããŠæ ŒçŽãã ãããã®ããŒã¿ãç°¡åã«ç®¡ç/æäœããããŒã¿æ§é ã»ãã¥ãŒã¿ãã«(远å ,倿Ž,åé€å¯èœ) ïŒèŠçŽ ã®å€æŽå¯èœ ã»ã·ãŒã±ã³ã¹å(è€æ°ã®èŠçŽ ãé çªã«äžŠã¹ãŠæ±ãããŒã¿å)ã®1〠ã»ããŒã¿ã [ ](倧æ¬åŒ§)ã§å²ãã»è€æ°ã®ããŒã¿ãæ±ããããšãã¯ã [ ](倧æ¬åŒ§)ã®äžã«ã{ }(äžæ¬åŒ§)ãå
¥ããããããããïŒãªã¹ãã®äžã«èŸæžãå ¥ã£ãŠããç¶æ ã»ãªã¹ãã®äžã§ã«ãŒããåããå€ãäœæããããšãå¯èœ ãâ»é ç®åãšå€ãäœåºŠãæžãçºãã³ãŒãã®åé·æ§ãé«ããªã ã»ç·åœ¢æ¢çŽ¢ã¢ã«ãŽãªãºã ã§åã(=æ€çŽ¢å¹çãæªã) ãããããã»ãªã¹ãããå€ãåãåºãããæã¯ã ãªã¹ãå[ã€ã³ããã¯ã¹(æ·»å))](ïŒæ°å)ã§æå®ããããããããèŸæžåãæã£ãŠããæã¯ã ãªã¹ãå[ã€ã³ããã¯ã¹(æ·»å))]['Key']ã§æå®ãã |
åºæ¬ã®ãªã¹ãånum = [1,2,3,4,5]
num[0] = 1
num[1] = 2
num[-1] = 5
ãªã¹ãåã®äžã«èŸæžåãå ¥ã£ãå€§èŠæš¡ããŒã¿ people = [
{"name": "John", "number": "00001"},
{"name": "Tom", "number": "00002"},
{"name": "Kathy", "number": "00003"},
]
print(people[0]) # {"name": "John", "number": "00001"}
print(people[0]['name']) # John
ãªã¹ãå å 衚èš(ç¹°ãè¿ãåŠçãè¡ããªãããªã¹ããäœæãã) nums = [x for x in range(500)]
|
| tuple | ã·ãŒã±ã³ã¹å(è€æ°ã®èŠçŽ ãé çªã«äžŠã¹ãŠæ±ãããŒã¿å)ã®1〠ããŒã¿ã¯()ã§å²ãŸããã€ããã¥ãŒã¿ãã«(远å ,倿Ž,åé€äžå¯èœ) ã»ã¿ã€ã ã¹ã¿ã³ãçã倿Žäžå¯ã«ãããããŒã¿ã«å©çšãã ããã£ã¯ã·ã§ããªã®ããŒãªã©ã«ãå©çšããã ã»å€æŽæäœãããããªãçºãã¡ã¢ãªå¹çãè¯ãããªã¹ããããåŠçãè¥å¹²æ©ã ã»èŠçŽ ãäžã€ãããªãå Žåã¯ãæ«å°Ÿã«ã«ã³ããå¿ èŠ âæ°åŒã®æ¬åŒ§ãšèŠåãããã |
num=(1,2,3,4,5)
num(1,)
|
| range | æ°å å¹ççãªæ°å€ã·ãŒã±ã³ã¹çæã«äœ¿çš ã·ãŒã±ã³ã¹å(è€æ°ã®èŠçŽ ãé çªã«äžŠã¹ãŠæ±ãããŒã¿å)ã®1〠|
|
| dict | ããŒãšå€ã®ãã¢ãæ±ãããŒã¿å ããŒã¿ã{ }(äžæ¬åŒ§)ã§å²ã ã»ããŒãšããªã¥ãŒãäœåºŠãæžãå¿ èŠãç¡ããåé·æ§ãäœã ã»ããã·ã¥æ¢çŽ¢ã¢ã«ãŽãªãºã ã§åã(=æ€çŽ¢å¹çãè¯ã) ã»ååšããªãããŒãæå®ãããšãKeyErrorãçºçãã ã»ãªã¹ãã®æ§ãªé åºé¢ä¿ã¯ãªããKeyã§ValueãååŸãã ãããããã»å€ãåãåºãæã¯ã èŸæž['keyå']ã§æå®ãã
|
my_cat = {'size':'fat','color':'gray','disposition':'lound'}
my_cat['size'] = 'fat'
|
| set | éè€ã®ãªãèŠçŽ ã®éãŸããæ±ã |
Pythonã§ã¯ãä»ã®ããã°ã©ãã³ã°èšèªã«ååšããlongåãdoubleåã¯äœ¿ããªã
åºæ¬çã«Pythonã§ã¯ãã¡ã¢ãªãèš±ãéãå€ã®ç¯å²ã¯èªåã§æ¡å€§ããŠããããã
äœåæ¡ãšãã£ãèšå€§ãªæŽæ°å€ã䜿çšããªãéããæŽæ°ãªãŒããŒãããŒã¯çºçããªã
ãŸããä»ã®å€ã®ç¯å²ãéãããŠããããã°ã©ãã³ã°ã«æ¯ã¹ãŠããªãŒããŒãããŒã¯çºçãã¥ãã
ãã ããããã©ã«ãã®print()ã§è¡šç€ºãããèšç®çµæã§ã¯ãåãæšãŠã«ãã圱é¿ã¯ç¡ãããã«èŠãããã
50æ¡ã®èšç®çµæãåºåãªã©ãæ¡æ°ã«ãã£ãŠã¯åãæšãŠã«ããåé¡ãçºçããå¯èœæ§ãããããšã念é ã«çœ®ããŠããå¿
èŠããã
x = int(input("x: ")) # 1
y = int(input("y: ")) # 3
z = x / y
print(z) # 0.3333333333333333
x = int(input("x: ")) # 1
y = int(input("y: ")) # 3
z = x / y
print(f"{z:.50f"}) # 0.3333333333333333...31482961624...
type()颿°ã䜿çšããŠã倿°ã®ããŒã¿åã確èªã§ãã
x = 10
print(type(x)) # <class 'int'>
Pythonã§ã¯ãä»ã®ããã°ã©ãã³ã°èšèªã®ããã«ã倿°å®£èšæã«ããŒã¿åãæç€ºçã«æå®ããå¿
èŠã¯ãªã
ããã¯"åçåä»ãèšèª"ãšåŒã°ãã倿°ã®ããŒã¿åãå®è¡æã«èªåçã«æ±ºå®ããã
ãã ãã倿°ãåããŠäœ¿çšããåã«ãäœããã®å€ã代å
¥ããŠåæåããå¿
èŠããã
倿°å = å€ã§å®£èšãã
num = 10;
è€æ°ã®å€æ°ããŸãšããŠå®£èš/åæåããããšãã§ãã
x, y, z = 0, 0, 0
ã°ããŒãã«å€æ°ã®å®çŸ©æ¹æ³ã®æ¹æ³ã¯ã以äžã®2éããååšãã
1.颿°ã®å€ã§å€æ°ãå®çŸ©ãã
ãã ãã颿°å
ã§ã°ããŒãã«å€æ°ã®å€ã倿Žããå Žåã¯ãglobalããŒã¯ãŒãã䜿çšããå¿
èŠããã
global_variable = 10
def my_function():
print(global_variable)
my_function() # Output:10
globalããŒã¯ãŒãã䜿çšãã
ãã®æ¹æ³ã¯ã颿°å
ã§ã°ããŒãã«å€æ°ãå®çŸ©ã§ãã
ã°ããŒãã«å€æ°ã®å€ã倿Žããå Žåã«ããglobalããŒã¯ãŒããå¿
èŠ
â»åã倿°åã§globalããªãå Žåã¯ãå¥ã®ããŒã«ã«å€æ°ãšããŠæ±ã
def my_function():
global num = 10
print(num)
my_function() # Output:10
print()ã䜿çšãã倿°ã®åºåæ¹æ³ã¯ã2çš®é¡ãã
1. +æŒç®åãå©çšããŠãæååãé£çµããæ¹æ³
ã»åŸæ¥ã®æ¹æ³
ã»æååãšçµã¿åãããŠåºåããå Žåãã³ãŒããåé·ã«ãªãããšããã
ã»å€æ°ã®åãæåå以å€ã®å Žåãæååãšçµã¿åãããã®ã«åã®å€æãå¿
èŠã«ãªãããšããã
2. fæåå(f-strings)ãå©çšããæ¹æ³
åŸæ¥ã®ãã©ãŒãããæŒç®å(%s,%d)ãªã©ãå©çšããããšãå¯èœã ãã
Python 3.6以é以éå°å
¥ãããfæåå(f-strings)ã®äœ¿çšãæšå¥šãããŠãã
åºæ¬çãªäœ¿ãæ¹ã¯ãæååã®å
é ã«fãŸãã¯Fãä»ããŠèšè¿°ãã
æååã®äžã«å€æ°ãåã蟌ãå Žåã«ã¯ã倿°ã{倿°å}ã§å²ã
ã¡ãªããïŒ
ã»å¯èªæ§ãé«ã
ã»æè»æ§ãé«ã
ã»ããã©ãŒãã³ã¹æ§ãé«ã
print(f"user_id: {user_id}")
answer = input("What's your name? ")
# the way of using "+" operator
print("hello, " + answer)
#
print("hello,", answer)
#
print(f"hello, {answer}")
ifæ
# Prompt user for integers
x = input("What's x? ")
y = input("What's y? ")
# Compare integers
if x < y:
print("x is less than y")
elif x > y:
print("x is greater than y")
else:
print("x is equal to y")
# Prompt user for integers
x = input("What's x? ")
y = input("What's y? ")
# Compare integers
if x < y:
print("x is less than y")
elif x > y:
print("x is greater than y")
else:
print("x is equal to y")
åºæ¬ã®æžãæ¹ã¯ã[çã®å Žåã®å€] if [æ¡ä»¶åŒ] else [åœã®å Žåã®å€]
äžé
æŒç®åã䜿ããšãifæãããçãèšè¿°ããããšãã§ãã
letter = True if input().isalpha() else False
ä»ã®ããã°ã©ãã³ã°èšèªã®SWITCHæã®ãããªãã®
åºæ¬ã®æžãæ¹ã¯ã以äžã®éã
ã»è€æ°ã®å€ãæå®ãããå Žåã¯ã|(ãã€ã)ã䜿ã£ãŠå€ãåºåã
ã»ã©ã®å€ã«ã該åœããªãå Žåãæå®ãããæã¯ã_(ã¢ã³ããŒã¹ã³ã¢)ãå€ã«æå®ãã
match æ¡ä»¶ã確èªããå€/倿°:
case å€1:
return æ»ãå€1
case å€2:
return æ»ãå€2
match status:
case 400:
return "Bad request"
case 401 | 403 | 404:
return "Not allowed"
case 418:
return "Allowed"
case _:
return "Something else"
ã»å³åº§ã«ã«ãŒãã®æ¡ä»¶åŒãåè©äŸ¡ãããæã¯continueãèšè¿°ãã
ã»ã«ãŒããæãããæã¯ãbreakãèšè¿°ãã
while name != "":
print('What's your name?')
name = input()
if name == ""
print('Enter youe name.')
continue
else
print('Hello, ' + name)
break
print('Good to see you.')
Pythonã§ã¯ãrange()颿°ã䜿çšããŠãforæã®ã«ãŒãããŸãããããšãå€ã
åŸè¿°ãã[](ãªã¹ã)ã䜿ã£ãæ¹æ³ãããã¡ã¢ãªå¹çãè¯ãã
ç¹ã«å€§ããªç¯å²ã®æŽæ°ãæ±ãå Žåã«æå¹
range()颿°åºæ¬ã®æžãæ¹ã¯ä»¥äžã®éã
startããstop - 1ãŸã§ã®æŽæ°ã®ã·ãŒã±ã³ã¹ããstepãã€å¢ãããŠçæãã
åŒæ°ã®æ°ã¯ãªãã·ã§ã³ã§å€ãããã
range(start, stop, step)
range(start, stop)
range(stop)
for i in range(3):
print("Hello!")
Pythonã®æ
£ç¿çãªè𿳿¹æ³ã§ã"_"ã䜿ã£ãŠæžãå Žåããã
ããã¯ããã°ã©ãã«å¯ŸããŠããã®å€æ°ã¯äœ¿çšããªãããšã瀺ã
âã³ãŒãã®å¯èªæ§ãåäžããäžèŠãªå€æ°ã䜿çšããªãããšã§ã¡ã¢ãªã®äœ¿çšéã®ç¯çŽã«ãç¹ãã
for _ in range(3):
print("Hello!")
# for i in range(éå§å€, çµäºå€+1, å¢å):
for i in range(0, 2, 1):
print("Hello!")
ãŸããrange()颿°ã®äœ¿çšä»¥å€ã«[](ãªã¹ã)ã䜿çšããããšãã§ãã
range()颿°ãšæ¯èŒããŠããªã¹ãã®èŠçŽ æ°ãå¢ããã»ã©ãã¡ã¢ãªæ¶è²»éãå¢å ãã
for i in [0,1,2]:
print("Hello!")
whileæãšåæ§ã«ãç¹å®ã®æ¡ä»¶ãæºããããforæã®ã«ãŒãã®éäžã§åŠçãäžæããŠã«ãŒãããæãåºãããæãbreakãå©çšãã
fruits = ["apple", "banana", "orange", "grape"]
for fruit in fruits:
if fruit == "orange":
print("Found orange")
break # Interrupt the loop when it finds the orange.
print(fruit)
list = [
{'key1': 'value1', 'key2': 'value2'},
{'key1': 'another value', 'key3': 123},
{'key4': True}
]
for dictionary in list:
key1 = dictionary['key1'] # value1, another value
key2 = dictionary['key2'] # value2
äŸå€åŠçã®è©³çްãçš®é¡ã«é¢ããŠã¯ã96.ããã°ã©ãã³ã°ãåç §ã®ããš
try:
äŸå€ããã£ãããããåŠç
except:
tryã§äŸå€ãçºçããæã«å®è¡ããåŠç
# ææããäŸå€ã®çš®é¡ãæå®ãããå Žå(ãªãã·ã§ã³)
except äŸå€ãã³ãã©:ã
tryã§æå®ããç¹å®ã®äŸå€ãçºçããæã®ã¿å®è¡ããåŠç
# è£è¶³ããäŸå€ã倿°ã«æ ŒçŽããŠè©³çްæ
å ±ãååŸãã(ãªãã·ã§ã³)
except äŸå€ãã³ãã© as 倿°å:
tryã§æå®ããç¹å®ã®äŸå€ãçºçããæã®ã¿å®è¡ããåŠç
# tryå®è¡åŸã«å¿
ãè¡ãããåŠçãããå Žå(ãªãã·ã§ã³)
finally:
tryã§äŸå€çºçã®æç¡é¢ä¿ãªããå¿
ãå®è¡ããåŠç
# äŸå€ãçºçããªãã£ãéã«å®è¡ãããåŠçãããå Žå(ãªãã·ã§ã³)
else: â»ãªãã·ã§ã³
tryã§äŸå€ãçºçããªãã£ãå Žåã«å®è¡ããåŠç
try:
print(x)
except:
print("Something went wrong")
Except ZeroDivisionError as e:
print(f"Something went wrong: {e}")
finally:
print("The 'try except' is finished")
else:
print("Nothing went wrong")
äžããé ã«èšç®åŠçãå®è¡ãããåªå 床
| æŒç®å | 説æ | äœ¿ãæ¹ |
|---|---|---|
| ** | çŽ¯ä¹ | 10 ** 2 â100 |
| * | ä¹ç® æåå,ãªã¹ããžå©çšå¯èœ |
3 * 2 â6'3' * 2 â'333'
|
| / | é€ç® | 3 / 2 |
| // | æŽæ°é€ç®(2ã€ã®æ°å€ã®åã®æŽæ°éšå) | 11 % 2 â5 |
| % | å°äœ(äœããèšç®) |
22 % 8 â6 |
| + | å ç® æåå,ãªã¹ããžå©çšå¯èœ |
3 + 2 # 5'3' + '2' â'32'
|
| - | æžç® | 3 - 2 |
| æŒç®å | 説æ | äœ¿ãæ¹ |
|---|---|---|
| == | çãã â»=(ä»£å ¥æŒç®å)ãšã¯å¥ç© |
10 == 10 # true |
| != | çãããªã | 10 != 5 # true |
| >/>= | ãã倧ãã/ä»¥äž | 10 > 5 # true
10 >= 5 # true |
| <= | æªæº/ä»¥äž | 10 < 5 # false
10 <= 11 # true |
| in | ã¡ã³ããŒã·ãããã¹ãæŒç®å ããå€ãã·ãŒã±ã³ã¹(ãªã¹ã,ã¿ãã«,æååãªã©)äžã« ååšãããå€å®ãã |
ããããã# Prompt user to agree
ãããããs = input("Do you agree? ")
|
boolå(True/False)ãè¿åŽããã
| æŒç®å | 説æ | äœ¿ãæ¹ |
|---|---|---|
| and | è«çç© | (10 > 5) and (5 < 10) |
| or | è«çç© | (10 > 5) or (5 < 10) |
| not | åŠå® | not (10 > 5) |
ä»ã®ããã°ã©ãã³ã°èšèªã§ã¯ã空å€(NULL,äœããªã)ã¯ãPythonã§ã¯Noneãå©çšãã
''ãã¹ããŒã¹ãšã¯ãå¥ã®æ±ã
return None
NoneãæŸãããå Žåã¯ã以äž2éãã®æ¹æ³ã§æå®ã§ãã
if 倿° == None:
ããå³å¯ã«ãã§ãã¯ããããæã¯ãis Noneãæ±ã
if 倿° is None:
è«çæŒç®åããã³ååšç¢ºèªä»¥å€ã«ãnotã«ã¯ã倿°ã®å€ãè©äŸ¡ããäœ¿ãæ¹ããã
if not 倿°å:
# åŠçãèšè¿°
åœ(False)ãšè©äŸ¡ãããå€:
False, None, 0(æ°å€åã®ãŒã),
空ã®ã·ãŒã±ã³ã¹("", [], (), {})
ãã®æžãæ¹ã ãšãNoneãšç©ºæå("")ã®äž¡æ¹ã®ç¢ºèªãã§ãã
if 倿°å is None:ãŸãã¯if 倿°å == None:
倿°ãNoneã§ããããšã®ç¢ºèªã¯åºæ¥ããã空æå("")ã®ç¢ºèªã¯ã§ããªã
if 倿°å = ""
倿°ã空æå("")ã§ããããšã®ç¢ºèªã¯åºæ¥ãããNoneã®ç¢ºèªã¯ã§ããªã
# è«çæŒç®å a = True print(not a) # åºå: False
# ååšç¢ºèª my_list = [1, 2, 3] print(1 not in my_list) # åºå: False print(4 not in my_list) # åºå: True
r'æåå'ïŒæååã®äžã®ãšã¹ã±ãŒãæåãç¡èŠããŠæååãšããŠæ±ã
print(r'That is Calol\'s cat')
â"That is Calol\'s cat"ãšããšã¹ã±ãŒããããã«åºåããã
Pythonã§æ£èŠè¡šçŸã䜿çšããã«ã¯ãreã¢ãžã¥ãŒã«ãå©çšãã
ãã®äžã«ã¯ãæ£èŠè¡šçŸãã¿ãŒã³ã«ãããããæååãæ€çŽ¢ãããã眮æããããããªã©
å
šãŠã®æ£èŠè¡šçŸé¢æ°ãçšæãããŠã
re.compile(pattern)颿°
æ£èŠè¡šçŸãã¿ãŒã³ãã³ã³ãã€ã«ããã³ã³ãã€ã«ããããã¿ãŒã³ãªããžã§ã¯ããåŸã§åå©çšã§ããããã«ãã
import re
pattern = re.compile(r"\d{3}-\d{4}")
re.search(pattern, string)颿°
æååstringã®äžãããæ£èŠè¡šçŸãã¿ãŒã³patternã«äžèŽããéšåæååã®æåã«ãããããããããªããžã§ã¯ããè¿ã
ãããããéšåæååããªãå Žåã¯ãNoneãè¿ã
import re
text = "My address is [email protected] ã§ãã"
pattern = r"([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+).([a-zA-Z]{2,})" # pattern of mail address
match = re.search(pattern, text)
if match:
print("Email address found:", match.group())
print("User name:", match.group(1))
print("Domain name:", match.group(2))
print("Top level domain:" match.group(3))
print("Starting point:", match.start())
print("End point:", match.end())
print("Range:", match.span())
else:
print("No matched")
group()ïŒãããããæååå
šäœãŸãã¯ç¹å®ã®éšåæååãè¿ã
start()ïŒãããããéšåæååã®éå§äœçœ®ãè¿ã
end()ïŒãããããéšåæååã®çµäºäœçœ®ãè¿ã
span()ïŒãããããéšåæååã®éå§äœçœ®ãšçµäºäœçœ®ã®ã¿ãã«ãè¿ã
re.findall(pattern, string)颿°
æååstringã®äžãããæ£èŠè¡šçŸãã¿ãŒã³patternã«äžèŽããéšåæååããã¹ãŠæ¢ãåºãããããã®éšåæååããªã¹ããšããŠè¿ã
import re
text = "ç§ã®é»è©±çªå·ã¯03-1234-5678ã§ãåéã®é»è©±çªå·ã¯090-9876-5432ã§ãã"
pattern = r"\d{2,4}-\d{2,4}-\d{4}" # é»è©±çªå·ã®ãã¿ãŒã³
phone_numbers = re.findall(pattern, text)
print(phone_numbers) # outpuy:['03-1234-5678', '090-9876-5432']
re.split(pattern, string)颿°
æç« ãæ£èŠè¡šçŸã䜿ã£ãŠè€æ°ã®åºåãæåã®åå²ã§ãã
æ£èŠè¡šçŸãã¿ãŒã³ã«äžèŽãããã¹ãŠã®éšåæååããªã¹ããšããŠè¿ã
åå²ãããéšåæååã®ãªã¹ããè¿ã
import re
# Count up number of sentence
def count_sentences(text):
sentences = re.split(r'[.!?]', text)
return len(sentences)
ãã®ä»ã«ãæ§ã
ãªé¢æ°ãçè§£ãããŠãã
re.match(pattern, string)ïŒæååã®å
é ããã¿ãŒã³ã«ããããããã©ãããå€å®ãã
re.finditer(pattern, string)ïŒæååå
šäœãããã¿ãŒã³ã«ãããããéšåããã¹ãŠæ€çŽ¢ããã€ãã¬ãŒã¿ãšããŠè¿ã
re.sub(pattern, repl, string)æååå
ã®ãã¿ãŒã³ã«ãããããéšåã眮æ
pattern.match(string)ïŒre.match()ãšåæ§ã ããã³ã³ãã€ã«æžã¿ã®ãã¿ãŒã³ãªããžã§ã¯ãã䜿çšãã
re.ã®éšåãpattern.ã§ãã³ã³ãã€ã«æžã¿ã®ãã¿ãŒã³ãªããžã§ã¯ãã䜿çšããããšãã§ãã
Pythonã§é åãšèšããšã以äž3ã€ã®ããŒã¿æ§é æã
list
Pythonã§æãäžè¬çã«äœ¿çšãããé
åã®ãããªããŒã¿æ§é
é åºä»ããããèŠçŽ ã®ã³ã¬ã¯ã·ã§ã³ã§ãããç°ãªãããŒã¿å(æŽæ°,æåå,ãªããžã§ã¯ããªã©)ãæ··åšãããããšãã§ãã
åçã«ãµã€ãºã倿Žã§ããèŠçŽ ã®è¿œå ãåé€ãarrayãšæ¯èŒãããšå®¹æ
ã¡ã¢ãªäžã§ã®é
眮ãé£ç¶ããŠãããšã¯éããªã
ããŒã¿ã®äžŠã³æ¿ãããå±¥æŽç®¡çãçµ±èšåŠçãªã©ã«å©çšã§ãã
my_list = [1, "hello", 3.14]
NumPy array
æ°å€èšç®ãå¹ççã«è¡ãããã®ã©ã€ãã©ãªã§ãç§åŠæè¡èšç®ãããŒã¿åæãªã©ã§åºã䜿çšããã
åãããŒã¿åã®èŠçŽ ãæã€å€æ¬¡å
ã®é
åã§ãããé«éãªæ°å€æŒç®ãå¯èœã«ãã
ãªã¹ããããã¡ã¢ãªå¹çãè¯ããæ°å€æŒç®ã®ããã©ãŒãã³ã¹ã«åªããŠãã
import numpy as np
my_array = np.array([1, 2, 3, 4, 5])
print(my_array)
array
ã»åãåã®èŠçŽ ãé£ç¶ããã¡ã¢ãªé åã«æ ŒçŽãããããŒã¿æ§é ãæã
ãïŒCãJAVAãªã©ãåŸæ¥ã®ããã°ã©ãã³ã°èšèªã®é
åã«1çªè¿ã
ã»ãªã¹ããããã¡ã¢ãªå¹çãè¯ãããNumPyé
åã»ã©ã®æè»æ§ãæ©èœã¯ãªã
import array
my_array = array.array('i', [1, 2, 3, 4, 5]) # 'i'ã¯æŽæ°åã衚ãåã³ãŒã
print(my_array)
ã·ãŒã±ã³ã¹åããŒã¿æ§é (ãªã¹ã,èŸæž,ã¿ãã«,æåå,ãã€ãå)ã«å¯ŸããŠäœ¿çšã§ãã䟿å©ãªé¢æ°
ããŒ/å€ã®ååšç¢ºèªã®ã¿
é
åããªã¹ããèŸæžãªã©ã«å¯ŸããŠäœ¿çšã§ãã
èŸæžåã§ããŒãååšããªãæã¯ãKeyErrorãçºçãã
âå®å
šã«å€ãååŸãããå Žåã¯ãget()ã¡ãœããã䜿ã£ãã»ããè¯ã
'æ€çŽ¢ãããå€' in ãªã¹ãå
'æ€çŽ¢ãããå€' not in ãªã¹ãå
èŸæžåã®æžãæ¹ïŒ
#ããŒã®ååšã確èªãã
'æ€çŽ¢ãããããŒ' in èŸæžå
#å€ã®ååšã確èªãã
'æ€çŽ¢ãããããŒ' in èŸæžå.values()
'Hello' in 'Hello Woerld!' # True
listN=['Hello','GoodMorning','Bye']
'Hello' in listN # True
'Hello' not in listN # False
my_dict = {'a': 1, 'b': 2, 'c': 3}
print('b' in my_dict) # True
print(2 in my_dict) # False
print(2 in my_dict.values()) # True
å€ååŸ(ååšç¢ºèªãå«ã)
ãªã¹ã,èŸæž,ã¿ãã«,æåå,ãã€ãåã«å¯ŸããŠäœ¿çšã§ãã
åºæ¬ã®æžãæ¹ã¯ã
ãªã¹ãåç[index]
â»ã¹ã©ã€ã¹(é·ã)ã§æå®ãå¯èœ
èŸæžåã§ã¯ãèŠçŽ çªå·ã§ã¯ãªããããŒãæå®ãã
ããŒãååšããªãæã¯ãKeyErrorãçºçãã
âå®å
šã«å€ãååŸãããå Žåã¯ãget()ã¡ãœããã䜿ã£ãã»ããè¯ã
num=[1,2,3,4,5]
num(0)=1
num(0:3)=[1,4]
num(:3)=[1,2,3] # ã¹ã©ã€ã¹
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
# ããŒ'apple'ã«å¯Ÿå¿ããå€ãååŸ
apple_value = my_dict['apple']
print(apple_value) # 1
# ããŒ'banana'ã«å¯Ÿå¿ããå€ãååŸ
banana_value = my_dict['banana']
print(banana_value) # 2
å€ååŸ(ååšç¢ºèªãå«ã)
èŸæžåã«å¯ŸããŠã®ã¿äœ¿çšã§ããèŸæžåã®value(å€)ååŸãã
å€ãååšããªããŠãããšã©ãŒã«ãªãããšç¡ããNoneãŸãã¯æå®ããå€ãè¿åŽãã
åºæ¬ã®æžãæ¹ã¯ã
get(keyå,ããŒã¿ãååšããªãã£ãéã«è¿ãå€)
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
# ããŒ'apple'ã«å¯Ÿå¿ããå€ãååŸ
apple_value = my_dict.get('apple')
print(apple_value) # 1
# ååšããªãããŒ'grape'ãæå®
grape_value = my_dict.get('grape')
print(grape_value) # None
# ããã©ã«ãå€ãæå®
grape_value = my_dict.get('grape', 0)
print(grape_value) # 0
å€ååŸãšå€ã®ã»ãã(ååšç¢ºèªãå«ã)
èŸæžåã«å¯ŸããŠã®ã¿äœ¿çšã§ããèŸæžåã®value(å€)ååŸãã
èŸæžã«æå®ã®å€ãååšããªãæã«å€ãã»ãããã
åºæ¬ã®æžãæ¹ã¯ãèŸæžå.setdefault(key,value)
spam.setdefault('color','black')
ããŒãå
šãŠååŸãã
èŸæžåã«å¯ŸããŠã®ã¿äœ¿çšã§ããèŸæžåã®keyãå
šãŠååŸãã
åºæ¬ã®æžãæ¹ã¯ãèŸæžå.key()
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
keys = my_dict.keys()
print(keys) # ['apple', 'banana', 'orange']
for key in my_dict.keys():
print(key) # apple # banana # orange
if 'grape' in my_dict.keys():
print("No matched.")
äžè¬çãªååŸæ¹æ³
ãªã¹ã,èŸæž,ã¿ãã«,æåå,ãã€ãåã«å¯ŸããŠå©çšã§ãã
â»èŸæžåã¯ãããŒãŸãã¯å€ã®ã©ã¡ããäžæ¹ã®ã¿
ãâäž¡æ¹äžå°Ÿã«ååŸãããå Žåã¯ãitems()ã¡ãœããã䜿çšãã
åºæ¬ã®æžãæ¹ã¯ã
for i in range(len(ãªã¹ãåç)):
# åŠçãèšè¿°
â»range(len(ãªã¹ãå))ããªã¹ãåã ãã§ãåãåŠçãã§ããããlen()颿°ã䜿ãã®ãäžè¬ç
num = [1, 2, 3, 4, 5]
for i in range(len(fruits)):
print(f"index{i}: { num[i]}")
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
for key in my_dict: # èŸæžã®ããŒã®ã¿ååŸ
print(key)
for value in my_dict.values(): # èŸæžã®å€ã®ã¿ååŸ
print(value)
èŸæžåã§ããŒãšå€ã®ãã¢ãåæã«ååŸãããæ
â»èŸæžåã®ã¿äœ¿çšå¯èœ
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
for key, value in my_dict.items():
print(key, value)
èŠçŽ ããªã¹ãã®åèšå€ãæ±ãã
â»èŠçŽ ãå
šãŠæ°å€ã§ããããšãåæ
scores = [72, 73, 33]
average = sum(scores) / len(scores)
èŠçŽ ã®é·ããã«ãŠã³ã
num = [1,2,3,4,5]
len(num) = 5
èŠçŽ ã®åºçŸåæ°ãã«ãŠã³ã
Counterãªããžã§ã¯ãã¯ç°¡åã«èŠçŽ ã®åºçŸé »åºŠãã«ãŠã³ãã§ããäžæ¹ã§ã
ã¡ã¢ãªã䜿çšããããå€§èŠæš¡ãªããŒã¿ã»ããã®å Žåãã¡ã¢ãªäœ¿çšéã«æ³šæããå¿
èŠããã
import csv
from collections import Counter
# Open CSV file
with open("favorites.csv", "r") as file:
reader = csv.DictReader(file)
# Counts
counts = Counter()
# Iterate over CSV file, counting favorites
for row in reader:
favorite = row["language"]
counts[favorite] += 1
# Print counts
for favorite, count in counts.most_common():
print(f"{favorite}: {count}")
most_common(n)ã¡ãœããã¯ãèŠçŽ ãšãã®åºçŸé »åºŠãã¿ãã«ãšããŠæ ŒçŽãããªã¹ããè¿ã
åŒæ°nãæå®ãããšåºçŸé »åºŠã®é«ãäžäœnåã®èŠçŽ ã®ã¿ãè¿ãããåŒæ°ãçç¥ããå Žåããã¹ãŠã®èŠçŽ ãè¿ããã
åºçŸé »åºŠãåãèŠçŽ ã¯ãåºçŸé ã«äžŠã¹ããã
ãªã¹ãã®èŠçŽ ã远å
æ«å°Ÿã«è¿œå ïŒãªã¹ãå.append('ãªã¹ããžè¿œå ãããå€')
æå®ããã€ã³ããã¯ã¹ã«è¿œå ïŒãªã¹ãå.insert(ã€ã³ããã¯ã¹,'ãªã¹ããžè¿œå ãããå€')
listN.append('GoodNight')
listN.insert(1,'GoodNight')
èŸæžåã«èŠçŽ ã远å ãã
以äž2ã®æ¹æ³ããããupdate()ã¡ãœããã䜿ããšãè€æ°ã®ããŒãšå€ããŸãšããŠè¿œå ã§ãã
my_dict = {'a': 1, 'b': 2}
my_dict['c'] = 3
print(my_dict) # {'a': 1, 'b': 2, 'c': 3}
my_dict.update({'d': 4, 'e': 5})
print(my_dict) # {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
èŠçŽ ãåé€ãã
ãªã¹ãã®å€ã ããããã£ãŠããå Žåã¯ãremove()
â»èŸæžåã«ã¯äœ¿ããªã
ãªã¹ãã®ã€ã³ããã¯ã¹ãããã£ãŠããå Žåã¯ãdelãå©çšãã
åºæ¬ã®æžãæ¹ã¯ã
ãªã¹ãå.remove('åé€ãããå€')
â»åãå€ãè€æ°ãã£ãŠããæåã«èŠã€ãã£ãå€ã ãåé€ããã
del ãªã¹ãå[indexãŸãã¯key]
listN=['Hello','GoodMorning','Bye']
listN.remove('Hello')
âlistN=['GoodMorning','Bye']
listN=['Hello','GoodMorning','Bye']
del listN[0]
âlistN=['GoodMorning','Bye']
äžŠã³æ¿ã
åºæ¬ã®æžãæ¹ã¯ãsorted(ãªã¹ãåç, reverse = True/False)
Reverseã§æé (True)/éé (False)ãæå®ã§ãã
â»ããã©ã«ãã¯True
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers_desc = sorted(numbers, reverse = True)
print(sorted_numbers_desc) # [9, 6, 5, 4, 3, 2, 1, 1]
my_dict = {'apple': 1, 'banana': 2, 'orange': 3, 'peach': 4}
sorted_keys = sorted(my_dict.keys())
print(sorted_keys) # ['apple', 'banana', 'peach', 'orange']
é
åã®è€è£œ
ãªã¹ããèŸæžåãªã©ãã€ãã¥ãŒã¿ãã«ãªãªããžã§ã¯ãã«äœ¿çšã§ãã
æ°ãããªããžã§ã¯ãã®äœæããèŠçŽ ãè€è£œãã
è€è£œãªã¹ãå = copy.deepcopy(ã³ããŒãããå
ã®ãªã¹ãå)
é
åã®åç
§ã³ããŒ
ãªã¹ããèŸæžåãªã©ãã€ãã¥ãŒã¿ãã«ãªãªããžã§ã¯ãã«äœ¿çšã§ãã
æ°ãããªããžã§ã¯ãã®äœæããããèŠçŽ ã¯åç
§ããã ã
ïŒã³ããŒå
/å
ã®èŠçŽ ã©ã¡ããã倿Žãããšãããäžæ¹ã倿Žããã
ist1 = [1,2,3,4,5] # ã³ããŒå
list2 = list1
list2 = copy.copy(list1)
ãªã¹ãåãžå€æ
tuple(my_dict.items())ã¿ãã«åãžå€æ
my_list = list((1, 2, 3))èŸæžåãžå€æ
â»(key, vlaue)ã®ãã¢ã§æ§æãããŠããå¿
èŠããã
dict = dict([('a', 1), ('b', 2)])颿°ã®äœæã¯ãdef 倿°å(åŒæ°):ã§äœæãã
åŒæ°ãšreturnã¯ããªãã·ã§ã³
Pythonã¯{ }(äžæ¬åŒ§)ã§ã¯ãªããã€ã³ãã³ãã§ãããã¯ãèªèããããã颿°å
ã®åŠçãèšè¿°ããè¡ã¯å¿
ãTabããŒã§ã€ã³ãã³ããå
¥ããããš
ãŸããåŒã³åºãæã¯ã颿°å(åŒæ°)ã§åŒã³åºã
# create function
def isPositive(num):
return (num > 0)
# call created function
number = -5;
if (isPositive(number)):
print(f "{number} is positive.")
else:
print(f "{number} is negative.")
æ»ãå€ãè€æ°ã»ãããã
def 颿°å(åŒæ°ããã°):
# åŠçãèšè¿°
return [æ»ãå€1 , æ»ãå€2]
倿°1, 倿°2 = 颿°å(åŒæ°ããã°)
以äžã®æ§ã«ã»ãããããŠåºåããã
ã»å€æ°1 â æ»ãå€1
ã»å€æ°2 â æ»ãå€2
def input_player_letter():
# ãã¬ã€ã€ãŒã« OãXããéžãã§ããã
# ãã¬ãŒã€ãŒã®é§ãå
ãã³ã³ãã¥ãŒã¿ãŒã®é§ãåŸã®ãªã¹ããè¿ã
letter = ''
while not (letter == 'X' or letter == 'O'):
print('O=å
æãX=åŸæãã©ã¡ãã«ããŸããïŒ (O or X)')
letter = input().upper()
# [ãã¬ãŒã€ãŒã®é§, ã³ã³ãã¥ãŒã¿ãŒã®é§]ãšãããªã¹ããè¿ã
if letter == 'X':
return ['X', 'O']
else:
return ['O', 'X']
player_letter, computer_letter = input_player_letter()
Pythonã¯ããªããžã§ã¯ãæåããã°ã©ãã³ã°èšèªã§ãããããã¡ãœãããã§ãŒã³ãå¯èœ
ïŒé¢æ°ãé£éçã«å®è¡ããæ©èœ
# The example in Python
result = " hello world ".strip().capitalize().replace("World", "Python") # ã¡ãœãããã§ãŒã³ç®æ
print(result) #åºå: Hello Python
*ãã©ã¡ãŒã¿ãš**ãã©ã¡ãŒã¿ã䜿çšãããšãPythonã®é¢æ°å®çŸ©ã«ãããŠãå¯å€é·åŒæ°ãåãåãããšãã§ãã
颿°ãåŒã³åºãããéã«ãå®çŸ©ããã以å€ã®ä»»æã®æ°ã®åŒæ°ãæè»ã«åãåãããšãã§ãã
颿°ã«äœçœ®åŒæ°ãšããŠæž¡ããããäœåãªåŒæ°ãã¿ãã«ãšããŠåãåã
äœçœ®åŒæ°ãšã¯ã颿°åŒã³åºãã®éã«ãåŒæ°ã®äœçœ®ã«åºã¥ããŠã©ã®ãã©ã¡ãŒã¿ã«å¯Ÿå¿ããããæ±ºãŸãåŒæ°ã®ããš
æ
£ç¿ãšããŠã*argsãšãããã©ã¡ãŒã¿åã䜿ããããã©ã¡ãŒã¿åã¯èªç±ã«èšå®åºæ¥ã
def example_function(*args):
print(f"argsã®äžèº«: {args}")
for arg in args:
print(arg)
example_function(1, "hello", 3.14)
# åºå:
# argsã®äžèº«: (1, 'hello', 3.14)
# 1
# hello
# 3.14
颿°ã«ããŒã¯ãŒãåŒæ°ãšããŠæž¡ããããäœåãªåŒæ°ãèŸæžãšããŠåãåã
ããŒã¯ãŒãåŒæ°ãšã¯ã颿°åŒã³åºãã®éã«ããããŒã¯ãŒã=å€ãã®ããã«ååãæå®ããŠæž¡ãããåŒæ°ã®ããš
æ
£ç¿ãšããŠã颿°å®çŸ©ã§**kwargsãšãããã©ã¡ãŒã¿åã䜿ããããã©ã¡ãŒã¿åã¯èªç±ã«èšå®åºæ¥ã
def another_example(**kwargs):
print(f"kwargsã®äžèº«: {kwargs}")
for key, value in kwargs.items():
print(f"{key}: {value}")
another_example(name="Alice", age=30, city="New York")
# åºå:
# kwargsã®äžèº«: {'name': 'Alice', 'age': 30, 'city': 'New York'}
# name: Alice
# age: 30
# city: New York
Pythonã¯ããªããžã§ã¯ãæåããã°ã©ãã³ã°ã§ãããããäœãå®è£
ãããã¡ãœãããããå Žåã¯ããªããžã§ã¯ã(ã€ã³ã¹ã¿ã³ã¹)ãäœæããå¿
èŠããã
äœæãããªããžã§ã¯ã(ã€ã³ã¹ã¿ã³ã¹)ã®ã¡ãœããã«ã¢ã¯ã»ã¹ããéã¯ãå¿
ãobject.method()ã§ã¢ã¯ã»ã¹ããã
# Definition of class
class MyClass():
# Definition of method
def my_method(self):
print("Hello from my_method!")
# Definition of method
def __init__(self, name, id):
self.name = name
self.id = id
selfãšã¯ãPythonã®ã¯ã©ã¹å
ã§äœ¿çšãããç¹å¥ãªå€æ°ã§ãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹èªèº«ãåç
§ãã
ã€ã³ã¹ã¿ã³ã¹ã®å±æ§ãã¡ãœããã«ã¢ã¯ã»ã¹ããéã«äœ¿çšãã
selfããªãå Žåãã¡ãœããã®ã©ã®ã€ã³ã¹ã¿ã³ã¹ã®å±æ§ã«ã¢ã¯ã»ã¹ã¹ã¹ãã倿ãã§ããªããªã£ãŠããŸã
# Instantiate Object
myObject = MyClass()
# Call the method
myObject.my_method() # åºå: Hello from my_method!
ã¯ã©ã¹ãããªããšãžã§ã¯ããã€ã³ã¹ã¿ã³ã¹åããã®ã¯ãåãããã°ã©ã å
ã«ããã¯ã©ã¹ã ãã§ãªããã€ã³ããŒãããã©ã€ãã©ãªã䜿çšãããšãã«ãå®è¡ãã
| 颿°å | æ©èœ | äŸæ |
|---|---|---|
| input() | ãŠãŒã¶ãŒã«æååãå
¥åããã â»stringåãšããŠå€ãæ ŒçŽããã |
|
| 颿°å | æ©èœ | äŸæ |
|---|---|---|
| type() | ããŒã¿åã®ååŸ |
type(x)â<class 'int'> |
| isinstance() | æå®ããããŒã¿åã§ããäºã®ç¢ºèª |
x = 200
print(isinstance(x, int))âTrue |
| str() | stringåãžå€æ | str('3.14') |
| int() | intåãžå€æ | int('3.14') |
| float() | floatåãžå€æ | float('3') |
| 颿°å | æ©èœ | äŸæ |
|---|---|---|
| isnumeric() | å€ãæ°åãã©ãããç¢ºèª Trueãšå€å®ããããã® æ°å(0-9),å šè§æ°å ããŒãæ°å,åæ°,挢æ°å Unicode æ°å€æå |
æåå.isnumeric() |
| isdigit() | å€ãæ°åãã©ãããç¢ºèª Trueãšå€å®ããããã® æ°å(0-9) Unicode æ°å€æå |
æåå.isdigit() |
| isdecimal() | å€ãæ°åãã©ãããç¢ºèª 10鲿°ã®ã¿Trueãè¿ã ãã |
'123'.decimal() # True
'hello123'.isdecimal() # False
|
| round() | åæšäºå
¥ããround(æ°å€, æ¡æ°)
å°æ°ç¹ä»¥äžã®æ¡æ°ãæå®ãããå Žåã¯ã2çªç®ã®åŒæ°ãæå®ãã ãã |
print(round(3.14159, 2)) # 3.14/code>
|
| random() | æµ®åå°æ°ç¹æ°ã®ä¹±æ°ãçæ |
import random
number1=random.random() # 0~1ã®ã§æµ®åå°æ°ç¹æ°ã®ä¹±æ°ãè¿ã£ãŠãã
|
| randint() | æå®ç¯å²å
ã®ä¹±æ°ãçæ randint(ç¯å²ã®éå§ç¹,ç¯å²ã®çµäºç¹) |
import randict
integer1 =random.randint(1,10) # 1ïœ10ã®ç¯å²ã§çæãããä¹±æ°ãè¿ã£ãŠãã
|
| 颿°å | æ©èœ | äŸæ |
|---|---|---|
| len() | æåæ°ã«ãŠã³ã 察象ã¯stringåã®ã¿ intåã®æ°å€ãè¿ã |
len('Hello') # 5
len(your_name')
|
| startswith() endswith() |
æå®ããæååããéå§/çµäºã®ç¢ºèª 倧æåãšå°æåãåºå¥ãã |
|
| upper() lower() |
倧/å°æåãžå€æ æååãå€æå¯Ÿè±¡ |
|
| islower() isupper() |
å€ãå šãŠã倧æå/å°æåã®ç¢ºèª |
|
| isalpha() | å
šãŠè±æåã§ããããšã®ç¢ºèª â»1æåä»¥äž |
|
| isalnum() | è±æ°åã§ããããšã®ç¢ºèª â»1æåä»¥äž |
|
| istitle() | 倧æåïŒå°æåã®æååã®ç¢ºèª |
|
| replace() | å€ã®å€æ |
|
| [](ã¹ã©ã€ã¹æ§æ) | æååã®æå®åæã®åãåºã [éå§:çµäº:ã¹ããã]ã§æå®ãã çµäº-1ãŸã§ãåãåºããã æåã®æåã¯ã0 æåŸã®æåã¯ã-1 åŸãããã«ãŠã³ããããå Žåã¯è² æ°ãèšå®ãã ::1ã¯ãæååãå転ãã |
|
| capitalize() | æå®ããæåã®æååã倧æåã ãã以éãå šãŠå°æåã«å€æãã æååãã³ããŒãã |
|
| join() | æååã®çµå |
|
| split() | æååã®åå² æåå.split(åºåæå,åå²åæ°) åºåãæåã¯åå²åŸåé€ããã åºåãæåæªæå®ã®å Žåã¯ã ã¹ããŒã¹,æ¹è¡,ã¿ãæ¹è¡,ç©ºçœæååã§åå²ãã ç©ºçœæååã¯åå²åŸã«åé€ããã åäžã®åºåæåããæ±ããªã âè€æ°ã®åºåæåã䜿ãããæã¯ re.split()
|
|
| rjust()/ljust() center() zfill() |
æå®ããæ¡æ°ã«å³/å·Šè©°ãã§å€ãåãã æå®ããæ¡æ°ã«äžå€®å¯ãã§å€ãåãã æå®ããæ¡æ°ã«0ã§å€ãåãã â»ç©ºçœãåããæååã¯å€æŽå¯èœ |
|
| isspace() | ã¹ããŒã¹/ã¿ã/æ¹è¡ã®ã¿ã®ç¢ºèª |
|
| strip() rstrip() lstrip() |
ç©ºçœæå,ã¹ããŒã¹,ã¿ãã®é€å» åé ãšæ«å°Ÿ/æ«å°Ÿã ã/åé ã ã |
|
| pyperclip.copy(text) | æž¡ãããæååãã·ã¹ãã ã®ã¯ãªããããŒãã«ã³ã㌠|
|
| pyperclip.paste() | ã·ã¹ãã ã®ã¯ãªããããŒãã«ã³ããŒããã ããã¹ãã1ã€ã®é·ãæååãšããŠè¿ã \nïŒæ¹è¡æå |
|
sysã¢ãžã¥ãŒã«ã§ãPythonã€ã³ã¿ããªã¿ãå®è¡ç°å¢ã«é¢ããæ
å ±ã®ååŸãã§ãã
sysã¢ãžã¥ãŒã«ã®ã€ã³ããŒããå¿
èŠ
import sys| 颿°å | æ©èœ |
|---|---|
|
Pythonã®ããŒãžã§ã³æ å ±ãååŸ |
|
Pythonã€ã³ã¿ããªã¿ã®å®è¡ãã¡ã€ã«ã®ãã¹ãååŸ |
|
ãã©ãããã©ãŒã åãååŸ(äŸ:'win32','linux','darwin') |
|
ã¢ãžã¥ãŒã«æ€çŽ¢ãã¹ã®ãªã¹ããååŸ |
|
èªã¿èŸŒãŸããã¢ãžã¥ãŒã«ã®èŸæžãååŸ |
|
ããã°ã©ã ã匷å¶çµäº statusã«çµäºã¹ããŒã¿ã¹ãæå®(éåžž0ã¯æ£åžžçµäº) |
|
çŸåšåŠçäžã®äŸå€æ
å ±ãã¿ãã«ã§ååŸ (äŸå€ã®å,äŸå€ãªããžã§ã¯ã,ãã¬ãŒã¹ããã¯ãªããžã§ã¯ã) |
|
ãã¡ã€ã«ã·ã¹ãã ã®ãšã³ã³ãŒãã£ã³ã°ãååŸ |
osã¢ãžã¥ãŒã«ã®ã€ã³ããŒããå¿
èŠ
import os| 颿°å | æ©èœ |
|---|---|
|
ã«ã¬ã³ãã¯ãŒãã³ã°ãã£ã¬ã¯ããª(çŸåšäœæ¥äžã®ãã£ã¬ã¯ããª)ã®ãã¹ãååŸ |
|
ã«ã¬ã³ããã£ã¬ã¯ããªã®å€æŽ |
|
æ°ãããã£ã¬ã¯ããª(ãã©ã«ã)ã®äœæ æå®ãã¹äžã®ãã©ã«ããååšããªãå Žåã¯ã æäžå±€ã ãã§ãªããäžäœã®ãã©ã«ããŸã§æ°èŠäœæããã |
|
åŒæ°ã«æž¡ãããã¹ã«çµ¶å¯Ÿãã¹ãè¿ã |
|
åŒæ°ã絶察ãã¹ãªãTrueãçžå¯Ÿãã¹ãªãFalseãè¿ã |
|
startã®ãã¹ããpathãžã®çžå¯Ÿãã¹ãè¿åŽãã â»startæªæå®ã®å Žåã¯ãã«ã¬ã³ããã£ã¬ã¯ããªãã |
|
OSã«äŸåããåºåãæåãå
šãŠã®OSã«å¯Ÿå¿ãããã¹ã«å€æã§ãã â»éå±€ã®åºåãã¯ãWiindowsã¯\ã ããLinusãšMacã®åºåãã¯/ |
|
æäžå±€ä»¥å€ã®äžäœã®ãã¹åãååŸ |
|
æäžå±€ã®ããã°ã©ã å |
|
dirnameãšbasenameãåæã«ååŸ |
|
æå®ãããã¹ãååšããã°Trueãååšããªããã°Falseãè¿ã |
|
æå®ãããã¹ãååšããããããã©ã«ãã§ããã°Trueãè¿ã |
|
æå®ãããã¹ãååšããããããã¡ã€ã«ã§ããã°Trueãè¿ã |
|
ãã¹ã§æå®ãããã¡ã€ã«ãµã€ãº(byte) |
|
æå®ãããã¹ã®ãã©ã«ãå ã®ãã¡ã€ã«åãšãã©ã«ãåã®ãªã¹ãäžèЧãè¿ã |
|
ãã¡ã€ã«ãåé€ãã |
|
ãã£ã¬ã¯ããª(ãã©ã«ã)ã®åé€ |
1.ãã¡ã€ã«éã/éãã
以äž2ã€ã®æ¹æ³ããã
(1)open()ã»close()ã§è¡ãæ¹æ³
å¿
ãclose()ã§ãã¡ã€ã«ãéããå¿
èŠããã
åºæ¬ã®æžãæ¹ã¯ã
open(ãã¡ã€ã«ãã¹, èªèŸŒã¢ãŒã)
close()
æå®ãããã¹ã«ãã¡ã€ã«ãååšããªãå Žåã¯æ°èŠäœæããã
file = open('ex.txt', 'r')
# åŠçãèšè¿°
file.close()
(2)withæã§
ïŒ
close()ãå¿
èŠãªã
âãã¡ã€ã«ã®éãå¿ãã«ãããšã©ãŒãçºçããªãåºæ¬ã®æžãæ¹ã¯ã
with open(ãã¡ã€ã«ãã¹, èªèŸŒã¢ãŒã)
with open('ex.txt', 'r') as file:
# åŠçãèšè¿°
# ãã¡ã€ã«ã¯èªåçã«éãããã
èªã¿èŸŒã¿ã¢ãŒãïŒ
r:èªèŸŒã¿ w:æžèŸŒã¿ a:è¿œèš b:ãã€ããªã¢ãŒã (+ãä»ãããšäž¡çšå¯èœ)
2.ãã¡ã€ã«ã®èªèŸŒã¿
read()ã䜿ã
ãªãã·ã§ã³ãšããŠã()å
ã§èªã¿èŸŒã¿ç¯å²ãæå®ã§ãã
with open('ex.txt', 'r') as file:
content = file.read()ã# å
šãŠèªèŸŒã¿
content = file.read(5)ã# 5è¡ç®ãŸã§èªèŸŒã¿
content = file.realline()ã# 1è¡ç®ã ãèªèŸŒã¿
3.ãã¡ã€ã«ã®æžèŸŒã¿
write()ã䜿ã
with open('ex.txt', 'w') as file:
file.write('Hello World!\n') # \n:æ¹è¡
ããŒã¿ãã¡ã€ã«ãããã°ã©ã ãšåããã£ã¬ã¯ããªã«ããå¿
èŠããã
csvãã€ã³ããŒããã
å€ãªæåãã«ã³ãããã£ãããèªåçã«ãããããšã¹ã±ãŒãããããšãã§ãã
ãªã¹ããšããŠèªèŸŒãæ¹æ³
import csv
# CSVãã¡ã€ã«ã®èªã¿èŸŒã¿
with open('data.csv', 'r') as file:
reader = csv.reader(file)
# Skip the heder line
next(reader) # optional
for row in reader:
print(row) # All columns
print(row[0]) # Only the first column
csv.reader(file)ïŒãªã¹ãåãªããžã§ã¯ããšããŠèªã¿èŸŒã
next(reader)ïŒCSVãã¡ã€ã«ã®ããããŒè¡ãé£ã°ã â»ãªãã·ã§ã³
rowã«ãããšå
šãŠã®åãåºåãããrow[i]ã§ç¹å®ã®åã®ã¿ãåºåã§ãã
âåã®ã€ã³ããã¯ã¹ã¯ã1çªå·Šã®æåã®åã0ãšããå³ã«åãã£ãŠ1ã€ãã€å¢åãã
èŸæžãšããŠèªèŸŒãæ¹æ³
import csv
# CSVãã¡ã€ã«ã®èªã¿èŸŒã¿
with open('data.csv', 'r') as file:
reader = csv.DictReader(file)
for row in reader:
print(row) # All datas with dictionary structure
print(row['KeyName']) # Only the selecting key's value
csv.DictReader(file)ïŒèŸæžåãªããžã§ã¯ããšããŠèªã¿èŸŒã
rowã«ãããšå
šãŠã®keyãåºåãããrow['KeyName']ã§ç¹å®ã®ããŒã®ã¿ãåºåã§ãã
ãã®æ¹æ³ã§ã¯ãCSVãã¡ã€ã«ã®ããããŒæ
å ±ã¯KeyãšããŠæ±ãããreaderã¯ããããŒæ
å ±ãæããªãçºãnext(reader)ã®èšè¿°ã¯äžèŠ
import csv
# CSVãã¡ã€ã«ã®æžã蟌ã¿
data = [
['name', 'age', 'ocupation'],
['Taro', 30, 'office worker'],
['Ketty', 25, 'student']
]
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
newline=''ïŒæ¹è¡ã³ãŒãã®èªå倿ãé²ãããã«å¿
èŠ
csv.writer(file)ïŒãã¡ã€ã«ãªããžã§ã¯ããcsv.writerãªããžã§ã¯ãã«å€æãã
writer.writerows(data)ïŒãªã¹ãdataã®å
容ãCSVãã¡ã€ã«ã«æžã蟌ã
äžèšã®csv.writerã§ã¯ããªã¹ã圢åŒã®ããŒã¿ãCSVãã¡ã€ã«ã«æžã蟌ãããã®ã·ã³ãã«ãªæ¹æ³ãæäŸãã
csv.writerowã¯ãdataããªã¹ããšããŠCSVãã¡ã€ã«ã«æžã蟌ã¿ãè¡ã
âãªã¹ãå
ã®èŠçŽ ã®é åºããCSVãã¡ã€ã«å
ã®åã®é åºã«å¯Ÿå¿ããç·åœ¢ã§ãããããã
â»ããããŒè¡ãäºåã«ååšããªãå Žåããã®ã³ãŒãã¯ããããŒè¡ã远å ããªã
äžæ¹ã§ã以äžã®ãããªcsv.DictWriterã§ã¯ãèŸæžåœ¢åŒã®ããŒã¿ãCSVãã¡ã€ã«ã«æžãèŸŒãæ¹æ³ãæäŸãã
csv.writerowã¯ãdataããšããŠCSVãã¡ã€ã«ã«æžã蟌ã¿ãè¡ã
âèŸæžã®ããŒãCSVã®ããããŒã«å¯Ÿå¿ãããããããŒã¿ã®é åºã«é¢ãããæ£ããæžã蟌ãŸãã
ãããã¹ããŒããªåŠçã«ãªã
import csv
data = [
{'name': 'Raro', 'age': 30, 'Job': 'Worker'},
{'name': 'Katty', 'age': 25, 'Job': 'Student'}
]
fieldnames = ['name', 'age', 'job']
with open('data.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader() # ããããŒãæžã蟌ã
for row in data:
writer.writerow(row)
pandasã¢ãžã¥ãŒã«ãå©çšãããšãããå¹ççãªåŠçãè¡ãããšãã§ãã
import pandas as pd
exam = pd.read_csv("exam.csv")
# (è¡æ°,åæ°)ãè¿ã
exam.shape # (50,3) =50è¡3åã®ããŒã¿
# æå®ãããäžã«å«ãŸããäžæã®å€ã®æ°ãè¿ã
exam["student_id"].nuique # 10 =student_idåã®äžæã®å€ã®æ°ã10çš®é¡
# æå®ãããäžã«å«ãŸããäžæã®å€ãè¿ã
exam["student_id"].uique # array([1,2,3,4,5,6,7,8,9,10])
# æå®ãããããäžã®NaNã®å€ã®æ°ãè¿ã
sum(exam["student_id"].isna()) # NaN:æ¬ æå€
pandasãã€ã³ããŒããã
Excelãã¡ã€ã«ã®å
容ãDataFrameãšããŠè¿ã
sheet_name = Noneã«ãããšããã¹ãŠã®ã·ãŒããèŸæžåœ¢åŒã§è¿ããã
import pandas as pd
df = read_excel('ex.xlsx', sheet_name = 1) # è€æ°ã·ãŒããããã°ã·ãŒãåãæå®
pandasãã€ã³ããŒããã
JSONãã¡ã€ã«ã®å
容ãDataFrameãšããŠè¿ã
import pandas as pd
df = pd.read_json('ex.json')
Pythonã«ã¯æšæºã§sqlite3ã©ã€ãã©ãªãçµã¿èŸŒãŸããŠããã軜éãªããŒã¿ããŒã¹ã§ããSQLiteãæ±ãããšãã§ãã
ããã«ãããæåã§DBã«æ¥ç¶ããã¯ãšãªãå®è¡ããå¿
èŠããªããªã
import sqlite3
# Connect to database file (create file if it does not exist)
conn = sqlite3.connect('example.db')
# Create cursor
cursor = conn.cursor()
# Create a Table if needed
cursor.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
# Manipulate data
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
# Commit the transaction
conn.commit()
# Disconnect the DB connection
conn.close()
ã«ãŒãœã«ïŒSQLã¯ãšãªãå®è¡ããçµæãåŠçããããã®ãªããžã§ã¯ã
Pythonã«ã¯ãããŸããŸãªçš®é¡ã®ããŒã¿ããŒã¹ãšé£æºããããã®ãµãŒãããŒãã£ã©ã€ãã©ãªã倿°ååšãã
代衚çãªã©ã€ãã©ãªãšããŠã¯ã以äžã®ãããªãã®ããã
MySQLïŒmysql-connector-python, PyMySQL
PostgreSQLïŒpsycopg2
OracleïŒcx_Oracle
æšæºã§ã€ã³ã¹ããŒã«ãããªãçºãååå©çšæã«ã€ã³ã¹ããŒã«ããå¿ èŠããã
| ã¢ãžã¥ãŒã« | 説æ |
|---|---|
| Numpy | æ§ã ãªæ¬¡å ã®æ°å€ããŒã¿ãé åã«å¹ççã«ä¿åã§ãã |
| pyreverse | Pythonã§ã¯ã©ã¹å³ãäœæããããã®ããŒã«pylintãã€ã³ã¹ããŒã«ãããšãäžç·ã«pyreverseãã€ã³ã¹ããŒã«ããã |
| Graphviz | AT&Tç ç©¶æãéçºãããªãŒãã³ãœãŒã¹ã®ã¢ã㪠å ã ã¯å°çšã®DOTèšèªã䜿ã£ãŠã°ã©ãæ§é ãæç»ããããŒã« (ã°ã©ãæ§é :è€æ°ã®ããŒãåå£«ãæ¥ç¶ããããšã§æ§æãããå³) å¿çšç¯å²ã¯åºããããã¹ããæ§ã ãªããŒã¿æ§é ã衚çŸããããæé æžãäœã£ãããå®¶ç³»å³ãªã©ã衚çŸã§ãã ã€ã³ã¹ããŒã© åè |
| SciPy | çµ±èšæäœãå®è¡ã§ãã |
| Pandas | ããŒã¿ã®ããŒã.ã¯ãªãŒãã³ã°,æäœãå¹ççã«å®è¡ã§ãã |
| Matplotlibã»Seaborn | æ£åžå³ããããŒããããã«è³ããŸã§ãããŒã¿èŠèŠåãäœæããçºã®ããŸããŸãªé¢æ°ãæäŸãã |
| Altair | ãŠãŒã¶ãã€ã³ã¿ã©ã¯ãã£ãã§ã¢ãã¡ãŒã·ã§ã³åãããèŠèŠåã§ãã |
| scikit-learn | æ©æ¢°åŠç¿ãå®è¡ããããã®åªããããŒã«ãæäŸãã |
ãšã©ãŒãçºçããéã«ã¯ããã¬ãŒã¹ããã¯ãããèªã
ã»äœè¡ç®ããšã©ãŒã«ãªã£ãŠãããèšèŒãããŠããçºãããããããã¯ã®å¯Ÿè±¡ãšãã
ã»TypeErrorã®è¡ãå
šãŠã³ããŒããŠæ€çŽ¢ãã
ãâãšã©ãŒã«é¢ãã解決çãåå ãããã
ããã°ã©ã å®è¡äžã«ãšã©ãŒ(äŸå€)ãçºçããéã«ããã®ãšã©ãŒãçºçããç®æãŸã§ã®é¢æ°åŒã³åºãã®å±¥æŽã衚瀺ããæ©èœ
ãšã©ãŒã®åå ãç¹å®ãããããã°ãè¡ãäžã§éåžžã«éèŠãªæ
å ±ãæäŸãã
ãã¬ãŒã¹ããã¯ãæ³šææ·±ãèªãããšã§ããšã©ãŒãçºçããç®æãšãããã«è³ããŸã§ã®ããã°ã©ã ã®å®è¡çµè·¯ãææ¡ããããšãã§ãã
ãã¬ãŒã¹ããã¯ã®æ§æ
ãã¬ãŒã¹ããã¯ã¯ãéåžžã以äžã®æ
å ±ãå«ãã§ãã
ã»ãšã©ãŒã®çš®é¡ïŒTypeError,ValueError,NameErrorãªã©ãçºçãããšã©ãŒã®çš®é¡
ã»ãšã©ãŒã¡ãã»ãŒãžïŒãšã©ãŒã«é¢ãã詳现ãªèª¬æ
ã»ãã¡ã€ã«åãšè¡çªå·ïŒãšã©ãŒãçºçãããã¡ã€ã«åãšè¡çªå·
ã»é¢æ°åŒã³åºãã®å±¥æŽïŒãšã©ãŒãçºçãããŸã§ã®é¢æ°åŒã³åºãã®é åº
ãã¬ãŒã¹ããã¯ã®è¡šç€ºæ¹æ³
Python ã§ã¯ããšã©ãŒãçºçãããšèªåçã«ãã¬ãŒã¹ããã¯ã衚瀺ããã
ãŸãããã¬ãŒã¹ããã¯ãæ±ãã¢ãžã¥ãŒã«ãå©çšãããšããã詳现ãªãšã©ãŒæ
å ±ãååŸã§ãã
ãã¬ãŒã¹ããã¯ãæ±ãã¢ãžã¥ãŒã«
ã»tracebackã¢ãžã¥ãŒã«ïŒãã¬ãŒã¹ããã¯æ
å ±ã®ååŸããã©ãŒããããè¡ã
ã»sysã¢ãžã¥ãŒã«ïŒæšæºãšã©ãŒåºåãžã®ãã¬ãŒã¹ããã¯ã®åºåããäŸå€æ
å ±ã®ååŸãè¡ã
ã»loggingã¢ãžã¥ãŒã«ïŒãšã©ãŒçºçæã®ãã°ã«ãã¬ãŒã¹ããã¯ãåºåã§ãã
ãâããã°ã©ã å®è¡äžã«çºçãããšã©ãŒãèšé²ããåŸããåæã§ãã
- PythonïŒãš3ã§ããŒãžã§ã³ãéã
-
SyntaxErrorïŒææ³çãšã©ãŒ - EOL(æã®æ«å°Ÿ)ïŒæååã®ã¯ã©ãŒã("ãŸãã¯')ã®éãå¿ã
- IDELèµ·åæã«
reããã®ä»å¿ èŠãªã¢ãžã¥ãŒã«ãã€ã³ããŒãããŠããªã
ã€ã³ã¹ããŒã«çµæã®ç¢ºèª
ã³ãã³ãããã³ããã§ä»¥äžãå
¥åããŠãæ£ããçµæãåž°ã£ãŠããã°OK
python --version
倱æããå Žåã¯ãPythonãã€ã³ã¹ããŒã«ããéã«ããAdd Python 3.x to PATHãã«ãã§ãã¯ãå
¥ãå¿ããå¯èœæ§ããã
æåã«ããŠã³ããŒããããã¡ã€ã«ãå床éããUninstallã®äžãå床æé ãå®è¡ããããš
ã³ãã³ãããã³ãããã·ã¹ãã 管çè ãšããŠèµ·åãã以äžã®ã³ãã³ããå®è¡ãã
pip install --upgrade pip
IDEL(Integrated Development and Learning Environment)
ã€ã³ã¿ã©ã¯ãã£ãéçºç°å¢(察話åå®è¡ç°å¢)
Windowsã®ã¢ããªæ€çŽ¢ããidleãšå
¥åããã¢ããªãå®è¡ãããšèµ·åãã
ç¹åŸŽ
ã»åœä»€ã1è¡ãã€ããã«å®è¡ããã
ã»ãŠã£ã³ããŠã«å¿
ã>>>ãšããããã³ãããå¿
ã衚瀺ããã
ç¹åŸŽ
ã»Pythonã®ããã°ã©ã ãèšèŒããã®ã¿ã§ãããã«å®è¡ãããªã
ããã¡ã€ã«ã«ååãä»ããŠä¿åããããããããã°ã©ã ãå®è¡ãã
ãâæ¯åºŠã€ã³ã¿ã©ã¯ãã£ãã·ã§ã«ã«åœä»€ãã¯ããããæžãå¿
èŠããªããªã
ã»ãŠã£ã³ããŠã«>>>ãšããããã³ããã衚瀺ãããªã
IDELãèµ·åããã€ã³ã¿ã©ã¯ãã£ãã·ã§ã«ã®File > New File
Python IDELã§ã€ã³ã¿ã©ã¯ãã£ãã·ã§ã«ãå®è¡ãã
å®è¡æ¹æ³ïŒå®è¡å
容ãèšèŒããEnterãæŒã
å¶éäºé
ïŒ
ã€ã³ã¿ã©ã¯ãã£ãã·ã§ã«ã®çºã1è¡ãã€å®è¡ããã
â åŠçããŸãšããŠå®è¡ãã§ããªã
Python IDELã§ãã¡ã€ã«ãšãã£ã¿ããå®è¡ãã
å®è¡æ¹æ³ïŒRun > Run Module
å¶éäºé
ïŒã³ãã³ãã©ã€ã³åŒæ°ãæž¡ãããšãã§ããªã
ã³ãã³ãã©ã€ã³/VS Codeäžã§å®è¡ãã
å®è¡æ¹æ³ïŒã¿ãŒããã«äžã§Pyton Filename.py (ã³ãã³ãã©ã€ã³åŒæ°)ãå®è¡ãã
ã¡ãªããïŒ
ã»ãã¬ãŒã¯ãã€ã³ãã®èšå®ã倿°ã®ç£èŠãã¹ãããå®è¡ã容æ
ã»æ¡åŒµæ©èœãå©çšã§ããã³ãŒãè£å®ããªã³ãã£ã³ã°ããã©ãŒããããªã©ãéçºå¹çãé«ããæ©èœãå
å®ããŠãã
å¶éäºé
ïŒIDLEãã€ã³ã¿ã©ã¯ãã£ãã·ã§ã«ãããéãã
Unixç³»OSã·ã¹ãã ã«ãããŠãã¹ã¯ãªãããã¡ã€ã«ã®å®è¡æã«ã©ã®ã€ã³ã¿ããªã¿ã䜿çšããããã«ãŒãã«ã«æç€ºããããã®ãã®
Pythonã¹ã¯ãªãããçŽæ¥å®è¡å¯èœã«ããããã®ç¹å¥ãªèšè¿°
â»ã·ãã³èªäœã¯ãPythonç¹æã§ã¯ãªããä»ã®ã¹ã¯ãªããèšèªã§ãå©çšããã
ã¹ã¯ãªãããã¡ã€ã«ã®å
é è¡ã«#!ã§å§ãŸãè¡ãèšè¿°ããããšã§ãOSã«å¯ŸããŠã©ã®ã€ã³ã¿ããªã¿ã§ã¹ã¯ãªãããå®è¡ããããæç€ºã§ãã
ã¡ãªããïŒ
ã»Pythonã€ã³ã¿ããªã¿ã®ãã¹ãæå®ããçºãè€æ°ã®PythonããŒãžã§ã³ãã€ã³ã¹ããŒã«ãããŠããç°å¢ã§ããé©åãªããŒãžã§ã³ã§ã¹ã¯ãªãããå®è¡ã§ãã
ã»python script.pyã®ããã«æç€ºçã«ã€ã³ã¿ããªã¿ãæå®ããªããŠãã./script.pyã®ããã«ã¹ã¯ãªãããã¡ã€ã«ãçŽæ¥å®è¡ã§ããããã«ãªã
æžãæ¹ïŒ
#!/usr/bin/python3
Unixç³»OS(Linux,Macãªã©)ã§ã¯ãäžèšã®ããã«ã€ã³ã¿ããªã¿ã®ãã¹ãçŽæ¥èšè¿°ããã®ãäžè¬ç
â»python3ã/usr/bin/ã«ããããšãåæãšããæžãæ¹
ãã ããç°å¢ã«ãã£ãŠã¯Pythonã®ãã¹ãç°ãªãå Žåããããããç§»æ€æ§ãé«ããããã«ã
envã³ãã³ãã§python3ãæ€çŽ¢ã§ãããã
#!/usr/bin/env python3ãšèšè¿°ããå Žåããã
Windowsã§ã¯åºæ¬çã«ãžãã³ã¯ç¡èŠããã
ããããç¹å®ã®ç°å¢(WSLãªã©)ããPython Launcher for Windowsã䜿çšããããšã§ãã·ãã³ãè§£éããŠPythonã¹ã¯ãªãããå®è¡ã§ãã
ãã®éã¯ã#! python3ãšèšè¿°ãã
ããããã¡ã€ã«ãå©çšãããšãIDLEãèµ·åããã«ãã³ãã³ãã©ã€ã³ããPythonã¹ã¯ãªãããç°¡åã«å®è¡ã§ããããã«ãªã
ãŸããè€æ°ã®ã³ãã³ãããŸãšããŠå®è¡ã§ãã
æ¹æ³:
1.py.exeã®ãã¹ã確èªãã
py.exeã¯ãWindowsã§Pythonã¹ã¯ãªãããå®è¡ããããã®ã©ã³ãã£ãŒ
éåžžã¯ãPythonã®ã€ã³ã¹ããŒã«ãã£ã¬ã¯ããªã«ååšãã
Anacondaãªã©ã®Pythonãã£ã¹ããªãã¥ãŒã·ã§ã³ã䜿çšããŠããå Žåã¯ããã¹ãç°ãªãå Žåããã
Anacondaç°å¢ã§ã¯ãpy.exeã¯ååšããªããããAnacondaç°å¢ã®python.exeãžã®ãã¹ãèšè¿°ããå¿
èŠããã
2.ããããã¡ã€ã«ãäœæãã
ããã¹ããšãã£ã¿ã§æ°ãããã¡ã€ã«ãäœæãã".bat"ãšããæ¡åŒµåã§ä¿å
ãã¡ã€ã«ã®å
容ã¯ã以äžã®åœ¢åŒã§èšè¿°ãã
@py.exe C:\(å®è¡ãããPythonã¹ã¯ãªããã®ãã¹).py
@ã¯ãã³ãã³ãã®å®è¡çµæãç»é¢ã«è¡šç€ºããªãããã«ããããã®èšå·
3.äœæããããããã¡ã€ã«ãããã«ã¯ãªãã¯ãããšãPythonã¹ã¯ãªãããå®è¡ããã
[æšå¥š]ããããã¡ã€ã«ãç°å¢å€æ°PATHã«ç»é²ããŠãããšãã³ãã³ãããã³ãããããã¡ã€ã«åãæå®ããã ãã§ã¹ã¯ãªãããå®è¡ã§ããããã«ãªã
ããã°ã©ã å®è¡æã«ã以äžã®æ§ã«åŒæ°ãèšå®ãããšãã³ãã³ãã©ã€ã³åŒæ°ãæž¡ãäºãåºæ¥ã
ã³ãã³ãã©ã€ã³ãIDEã®ã¿ãŒããã«ã§å®è¡ã§ãã
# Execute python code
python fileName.py command-line arguments
åºæ¬çãªæ¹æ³ãšããŠãsys.argvã䜿ã£ãŠã³ãã³ãã©ã€ã³åŒæ°ãååŸããæ¹æ³ããã
sysã©ã€ãã©ãªã®ã€ã³ããŒããå¿
èŠ
â»ã³ãã³ãã©ã€ã³åŒæ°ãèšå®ããå Žåã¯ã"sys.argv"ãšãã倿°ã«æ ŒçŽããã
import sys
# When one or more command line arguments are passed
if len(sys.argv) > 1:
for arg in sys.argv[1:]:
print(arg)
else:
print("No command line arguments.")
äŸãã°ãäžèšã®ã³ãŒãã«å¯Ÿããpython myScript.py arg1 arg2 arg3ãå®è¡ãããšã
arg1
arg2
arg3
ãšåºåããã
Cèšèªãªã©ãšåæ§ã«ãargv[]ã«ã¯ä»¥äžã®éãæ ŒçŽããã
sys.argv[0]ïŒããã°ã©ã å
sys.argv[1以é]ïŒã³ãã³ãã©ã€ã³åŒæ°ãé çªã«æ ŒçŽ
sys.argvã䜿çšããæ¹æ³ã¯ãæãåºæ¬çãªæ¹æ³ã§ããããè€éãªåŒæ°åŠçã«ã¯åãããå倿ãããªããŒã·ã§ã³ã¯èªåã§è¡ãå¿
èŠããã
ããè€éãªåŒæ°åŠçãè¡ãå Žåã«ã¯ãargparsã䜿ã£ãŠã²ãåŒæ°ãååã
| ã©ã€ãã©ãªå | 説æ |
|---|---|
| seaborn | ããŒã¿å¯èŠåã©ã€ãã©ãª çµ±èšçãªã°ã©ããç°¡åã«äœæã§ããããŒã« ã°ã©ãæç»ã©ã€ãã©ãªmatplotlibãããŒã¹ |
| å®è¡ç°å¢å | ç¹åŸŽ |
|---|---|
| Jupyter | Jupyter.orgã§ã€ã³ã¹ããŒã«çã§ãã |
Pythonã®ãµãŒãããŒãã£ã®ã©ã€ãã©ãªã§ã軜éãã€æ©èœè±å¯ãªWebãã€ã¯ããã¬ãŒã ã¯ãŒã¯
ã¯ã©ãŠãããŒã¹ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã§ãªãœãŒã¹ãéãããCS50 IDEã®ãããªç°å¢ã§ãå¿«é©ã«åäœãã
HTMLã§Webãµã€ããæ§ç¯ããå Žåãéçãªã³ã³ãã³ããã衚瀺ã§ããªããšãã倧ããªå¶çŽããããã
PythonãšFlaskãçµã¿åãããããšã§ãåçãªWebãµã€ããç°¡åã«äœæã§ãã
Flaskãå©çšããã«ã¯ãã€ã³ããŒãããŠãFlaskã¢ããªã±ãŒã·ã§ã³ã®å®è¡ãæ±ãããã
以äž2ã€ã®ãã¡ã€ã«ãå¿
ãå¿
èŠïŒ
ã»app.py
ã»requirement.txt
app.py
# Flaskã®ã€ã³ããŒã
from flask import Flask
# ã€ã³ã¹ã¿ã³ã¹ã®äœæ(æ
£ç¿ãšããŠãã®æžãæ¹ããã)
app = Flask(__name__)
# Configure to use SQLite database
db = SQL("sqlite:///database_name.db")
@app.route("/home")
def index():
name = request.args.get("name", "world")
return render_template("index.html", name=name)
@app.route("/", methods=["GET", "POST"])
def index():
if request.method == "POST":
month = request.form.get("month")
if not month:
return redirect("/")
try:
month = int(month)
except ValueError:
return redirect("/")
# Insert data into database
db.execute("INSERT INTO birthdays (name, month, day) VALUES('Tom', ?, 1)", month)
return redirect("/")
else:
birthdays = db.execute("SELECT * FROM birthdays")
return render_template("index.html", birthdays = birthdays)
@app.route("/sample")
def sample():
return '<!DOCTYPE html><html lang="en"><head><title>hello</title></head><body>You are
in the sample page.</body></html>'
@app.route("/sample")
def sample():
return "You are in the index page."
URLã®äžéšãšããŠæž¡ãããæ°å€ãèªã¿åãããã®æ°å€ãWebããŒãžã«è¡šç€ºãã
@app.route("/show/%lt;int:number<")
def show(number):
return f"You gave {number}."
if name == "main":
app.run(debug=True)
__name__ïŒçŸåšã®ã¢ãžã¥ãŒã«åã衚ã
@app.route("/")ïŒãã³ã¬ãŒã¿ãšããæ©èœã䜿ã£ãæžãæ¹ã§ãã¢ã¯ã»ã¹ã§ããå Žåã¯ãçŽäžã®index()ãšãã颿°ãå®è¡ãã
â»ãã³ã¬ãŒã¿ïŒãã®çŽäžã«ãã颿°ã«å¯ŸããŠãç¹å®ã®æ©èœã圹å²ã远å ããããé¢é£ä»ãããããããã«äœ¿ããã
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="initial-scale=1, width=device-width">
<title>hello</title>
</head>
<body>
hello, {{ name }}
<div class="section">
<h2>All Birthdays</h2>
<table>
<thead>
<tr>
<th>Name</th>
<th>Birthday</th>
</tr>
</thead>
<tbody>
{% for birthday in birthdays %}
<tr>
<td>{{birthday.name}}</td>
<td>{{birthday.month}}/{{birthday.day}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</body>
</html>
{{倿°å}}ã§ã倿°ã®å€ãHTMLã®å€ãšããŠä»£å
¥ããåçãªHTMLã®è¡šç€ºãåºæ¥ã
rows = db.execute("SELECT column FROM table ...")ã®çµæã¯ãèŸæžãæ ŒçŽããããªã¹ããè¿åŽããã
ïŒ[{key1:value1, key2:value2}, {key1:value3, key2:value4}, ...]
ãããã£ãŠãéåžžã®ãªã¹ãåããã³èŸæžåã®ããŒã¿ã®åãåºããšåãååŸããã
rows[0] = {key1:value1, key2:value2}
rows[0]['key1'] = value1
åçãµã€ãã§HTMLãå¹ççã«çæããç¹°ãè¿ãèšè¿°ãé¿ããããã«ãã³ãã¬ãŒããšã³ãžã³ãåºãå©çšãããŠãã
Flaskã§æ¡çšãããŠãããã³ãã¬ãŒããšã³ãžã³ã«ã¯æ§ã
ãªã¿ã€ãããã
ãã³ãã¬ãŒãã®äœ¿çšã§ç¹°ãè¿ãã®èšè¿°ãé¿ãããšããæ¹æ³ã¯ãä»ã®èšèªããã¬ãŒã ã¯ãŒã¯ã§ããããã
ããããã®ãã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠèšæ³ãç°ãªããããå
¬åŒããã¥ã¡ã³ãçãèªãã§ç¢ºèªããããš
Jinja
Flaskã§æ¡çšãããŠãã代衚çãªãã³ãã¬ãŒããšã³ãžã³ã®1ã€
Flaskã§ã¯ãrender_template()颿°ã䜿ã£ãŠJinjaãã³ãã¬ãŒããã¡ã€ã«ãã¬ã³ããªã³ã°(åŠçããŠHTMLãçæ)ããã¯ã©ã€ã¢ã³ãã«éä¿¡ãã
-- layout.htmlã®ç¶æ¿
{% extends "layout.html" %}
-- bodyèŠçŽ ã®éå§ç¹
{% block body %}
-- ifæãããã¯
{% if msg %}
{{msg}}
{% endif %}
-- foræãããã¯
{% for name in registrants %}
{{ name }}
{{ registrants[name] }}
{% endfor %}
-- bodyèŠçŽ ã®çµäºç¹
{% endblock %}
深局åŠç¿ãå°å
¥æ®µéã«è³ããŸã§å
šãŠãµããŒãããæ¥çã§åŒ·åãªãã¬ãŒã ã¯ãŒã¯
Kerasã¢ãžã¥ãŒã«ïŒèªç¶èšèªåŠçã䜿çšããŠãæ°èèšäºãããã°æçš¿ãèŠçŽããã¢ãã«ãæ§ç¯ã§ãã
- éå±ãªããšã¯Pythonã«ããããã ãã³ããã°ã©ããŒã§ãã§ããèªåååŠçããã°ã©ãã³ã°ã(Al Sweigart è, çžå· æäž èš³)
èè ããã°
ã¡ãŒã«ã§ã®è³ªååä»ïŒ[email protected] - LinkedIn Learning -Python vs. R for Data Science-
- ITçšèªèŸå ž
- Harvard University cs50 week6 Python