ããã¹ããã¡ã€ã«ç·šéã®ããã®ã¢ããªã {index}ããã¹ãã»ãšãã£ã¿<ãŠãããšã»ãã§ãã-ããã¹ãã»ãšãã£ã¿>({index}text editor) ãšåŒã³ãŸããææ¥ã§ã¯ããã¹ãã»ãšãã£ã¿ä»£ããã«ã䜿ããVSCodeã䜿ããŸãããšãã£ã¿æ¯ã®çãããã®ã§ãèªå奜ã¿ã®ãã®ãæ¢ããŠã¿ããã
:name: w2-term1
çšèªé1
ã¿ãŒããã«äžã§ã¢ããªã±ãŒã·ã§ã³ïŒã·ã§ã«ãPythonçïŒãšããåããè¡ãéãã¢ããªåŽãå
¥åãåãä»ããããç¶æ
ãåŠããæç€ºããããã«çšããããã®ã {index}ããã³ãã<ã·ããã·ãš-ããã³ãã>({index}prompt) ã§ãããã¿ãŒããã«ãèµ·åããçŽåŸã®ç¶æ
ããããã³ãããåºåããããå
·äœçãªåœä»€ãå
¥åããã«EnterããŒã ããå
¥åãããšãããŒãå
¥åããã床ã«ããã³ãããåºåãããããã®ãããã³ãããè¿ã£ãŠãããããšãéããŠããã¡ãã®å
¥åãåãä»ããŠãããšããããšãåããã
ã¿ãŒããã«ãèµ·åããçŽåŸã«åºåãããããã³ããããäžèšã§ã¯ãã·ã§ã«ã®ããã³ããããšæžããŠãããããã¯ãã¿ãŒããã«ãèµ·åãããšèªåçã« {index}ã·ã§ã«<ããã-ã·ã§ã«>({index}shell) ãèµ·åãããå®éã«å¿çããŠããã®ã¯ã·ã§ã«ã ããã ãã·ã§ã«äžã§pythonãšåœä»€ãå
¥åãããšã{index}Pythonã€ã³ã¿ããªã¿({index}python interpretor)ããèµ·åããããã³ããã®åºå圢åŒãå€ãããã>>> ãã®ç¶æ
ãªãPythonã€ã³ã¿ããªã¿ãå
¥åãåãä»ããŠããç¶æ
ã§ããããã®ããã«ããã³ãããããä»äœãšããåãããŠããã®ãããæèããªããåãçµããã
ãªãåŸè¿°ããããã·ã§ã«ãPythonã€ã³ã¿ããªã¿ã«å¯Ÿããå
¥åã¯ã{index}æšæºå
¥å<ã²ãããã
ãã«ã
ãããã-æšæºå
¥å>ïŒ{index}standard input, {index}stdinãšçç¥ïŒããéã«åŸãããåºåãã{index}æšæºåºå<ã²ãããã
ããã
ã€ããã-æšæºåºå>ïŒ{index}standard output, {index}stdoutïŒããšåŒã¶ããæšæºããšä»ããŠããçç±ã¯ãå
¥åºåãããçµè·¯ãè€æ°ããããã§ãããäŸãã°ãã¿ãŒããã«ãŠã£ã³ããŠãè€æ°ç«ã¡äžããŠãããšããããããããã®ãŠã£ã³ããŠã§Pythonã€ã³ã¿ããªã¿ãèµ·åããŠããå Žåãããããã®ã€ã³ã¿ããªã¿ã¯ã©ã®ããã«å
¥åãåãããŸãã©ã®ããã«åºåãããè¯ãã ãããããã®ãããªæ··ä¹±ãããªããŠæžãããã«ãç¹ã«äœãæå®ããªãã£ãå Žåã«ã¯ã€ã³ã¿ããªã¿ãç«ã¡äžãããŠã£ã³ããŠã察象ãšããããã«çŽä»ããããŠãããæšæºã§çšæãããŠããå
¥åºåå
ã®ããšãæšæºå
¥åãæšæºåºåãšåŒã¶ã
Pythonã€ã³ã¿ããªã¿ãåŠçãå®è¡ããéã®åäœã {index}ã³ãã³ã<ããŸãã©-ã³ãã³ã>ã{index}åœä»€<ãããã-åœä»€>({index}command, {index}statement) ãšåŒã³ãããããéåã {index}ã³ãŒã<ããŒã©-ã³ãŒã>ã{index}ããã°ã©ã <ã·ãããã-ããã°ã©ã >ããŸã{index}ãœãŒã¹<ããŒã-ãœãŒã¹>({index}code, {index}program, {index}source) ãšåŒã¶ããŸããã³ãŒããããã°ã©ã ããã¡ã€ã«ãšããŠä¿åãããã®ã {index}ã¹ã¯ãªãã<ãããã·ãš-ã¹ã¯ãªãã>ïŒ{index}ã¹ã¯ãªããã»ãã¡ã€ã«<ãããã·ãšã»ãµããã-ã¹ã¯ãªããã»ãã¡ã€ã«>; {index}script fileïŒã{index}ãœãŒã¹<ããŒã-ãœãŒã¹>ïŒ{index}ãœãŒã¹ã»ãã¡ã€ã«<ããŒãã»ãµããã-ãœãŒã¹ãã¡ã€ã«>; {index}source fileïŒ ãšåŒã¶ãæèã«å¿ããŠæå³ãç°ãªãããšãããããä»äººãšã®ããåãäžã«ãããããœãŒã¹èŠããŠããšããæã¯ããæžããã³ãŒããèŠããŠããä¿åããã³ãŒããèŠããŠããšåçã®æå³ã§äœ¿ãããã
:name: w2-term2
çšèªé2
åºæ¬çãªåãæŒç®ãtype()颿°ã§åã調ã¹ãããããšãèŠããŠãããã
== ã != 㯠{index}æ¯èŒæŒç®å<ã²ããããããã-æ¯èŒæŒç®å>({index}comparison operator) ãšåŒã°ããŠãããæŒç®åã®å·Šå³ãçãããåŠãã確èªããããã«çšãããããäŸãã°ãå
ç100人ãŸã§ãã¬ãŒã³ãããããããªã³ãŒããæžãããšãããšãå¿åã®ãã£ããŠãŒã¶ãé çªã«äžŠã¹ãŠäžäººãã€ã«ãŠã³ãããããã®ã«ãŠã³ãããå€ã倿°countã«ä¿åããŠããããcount == 100ãã®æ¯èŒçµæãçã§ããã°ã100人ååŠçãçµãããšããããšã倿ã§ãããæ¯èŒæŒç®åã®çµæã¯çåœã®ã¿ã§ããã{index}True ããã㯠{index}False ãšãã {index}boolåïŒ{index}boolearn, {index}ããŒãªã¢ã³<ã¶ãŒããã-ããŒãªã¢ã³>ãšãåŒã°ããïŒã®ãªãã©ã«ã§è¿ãããã
boolåãªãã©ã«ã® ``True`` ã ``False`` ã¯ãæååã§ã¯ãªãç¹ã«æ³šæããããäŸãã°ã
```python
>>> True == 'True'
```
ã«ãããŠã巊蟺ã¯booleanåã®TrueïŒçïŒãšãããªãã©ã«ã§ãããå³èŸºã¯stråã®ãªãã©ã«ã§ãããç°ãªããªãã©ã«ã§ãããããæ¯èŒçµæã¯ False ãšãªãã
print()ãtyp()ã®ããã«ãåç§°(åŒæ°) ã®åœ¢åŒã§å®è¡ããåœä»€ã {index}颿°<ãããã-颿°>ïŒ{index}functionïŒ ãšåŒã¶ãæ°åŠã«ããã颿°ã®å ŽåãäŸãã° y = 2x + 1 ãšãã1æ¬¡é¢æ°ã§ã¯ã倿°xã®å€ãå
·äœçã«æ±ºãããšåºåyãç®åºããããšãã§ããããã®å€æ°xã«çžåœããéšåãããªãã¡å
¥åãæå®ããéšåãããã°ã©ã ã§ã¯ {index}åŒæ°<ã²ããã-åŒæ°>({index}arguments, {index}parametersïŒ ãšåŒã¶ã
ããã°ã©ã ã«ããã颿°ã¯ãåŒæ°ã§äžããããæ å ±ãå ã«ãäœãããã®åŠçãè¡ããå ·äœçã«ã¯ãprint()颿°ã§ã¯ãåŒæ°ãšããŠäžãããããªãã©ã«ããããã¯å€æ°ã®äžèº«ãæšæºåºåã«æžãåºããããtype()颿°ã§ã¯ãåŒæ°ãšããŠäžãããããªãã©ã«ããããã¯å€æ°ã®äžèº«ã®åã調ã¹ãè¿ãããšããåŠçãå®è¡ããã颿°ã¯èªèº«ã§ãäœãããšãå¯èœã§ãããåŸæ¥åãæ±ããèå³ã®ããäººã¯æç§æžã§äºç¿ããŠã¿ããã
:name: w2-term3
çšèªé3
åœä»€æã« # ãå«ãŸããŠãããšãããããè¡æ«ãŸã§ã¯ {index}ã³ã¡ã³ã<ããããš-ã³ã¡ã³ã>({index}comment) ãšããŠæ±ããããã³ã¡ã³ãã¯äººéãã¡ã¢ãããŠããããã«çšããããŸããäžæçã«ã³ãŒããå®è¡ããããªããåé€ããããªãå Žåã«ãã³ãŒãã®åé ã«#ãã€ããããšã§è©²åœè¡ãã³ã¡ã³ããšããŠè§£éãããããšãããããã®ãããªè¡çºã¯ {index}ã³ã¡ã³ãã»ã¢ãŠã<ããããšã»ãããš-ã³ã¡ã³ãã»ã¢ãŠã>ïŒ{index}comment outïŒ ãšåŒã¶ã
>, >=, <, <= 㯠{index}æ°å€ãçšããæ¯èŒæŒç®å<ããã¡ããã¡ããã²ããããããã-æ°å€ãçšããæ¯èŒæŒç®å>ã§ãããããã倧ãããã以äžãã®ããã«ãã®å€ãå«ãã®ãã©ãããåºå¥ã§ããããã«ãªããããã®äœ¿ãåããééããšã100人ã«å¯Ÿããã¬ãŒã³ããããã€ããã§ã99人ãŸã§ããåŠçã§ããªãã£ãããšããããšã«ãªãããããããã¹ã§ããããã®ãããªãã¹ãçºèŠããããããããã®ææ³ãå¢çãã¹ããšåŒã¶ïŒåŸæ¥ãããŸãïŒã
and, or, not 㯠{index}è«çæŒç®å<ãããããããã-è«çæŒç®å>({index}boolean operator) ãšåŒã°ããŠãããå·Šå³ã®ãªãã©ã«ãboolåã§ããããšãåæãšããŠåŠçãããäŸãã°ãæ¡ä»¶1ãæ¡ä»¶2ãæã£ãŠããã®ã§ã¹ããŒãžã¯ãªã¢ãšèŠåãããããªå Žåã«ã¯ and æŒç®åã«ãã確èªãåããŠãããor, not ã«ã€ããŠãã©ãããçšéãããããããèããŠã¿ããã
``#``ãå«ãããšãã®åŸããã³ã¡ã³ãæ±ãã«ãªãããšã¯æ¢ã«è¿°ã¹ããšããã§ãããã§ã¯ã#ãå«ããæååããstråãšããŠçšæãããããã®ãŸãŸprint颿°ã§åºåãããããã«ã¯ã©ããããè¯ãã®ã ããããå
·äœçã«ã¯æ¬¡ã®ãããªã³ãŒããæžããšãã©ããªãã ãããã
```python
>>> statement = 'ææ©ããŠç ã #仿æ¥äž'
>>> print(statement)
```
çã㯠``ææ©ããŠç ã #仿æ¥äž`` ãåºåããããããªãã¡ã#ãå«ãæååããã®ãŸãŸåŸããŸã§åºåãããŠãããã³ã¡ã³ãæ±ãã«ãªã£ãŠããªãããã㯠**{index}`åªå
é äœ<ãããããã
ãã-åªå
é äœ>`** ã®åé¡ã§ãããäŸãã°æ°åŠã«ããã ``1 + 3 * 2`` ã®çµæã¯8ã§ã¯ãªã7ã§ãããããã¯è¶³ãç®ããå
ã«æãç®ãåªå
ãããããã ããããšåæ§ã«ãããã°ã©ã ã®èšè¿°ã«ã¯åªå
é äœãå®ããããŠãããä»åã®ã±ãŒã¹ã§ã¯ ``#`` ããã ``'`` ã«ããæååå®çŸ©ãåªå
ãããŠããããã#ããã®ãŸãŸæååãšããŠæ±ãããŠããããšã«ãªãã
åæ§ã« ``print(')')`` ã¯ãçŽããããã ``)`` ãšãã1æåãæååãšããŠæ±ãããããprint颿°ãåºåããããã®ããã«åœä»€æã®åŠçã¯äºãæå®ãããåªå
é äœã«åŸã£ãŠåŠçããããšããããšãèŠããŠãããã
```{tip}
äžèšã§è¿°ã¹ãããã«åŠçã«ã¯é åºãå®ããããŠãããèå³ã®ãã人ã¯[å
¬åŒããã¥ã¡ã³ãã®è©äŸ¡é åºãåªå
é äœ](https://docs.python.org/ja/3/reference/expressions.html#evaluation-order)ãçºããŠã¿ããã
```
äžèšã®ã³ãŒãäŸã§ã¯ãŸã倿° statement ã宣èšããŠå€ãä¿åããæ¬¡ã«ãã®å€æ°ã®äžèº«ãåºåããŠããããã®ã³ãŒããæžãéã«ã¯1æåãã€å
šãŠãææã¡ããå¿
èŠã¯ãªãã**{index}`TabããŒã«ããå
¥åè£å®`** ãå©çšãããšè¯ãã{index}`TabããŒ`ãšã¯ ControlããŒã®äžã«ããå³ç¢å°ãå°åãããŠããããŒã®ããšã ã
å
¥åè£å®ããã£ãŠã¿ããããŸã1è¡ç®ã¯ãããããŸã ã³ã³ãã¥ãŒã¿ãèŠç¥ãã¬å€æ°ãªã®ã§ããã®ãŸãŸææã¡å
¥åããå¿
èŠãããã2è¡ç®ã¯ ``print(s`` ãŸã§å
¥åããç¶æ
ã§TabããŒã1ã2åæŒããŠã¿ããã1åç®ã¯éç¥é³ã®ãããªãã®ããªãã ãã ãã2åç®ã¯æ¬¡ã®ããã«åºåãããã¯ãã ã
```python
>>> statement = 'ææ©ããŠç ã #仿æ¥äž'
>>> print(s
set( slice( statement str( super(
setattr( sorted( staticmethod( sum(
>>> print(s
```
äžèšã¯ãsããå§ãŸã倿°ãããã¯äºãPythonã§çšæãããŠãã颿°ãã®äžèЧã衚瀺ãããçµæã§ãããç¶ã㊠``print(state`` ãŸã§å
¥åããç¶æ
ã§TabããŒãæŒããŠã¿ããããããããšèªåçã« ``print(statement`` ãŸã§å
¥åããç¶æ
ã«ãªãã¯ãã ããã®ããã«ãé æå1æå以äžãå
¥åããç¶æ
ã§TabããŒãæŒããšãããããæšæž¬ã§ããæååã®äžèЧã瀺ãããããããã¯äžæã«å®ãŸãå Žåã«ã¯æåŸãŸã§å
¥åããŠãããæ©èœã®ããšãå
¥åã®èªåè£å®ãšåŒã¶ãå
šãŠã®å€æ°åã颿°åãäžæåãééããªãããã«ããããå
¥åããã®ã§ã¯ãªããè£å®æ©èœã䜿ãã°ã¹ã ãŒãºã«å
¥åã§ããããšãèŠããŠãããã
2é±ç®ææ¥ã§ã¯ã²ãšãŸãã¹ãããããæåŸã«æéãããããªãæ¹ããŠèª¬æããã
>>> enemy = 'ã¹ã©ã€ã '
>>>
>>> # case 1: åºåãããæååã1倿°ã«çšæããŠããprint()ããã
>>> output = enemy + 'ã2äœçŸãã'
>>> print(output)
ã¹ã©ã€ã ã2äœçŸãã
>>>
>>> # case 2: print()å
ã§æŒç®åŠçããã
>>> print(enemy + 'ã2äœçŸãã')
ã¹ã©ã€ã ã2äœçŸãã
>>>
>>> # case 3: str.format()圢åŒãå©çšããã
>>> output = '{}ã2äœçŸãã'.format(enemy)
>>> print(output)
ã¹ã©ã€ã ã2äœçŸãã
>>> print('{}ã2äœçŸãã'.format(enemy))
ã¹ã©ã€ã ã2äœçŸãã
>>>
>>> # case 4: f-string圢åŒãå©çšããã
>>> output = f'{enemy}ã2äœçŸãã'
>>> print(output)
ã¹ã©ã€ã ã2äœçŸããããã§ã¯æååçµåã®äŸã4ã€ç€ºããŠããã
1ã€ç®ã¯ãæååãä¿åãã倿°ã«å¯ŸããŠæååãªãã©ã«ãçµåããŠããäŸã§ããã
2ã€ç®ã¯ãåŒæ°å ã«æŒç®åãå«ãŸããã±ãŒã¹ã瀺ããŠããããã®ããã«æŒç®åãå«ãŸããå ŽåãæŒç®åããªããªããŸã§æŒç®ãå®è¡ãããã®çµæãåŒæ°ãšããŠå©çšããã
3ã€ç®ã¯ããšãŠãèŠã¥ãããPythonç¹æã®æååäœææ¹æ³ã§ãããããã€ãæ°ããèŠçŽ ãåºãŠããŠãããããåè§£ããŠèããŠã¿ããã
- (1)
'{}ã2äœçŸãã'ã¯ãstråã®æååã衚ããŠããã 詊ãã«'{}ã2äœçŸãã'ã®ã¿ãåŒæ°ãšããŠæå®ããå Žåã«ã¯ããã®ãŸãŸåºåãããã¯ãã§ããã - (2) (1)ã®åŸãã«ç¶ã
.format(åŒæ°)ã¯ãçŽåã®æååã«ããã {} ãåŒæ°ã«çœ®ãæããæååãçæãããããã{index}str.format圢åŒãšåŒã¶ã äŸãã°ã
>>> '{}'.format(1)ã¯ã{}ãæ°åã®1ã«çœ®ãæããæååãçæããã
>>> '{}'.format(enemy)ã¯ã倿°enemyãäœãå€ãä¿åããŠãããªãã°ããã®äžèº«ã{}ã®éšåã«çœ®ãæããæååãçæããã
>>> '{}ã{}äœçŸãã'.format(enemy,2)ã¯ã1ã€ç®ã®{}ã倿°enemyã®äžèº«ã«çœ®ãæãã2ã€ç®ã®{}ãæ°åã®2ã«çœ®ãæããæååãçæããã
4ã€ç®ã¯ãstr.format圢åŒãç°¡ç¥åãã{index}f-stringæžåŒïŒ{index}ãã©ãŒãããæžã¿æåãªãã©ã«<ãµããŒãŸã£ãšãã¿ããããŠãã-ãã©ãŒãããæžã¿æåãªãã©ã«>ïŒãçšããŠããã
ãã®ãããªäžèŠè€éã«èŠããæååçµåã®ææ®µãçšæããŠããã®ã¯ãåã« +æŒç®åã«ããçµåãçšããå Žåã«ãããã¥ãããªã£ããã倿°ã®äžèº«ïŒåïŒã«å¿ããŠæååçµåã®æžãæ¹ãç°ãªãããã ãäŸãã°åããã¥ããäŸãšããŠã¯ã
>>> '1+1' + 'ã¯' + '2' + 'ã§ã'ãšããã³ãŒãã人éãèŠããšããã©ã®éšåããªãã©ã«ãªã®ãã¯çŽæçã«ã¯åããã¥ãããããã«å¯Ÿãã
>>> '{}+{}ã¯{}ã§ã'.format(1,1,2)ã§ããã°ã3ã€ã®ãªãã©ã«ãããããšããã®ãªãã©ã«ãçµã¿åãããæååãçæããããšããæå³ãæ±²ã¿åããããã ãã®ããã«ã人éã«ãšã£ãŠã®èªã¿ãããïŒãªãŒããã«ã³ãŒã, readable codeïŒãã®èгç¹ãããstr.format()圢åŒã f-string ãæäŸãããŠããã
çŸæç¹ã§çްããªå·®ç°ãèŠããŠããå¿
èŠã¯ãªããã[f-stringã¯PythonããŒãžã§ã³ã«ãã£ãŠãµããŒãç¯å²ïŒå©çšã§ããèšè¿°ïŒãç°ãªã](https://docs.python.org/ja/3.10/reference/lexical_analysis.html#formatted-string-literals)ç¹ã«æ³šæããããæ³å®éãã®åäœãããªãå Žåã«ã¯å
¬åŒããã¥ã¡ã³ãã§ç¢ºèªããããã«ãããã
ãããŸã§ã¯ãPythonã€ã³ã¿ããªã¿ãèµ·åããããã§ã³ãŒããçŽæ¥æžãããšã§åœä»€ãã³ã³ãã¥ãŒã¿ã«äŒããå®è¡ãããŠãããããããã®æ¹æ³ã§ã¯ãåãåœä»€ãããããå Žåã«ã¯ãã®éœåºŠåãã³ãŒããæžãå¿
èŠããããæéã§ããããã®æéãçããããã³ãŒããããã¹ããã¡ã€ã«ã«ä¿åããŠå®è¡ããæ¹æ³ãããããã®ãã³ãŒããä¿åããããã¡ã€ã«ãã®ããšã {index}ã¹ã¯ãªãã<ãããã·ãš-ã¹ã¯ãªãã>ã{index}ãœãŒã¹ã³ãŒã<ããŒãããŒã©-ãœãŒã¹ã³ãŒã>({index}script, {index}script file, {index}source code,,,) ãšåŒãã§ããã
ã¹ã¯ãªãããšããŠã³ãŒããä¿åããéã«ã¯ã{index}ããã¹ãã»ãšãã£ã¿<ãŠãããšã»ãã§ãã-ããã¹ãã»ãšãã£ã¿>({index}text editor) ã䜿ãããããã¹ããšãã£ã¿ãšã¯ãããã¹ãã®ã¿ãç·šéïŒeditïŒããŠãã¡ã€ã«ä¿åããããã®ãœããã§ãããããã°ã©ãã³ã°ã«ãããŠã¯ãããã°ã©ãã³ã°èšèªä»æ§ã«åã£ãã³ãŒããããã®ãŸãŸããã¹ããšããŠä¿åããå¿
èŠããããããããã¹ãã«ç¹åãããœããã䜿ããããã¹ããšãã£ã¿ã«ã¯è²ããªçš®é¡ããããããããçãããã®ã§ããããã詊ããŠã¿ãããšã§äœ¿ãããããã®ãåŸæ¥æ¢ããŠã¿ããšããã ããã
ä»å㯠VSCodeã ããã¹ãã»ãšãã£ã¿ä»£ããã«äœ¿ãã以äžã®æé ã§ã¹ã¯ãªãããæžããŠåãããŠã¿ããããªããããã§ã¯ã¿ãŒããã«æäœã®æŒç¿ãå Œã㊠(1) ããã¹ãã»ãšãã£ã¿ã§ä¿åããã¹ã¯ãªãããã¿ãŒããã«ã§å®è¡ããã(2) VSCodeã§çŽæ¥å®è¡ãããã®2çš®é¡ã®å®è¡æ¹æ³ã詊ããŠã¿ãŸãããã
ãšããã§ããã¡ã€ã«ãæ£ããã£ãŠããŸããšæ¢ãã«ãããªããŸãããããé¿ãããããããã°ã©ãã³ã°1ã§å©çšãããã¡ã€ã«ãä¿åããããã®äœæ¥çšãã£ã¬ã¯ããªãšã㊠~/prog1 ãäœæããããšã«ããŸãããã
- è£è¶³
~/ã¯ãã«ããã¹ã©ãã·ã¥ãšçºé³ããå®è¡ãããŠãŒã¶èªèº«ã®ããŒã ãã£ã¬ã¯ã㪠ã瀺ãããã«çšãã衚èšã§ããããã®ãã©ã«ãããã£ã¬ã¯ããªãšã¯OSæ¯ã«åŒã³åãå€ããã ãã§ãåºæ¬çã«ã¯åäžã®ãã®ãšèããŠãããã- ããªãã䜿ã£ãŠããPCã¯ãåããŠã»ããã¢ããããéã«ããªãå°çšã®ã¢ã«ãŠã³ããäœã£ãã¯ãã ãããã¯è€æ°ã®ã¢ã«ãŠã³ããäœãããšãåºæ¥ãïŒäŸãã°å®¶æã§å ±çšããŠäœ¿ããšãïŒããã®éã«åã¢ã«ãŠã³ãæ¯ã«ãããã¯ç§å°çšã®ãã©ã«ããããããã¯ããªãå°çšã®ãã©ã«ãããšãã£ãããšã決ããŠãããæ¹ã䜿ãããããåèªã®ãã©ã«ããããŒã ãã£ã¬ã¯ããªãšåŒã¶ã
- äŸãã°ç¶éã®ã¢ã«ãŠã³ã㯠tnal ã§äœæããŠãããPCäžã®ããŒã ãã£ã¬ã¯ããªã¯
/Users/tnal/ã§ããããã®/ã¯ã«ãŒããã£ã¬ã¯ããªãšåŒã°ããŠãããã«ãŒããã£ã¬ã¯ããªãã察象ãã£ã¬ã¯ããªãŸã§ã®ãã¹ãå šãŠçŸ åããæžãæ¹ã ãã«ãã¹ã絶察ãã¹ïŒfull path, absolute pathïŒ ãšåŒã¶ãäžæ¹ã§~/ã~/Downloads/ã®ããã«ãã«ãŒããã£ã¬ã¯ããªä»¥å€ãåºæºãšããæžãæ¹ã çžå¯Ÿãã¹ïŒrelative pathïŒ ãšåŒã¶ã
ã§ã¯ãå®éã«äœæ¥çšãã£ã¬ã¯ããªãäœæããŠã¿ãŸãããã
- step 1-1:
~/prog1ãäœæããããã«ã¯ããŸãã¿ãŒããã«ãèµ·åãããã- ãã®æç¹ã§ããŒã ãã£ã¬ã¯ããªã«ããããã®ããšã確èªããããã«ã¯ pwdã³ãã³ã (print working directoryã®ç¥) ãå ¥åããå®è¡ããïŒEnterããŒãæŒãïŒãšè¯ãã
- ä»ãããã£ã¬ã¯ããªäžã«ã©ã®ãããªãã¡ã€ã«ããããã確èªããããã«ã¯ãlsã³ãã³ã (listã®ç¥) ãå ¥åããå®è¡ãããã
- step 1-2: 次ã«ãã¿ãŒããã«äžã§ mkdirã³ãã³ã (make directoryã®ç¥) ã䜿ããprog1ãã£ã¬ã¯ããªãäœããã
- å
·äœçã«ã¯
mkdir prog1ãšå ¥åããå®è¡ããã - æ£ããäœæãããããšã確èªããããã«ãlsã³ãã³ããå®è¡ããŠã¿ãããåºåãããäžèЧã®äžã«å«ãŸããŠããããšã確èªãããã
- å
·äœçã«ã¯
ããã§äœæ¥çšãã£ã¬ã¯ããªãçšæããããšãã§ããŸããã以éã®äœæ¥ã¯ãã®ãã£ã¬ã¯ããªã«ç§»åããŠããäœæ¥ããŠããããšã«ãªããŸãããã£ã¬ã¯ããªãç§»åããããã«ã¯ cdã³ãã³ã (change directoryã®ç¥) ã䜿ããæ¬¡ã®ããã«å®è¡ããŸãã
- step 1-3:
cd prog1ãšå ¥åããå®è¡ããã- ãã£ã¬ã¯ããªã倿ŽïŒç§»åïŒã§ããããšã確èªãããããpwdã³ãã³ããå®è¡ããŠã¿ããã
- ãŸããæ°èŠäœæããã°ããã®ãã£ã¬ã¯ããªã«ã¯äœããã¡ã€ã«ããªãããšãlsã³ãã³ãã§ç¢ºèªããŠã¿ããã
ã¿ãŒããã«ããVSCodeãèµ·åãããšãã«ã¬ã³ãã»ãã£ã¬ã¯ããªãéããç¶æ ã§äœæ¥ç°å¢ãçšæããŠãããã
- step 2-1: VSCodeãèµ·åããã
code .ãšå ¥åããå®è¡ããã- codeã³ãã³ãã¯ãVSCodeã¢ããªãèµ·åããããã®ã³ãã³ãã§ããã
.ã¯ããä»ãããã£ã¬ã¯ããªããæããŠãããcode .ã§ãä»ãããã£ã¬ã¯ããªãäœæ¥ãã£ã¬ã¯ããªãšããŠèµ·åããããšè§£éããŠèµ·åããŠãããã
:name: vscode-leftmenu
VSCodeã®å·Šããã«
äžå³ã¯ãVSCodeãç«ã¡äžããã°ããã®ç¶æ ã ãåºæ¬çã«ã¯å·ŠåŽã®ã¢ã€ã³ã³ããæäœãããããããã¯ãã®å³ã«ã¯è¡šç€ºããŠããªãäžéšã¡ãã¥ãŒïŒVSCodeãåé¢ã«ããŠããç¶æ ã§ã®ãã¢ããªç»é¢ã®å€ã«ããæãäžéšã«ããã¡ãã¥ãŒïŒããæäœããããšã«ãªãã
macOSã§ã¯ãææªã¢ã€ã³ã³ãããæäžéšã®ã¡ãã¥ãŒã¯åºå®ãããŠããããæäœã¢ããªã«äŸåããŠã¡ãã¥ãŒãå€åãããäŸãã°ãVSCodeã§æäœããŠããïŒåé¢ã«ããŠããïŒç¶æ
ã§äžéšã¡ãã¥ãŒã確èªãããš ``Code`` ãšãªã£ãŠãããã¿ãŒããã«ãåé¢ã«ãããšã``ã¿ãŒããã«`` ã«å€ããããšã確èªããŠã¿ããã
ãŸããWelcomeïŒåèš³ãããŠãããªãããããããïŒã¿ããéããŠããã倧ããªæåã§ Start, Recent ãåæãããŠãããšæãããã ã Recent ã¯éå»ã«éãããã£ã¬ã¯ããªã衚瀺ããŠããïŒçŽåã«éããå Žæã¯ãæ¹ããŠéãããšãå€ãããïŒã®ã§ãåããŠèµ·åããéã«ã¯äœã衚瀺ãããŠããªãã ããã
:name: vscode-newfile
VSCodeã§Explorerãéããç¶æ
äžå³ã¯ãExplorerãéžæããŠãã¡ã€ã«äžèЧã衚瀺ããç¶æ ã ãå·Šããã«ã«äžèЧã衚瀺ãããŠãããç¶éã®ç°å¢ã§ã¯éå»ã«å©çšãããã¡ã€ã«ããŸãšãããã£ã¬ã¯ããªãåæãããŠããã
ãã®å·Šããã«ãã New File ãéžæãããã¡ã€ã«åã test.py ãšããŠç¢ºå®ãããã確å®ããã«ã¯ Enter ããŒãæŒããšè¯ãã
:name: vscode-test
VSCodeã§test.pyç·šéããç¶æ
äžå³ã¯ãæ°èŠã«test.pyãšããååã®ãã¡ã€ã«ãäœæããç¶æ ã§ãããå³åŽäžéšãç·šéãšãªã¢ã«ãªã£ãŠãããããã¹ããããã°ã©ã ãæžãããã«å©çšãããå³åŽäžéšã«ã¯ã¿ãŒããã«ç»é¢ã衚瀺ãããŠãããããã°ã©ã ã®å®è¡ãå®è¡çµæã衚瀺ããããã«å©çšããããšãå€ããéåžžã®ã¿ãŒããã«ïŒmacOSæšæºã®ã¿ãŒããã«ã¢ããªïŒãšåãããšãã§ãããšèããŠããã£ãŠè¯ãã
å®éã«ã³ãŒããæžããŠä¿åããããå
·äœçã«ã¯ãæ°èŠãã¡ã€ã«ãšã㊠test.py ãäœæããprint('ããã«ã¡ã')ãšããã³ãŒããæžããŠãä¿åããããä¿åããããã«ã¯äžéšã®Fileã¡ãã¥ãŒããSaveãéžã¶ãããããã¯ã·ã§ãŒãã«ããããŒãå©çšã㊠{index}â+sïŒâãæšããªããsïŒã§ãä¿å(save)ããããšãã§ããã
- 泚æç¹
- æ¥æ¬èªãšè±èªã®å ¥åã¢ãŒãã«äŒŽããå ¥åãããæåãå€ããããšã«æ³šæãããïŒåè: Wikipedia:å šè§ãšåè§ã
- äŸãã°
print(1)ãšprint(ïŒ)ã¯ç°ãªããåè ã¯å šãŠãåè§è±æ°åã§å ¥åããŠããã®ã«å¯ŸããåŸè ã¯ãïŒããšãïŒããå šè§ã ã- ãã®ãã¡ãå
šè§ã®ïŒãã¯ãããã°ã©ã ãåŠçããã€ã³ã¿ããªã¿ã«ãšã£ãŠã¯æåãšããŠåŠçããããšãããããããªããPythonã§ã¯æååã¯ã·ã³ã°ã«ã¯ã©ãŒããããã«ã¯ã©ãŒãã§å²ãå¿
èŠãããããã®çµæãæåã«èŠãããæåã§ã¯ãªãïŒã¯ã©ãŒãã§å²ãããŠããªãïŒããã{index}
SyntaxErrorãšãªããSyntaxErrorãšã¯ãææ³äžèª€ã£ãŠããããã«å®è¡ã§ããªãããšãæå³ããŠããã
- ãã®ãã¡ãå
šè§ã®ïŒãã¯ãããã°ã©ã ãåŠçããã€ã³ã¿ããªã¿ã«ãšã£ãŠã¯æåãšããŠåŠçããããšãããããããªããPythonã§ã¯æååã¯ã·ã³ã°ã«ã¯ã©ãŒããããã«ã¯ã©ãŒãã§å²ãå¿
èŠãããããã®çµæãæåã«èŠãããæåã§ã¯ãªãïŒã¯ã©ãŒãã§å²ãããŠããªãïŒããã{index}
- é¡äŒŒããäŸãšããŠ
print(1)ãšprint(1ïŒãç°ãªããåŸè ã¯æåŸã®äžžæ¬åŒ§ãå šè§ã«ãªã£ãŠããã
{index}`catã³ãã³ã`ã䜿ãã``cat test.py``ãšããããã«ãã¡ã€ã«åãæå®ããŠã¿ãŒããã«ã§å®è¡ãããšãtest.pyã®äžèº«ã確èªããããšãã§ããŸããã¿ãŒããã«ãšVSCodeã¯ã¢ããªã¯ç°ãªããŸãããåäžãã£ã¬ã¯ããªã§äœæ¥ããŠããŸããäŸãã°ã¿ãŒããã«äžã§vimã³ãã³ãã䜿ã£ãŠããã¹ããã¡ã€ã«ãç·šéããåãå¯èœã§ãããä¿åãçµãããšãèªåçã«VSCodeåŽã§éããŠããäžèº«ãæŽæ°ãããŸãã
print('ããã«ã¡ã') ãšããã³ãŒãã¯ãprint颿°ãšãã®åŒæ°ïŒ'ããã«ã¡ã'ïŒã®çµã¿åããã«ãªã£ãŠããããããã«ã¡ã¯ããšããæååãåºåããããã«åäœãããè¯ããã誀ããšããŠã以äžã«ç€ºããããªæžãæ¹ã§ã¯åãçµæãåŸãããªãããšã«æ³šæãããã
| ã³ãŒã | ç°ãªãç¹ |
|---|---|
print(ããã«ã¡ã¯) |
ã¯ã©ãŒãã§å²ã£ãŠããªãããªãããã®å Žåã«ã¯ NameError ãšãªãã |
print('ããã«ã¡ã¯) |
å·ŠåŽã ãã¯ã©ãŒããã€ããŠãããSyntaxError |
primt('ããã«ã¡ã¯') |
颿°åãéããNameError |
print('ããã«ã¡ã¯' |
å·ŠåŽã ãäžžæ¬åŒ§ãã€ããŠãããSyntaxError |
ãprint颿°ãã«ããã颿°ãšã¯ãæ°åŠã«ããã颿°ã«äŒŒãŠããããã«ããã°ã©ã ã«ãããŠãåŒç§°ãšããŠäœ¿ã£ãŠããã
æ°åŠã«ããã颿°ãäŸãã° ``f(x) = x + 1`` ãèãããšããã®é¢æ°fã«å¯ŸããŠx=10ãå
¥åãšããŠäžãããšã``f(10) = 10 + 1 = 11`` ãšãªãã11ãšããçµæãåŸãããã¯ãã ãã€ãŸããæ°åŠã«ããã颿°ãšã¯ããã倿°ã«äŸåããŠå€ã決ãŸãåŒãæäœã®ããšãæããŠããã
ããã«å¯ŸããŠããã°ã©ãã³ã°ã«ããã颿°ãšã¯ãåè¿°ã®é¢æ°fã®ãããªãã®ãäºã倿°çšæãããŠããããããå©çšããããã«ã¯ ``颿°å(åŒæ°)`` ãšããæžåŒã§ããã°ã©ã ãæžãããšã«ãªããããªãã¡ã``print('ããã«ã¡ã')`` ãšã¯ãprint颿°ã«å¯ŸããŠæååãããã«ã¡ã¯ããæå®ããŠå®è¡ããŠããããšããæå³ã«ãªãã颿°ã®ãã詳现ãªè©±ã¯åŸæ¥æ±ãã
ãšãŠãéèŠãªããšãäžã€ãããŸããã¿ãŒããã«äžã§å®è¡ããéã«ã¯ å¿ ããå®è¡ããåã«ãã¡ã€ã«ãä¿åãã ããšãå¿ããªãããã«ããŸããããä¿åããªãéããã¡ã€ã«ã«ã¯äœãæžãããŠããªããããããã¯ãšãã£ã¿äžã§èŠãããã®ãšã¯ç°ãªãå 容ïŒå€ãå 容ïŒãä¿åãããŠããŸãããã®ç¶æ ã§ã¿ãŒããã«ããå®è¡ãããšãå€ãå 容ãåç §ããŠããŸãããããããæ£ããã³ãŒããæžããŠãããšããŠãæ³å®ããçµæãåŸãããšãã§ããŸããã
ã¿ãŒããã«ããå®è¡ããã«ã¯æ¬¡ã®ããã«ããŸãã
- (1) ãã¡ã€ã«ãä¿åããã
- (2) ã¿ãŒããã«äžã§ãããã°ã©ã ãä¿åãããã£ã¬ã¯ãã«ããããšã確èªããã
- äŸãã° pwdã³ãã³ã ã lsã³ãã³ã ã§ç¢ºèªããããšãã§ãããïŒäœæ ã ããïŒïŒ
- (3) ãã¡ã€ã«åãæå®ããŠã次ã®ããã«å
¥åããå®è¡ããã
python ãã¡ã€ã«å- ä»åã¯
test.pyãå®è¡ãããã®ã§ãpython test.pyãšå ¥åããå®è¡ããããšã«ãªãã
ã¿ãŒããã«äžã§ã¯ã·ã§ã«ãšåŒã°ããããã°ã©ã ãšã®å¯Ÿè©±åœ¢åŒã§åŠçãããããããšã«ãªããŸããã·ã§ã«äžã§ã¯``ã³ãã³ãå åŒæ°1 åŒæ°2 ...``ãšãã圢åŒã§ã³ãã³ããåŒæ°ä»ãã§å®è¡ããããšãã§ããŸãã
åŒæ°ã¯å¿
ãããæå®ããå¿
èŠã¯ãªããäŸãã° ``python`` ãšå®è¡ãããšPythonã€ã³ã¿ããªã¿ãèµ·åããçŽæ¥Pythonã®ã³ãŒãã1è¡ãã€å®è¡ããŠåäœç¢ºèªããããšãã§ããããã«ãªããŸããPythonã€ã³ã¿ããªã¿ãçµäºããã«ã¯ ``exit()`` ãšå
¥åããŠå®è¡ããããããã㯠{index}`Ctrl+d`ïŒã³ã³ãããŒã«ããŒãæšããªããdïŒãå
¥åããŸãã
ç¹ã«äœãåé¡ãªãå®è¡ã§ããæ³å®éãã®çµæãåŸãããå Žåã«ã¯ããã§ããã°ã©ãã³ã°çµäºïŒããã°ã©ã ã®å®æïŒãšãªããŸãããããäœãããäžå ·åãããå Žåã«ã¯ãå®è¡ã§ãããçµæãç°ãªã£ãããå®è¡ãã®ãã®ãã§ããªãã£ããããŸãããã®ãããªå Žåã«ã¯ (a) äœãã©ã®ããã«å®è¡ããã®ãã(b) ã©ã®ãããªçµæãåŸãããã®ãããæèããªããåé¡ç¹ãæ¢ã£ãŠããããšã«ãªããŸãã
ã¿ãŒããã«äžã§å®è¡ããéã«è¯ãããå žåçãªèª€ãã«ã¯ã(1) ã³ãã³ãåã®ãã¹ã(2) åŒæ°ã®ãã¹ããããŸãã
äŸãã°ãpythonã³ãã³ããå®è¡ããã€ããã§ãæå³çã«èª€ã£ãŠ pyton ãå®è¡ããŠã¿ãŠãã ãããã{index}zsh: command not found: pytonããšããåºåãè¿ã£ãŠããã¯ãã§ããããã¯ãpytonã³ãã³ããå®è¡ããããšããããèŠã€ãããªãã£ãããšããããšããŠãŒã¶ã«äŒããŠããŸãã
次ã«åŒæ°ã誀ãäŸãšã㊠python test2.py ãå®è¡ããŠã¿ãŠãã ãããã{index}python: can't open file '/Users/tnal/prog2/test2.py': [Errno 2] No such file or directoryããšããåºåãè¿ã£ãŠããã¯ãã§ãã倧åé·ãã§ããããtest2.pyãšãããã¡ã€ã«ãpythonã³ãã³ãã§å®è¡ããããšãããããã®ãã¡ã€ã«ãéãããšãã§ããªãã£ããæå®ãããã¡ã€ã«ã¯èŠã€ããããªãã£ãããšããããšããŠãŒã¶ã«äŒããŠããŸãã
æåããå
šãŠã®ãšã©ãŒåºåãçè§£ããå¿
èŠã¯ãããŸããããåããŠãªã®ã§æ®éã¯ããããªãã§ãããããšã©ãŒæãè¿ã£ãŠããéã«ã¯ãŸãè±æãã®ãã®ãçŽèš³ããŠã¿ãŠãã©ã®ãããªãšã©ãŒãªã®ããæ³åããŠã¿ããšè¯ãã§ããããããæ³åã§ããªãå Žåã«ã¯ãTAãæå¡ãå
茩åŠçãã«çžè«ããŠã¿ãŸãããã人ã«çžè«ããã®ããšãŠã倧åãªã¹ãã«ã§ãã®ã§ãçžè«ããç·Žç¿ã ãšæã£ãŠã©ãã©ãçžè«ãã ããã
ãªãã人ã«ãã£ãŠã¯ãšã©ãŒãåž°ã£ãŠããããšãã®ãã®ã«å¿é¿æãæããŠããŸãããšãããããã§ããããããã³ã³ãã¥ãŒã¿ã¯äººãšã¯éããã©ãã ã誀ã£ãå
¥åããããšããŠãæ ¹æ°åŒ·ãä»ãåã£ãŠãããŸãã人ã«ã¯ãªãåªããç¹ã§ãã®ã§ãæ°ã«ãã䜿ãããšãããããããŸãã
VSCodeäžã§å®è¡ããã®ã¯ãšãŠãç°¡åã§ããç·šéç»é¢å³äžã«ãã â· ãã¿ã³ãã¯ãªãã¯ãããšããã®æç¹ã§éããŠãããã¡ã€ã«ãä¿åããå®è¡ããŠãããŸããå®è¡çµæã¯VSCodeå
ã®ã¿ãŒããã«ã»ããã«ã«è¡šç€ºãããŸãã
:name: w2-interpretor-vs-script
ã¹ã¯ãªãããã¡ã€ã« vs. ã€ã³ã¿ããªã¿
æ £ããŠãããšæåããVSCodeã䜿ã£ãéçºãæ©ãããèšèªä»æ§ã«æ £ããŠããªã段éã§ã¯ãããããšçްãã詊ããªãã確èªã§ããã€ã³ã¿ããªã¿ã®æ¹ã䟿å©ãªããšãå€ããäŸãã°VSCodeãšã¿ãŒããã«ã®2ã€ãç«ã¡äžããŠãããã€ã³ã¿ããªã¿ã§çŽåŸã§ããã³ãŒããæžããããããVSCodeã«ã³ããŒããŠä¿åãããšããåæ¹ã®å©ç¹ã䜿ãåãããšããã ããã
:name: w2-naming
åœåèŠå
倿°åããã¡ã€ã«åãšããŠäœ¿ãããšã®åºæ¥ãæåãšãèŠçŽãèŠããŠããããåé 3é ç®ã¯Pythonã®èšèªä»æ§ãšããŠã®ã«ãŒã«ã§ãããå³å®ããå¿ èŠãããã
ãã®æ¬¡ã® Level3ãLevel4ãGoogle Python Style Guide ã¯èŠçŽã®äŸãèšãæãããšããŒã«ã«ã«ãŒã«ã§ãããèšèªä»æ§ãå®ã£ãã ãã®å€æ°åã§ã¯åããã«ããåç§°ã䜿ãããããšãå€ããèªã¿ã«ããã³ãŒãã«ãªãããšããããäŸãã°åè§åœ¢ã®é¢ç©ãæ±ããããã«ã
>>> area = height * widthãšã
>>> a = b * cãšã§ã¯ã©ã¡ããã³ãŒãã®æå³ãæ±²ã¿åããããã ãããã1ã€ç®ã¯æå³ã®æ±²ã¿åããããã³ãŒããšãªã£ãŠããããã®åãã°ãçºèŠãããããªãããä¿å®ãããããçŸå Žã§ã¯ã³ãŒããäžåºŠæžããŠçµããã§ã¯ãªããäœåºŠãä¿®æ£ã»æ©èœè¿œå çã䌎ãç·šéãããªãã䜿ãç¶ããŠãããããèªã¿ããããæèããã³ãŒããæãŸããããã®ããã«ãçµç¹æ¯ã«ããŒã«ã«ã«ãŒã«ãå®ããããã«åãåç§°ãå©çšããããšãäžè¬çã§ãããå€ãã®å Žåã«å ±éããLevel2ããããŸã§ãæèããŠåä»ããããã«ããŠã¿ããã
- Pythonå ¬åŒããã¥ã¡ã³ã
- help()颿° on Pythonã€ã³ã¿ããªã¿
- äŸ:
>>> help(print)
- äŸ:
- Googleå
ç
- e.g., ãpython printã or ãpython3 printã
- ã§ããã ãè€æ°åèªã§æ€çŽ¢ããçµã蟌ããåã«ãprintãã ãšãå¥ã®ããã°ã©ãã³ã°èšèªã®ããŒãžãããããããããé åžè³æïŒããªã³ãïŒãã®ããšããããããå¯èœæ§ãåäžåèªã§ã¯å€å¥å°é£ã
- 泚æ
- Python 2 <-> Python 3ã§ç°ãªãããšãããã
- Webäžã®æ å ±ã¯ééã£ãŠãããšãããã
颿°ã«é¢ããããã¥ã¡ã³ãã¯ãå ¬åŒããã¥ã¡ã³ãããæ¢ãããçŽæ¥Pythonã€ã³ã¿ããªã¿äžã§help()颿°ã䜿ããšåç §ããããšãã§ãããäŸãã°print()颿°ã«ã€ããŠèª¿ã¹ããšä»¥äžã®ãããªåºåãåŸãããã¯ãã ã
>>> help(print)
Help on built-in function print in module builtins:
print(...)
  print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
ããïŒäžç¥ïŒ
(END)- äžèšã®
print(value, ..., sep=' ', ç¥)ã¯äœ¿ãæ¹ãç°¡æçã«ç€ºããŠãããENDã§ããã¥ã¢ã«ã®æåŸã§ãããããã¥ã¢ã«ç»é¢ããæãåºããŠã€ã³ã¿ããªã¿ã«æ»ãããå Žåã«ã¯ãqïŒquitã®é æåïŒãå ¥åãããã valueã¯ãªãã©ã«ã倿°ãèšè¿°ããæ¬ã§ãããããããã«ã³ãïŒ,ïŒã§åºåã£ãŠåæã§ããããšããvalue, ...,ããšããŠç€ºããŠããã- ãã®æ¬¡ã®
sep=' 'ã¯ãæ°è¡äžã«èª¬æããããstring inserted between values, default a space.ããšãããããã¯ãvalueæ¬ã«è€æ°ã®å€ãåæããå Žåããããã®å€ãäœããã®æåãæ¿å ¥ããããšãããããŠãããäŸãã°ã
>>> print(1,2,3)ã®çµæã確èªããŠã¿ãããèªåçã«ã¹ããŒã¹ãæ¿å
¥ãããç¶æ
ã§æå®ããå€ãåºåãããã¯ãã ããã®ããã«ãç¹ã«æå®ããªãã£ãå Žåã«èªåã§äœ¿ãããå€ãã®ããšã {index}ããã©ã«ãå€<ã§ãµãããšã¡-ããã©ã«ãå€>ãããã¯åã«{index}ããã©ã«ã<ã§ãµãããš-ããã©ã«ã>({index}default) ãšåŒã¶ãä»åã®å Žåã«ã¯ã¹ããŒã¹ãããã©ã«ãå€ãšããŠæå®ãããŠãããããã¹ããŒã¹ãæ¿å
¥ãããŠåºåãããããšã«ãªãããã©ã¡ãŒã¿sepã倿Žããã«ã¯ä»¥äžã®ããã«æå®ãããã
>>> print(1,2,3,sep='#')颿°ã«äžããåŒæ°ã¯é åºã«æ³šæãããã``print(1,2,sep='#',3)`` ã®ããã«æžããŠãæ£ããåŠçã§ããªãããã®ç¹ã¯é¢æ°ã«ã€ããŠåŠã¶æã«æ¹ããŠæ¯ãè¿ãããšã«ããã
end ã¯ãåºååŸã«èªåã§è¿œå ãããå¶åŸ¡æåã§ããã'\n' ã¯ããã§1æåã®å¶åŸ¡æåã§ããããæ¹è¡æåããæå³ãããæ¹è¡æåãsepãšããŠèšå®ãããšã©ããªãã ãããã詊ããŠã¿ããã
Flush ã¯éåžžç¡èŠããŠæ§ããªããè£è¶³ããŠãããšããã¯ã³ãŒãã®å®è¡é床ãèæ
®ãã話ã§ãããååæŒç®ãšæ¯ã¹ããšãæšæºåºåã«æžãåºãããšããåŠçã¯ãšãŠãé
ãããã®ãããprintæã倧éã«ãããšå
šäœãšããŠåŠçãé
ããªã£ãŠããŸãããéåžžã¯ãªãã¹ããã®è² è·ãå°ãããªããããªå·¥å€«ããªãããŠãããéã«ãã®å·¥å€«ã®ããã«ãåºåãçµããåã«å¥ã®ã³ãŒãã®åœ±é¿ã§ããã°ã©ã å
šäœãç°åžžçµäºããŠããŸãããšãããããã®ãããªç¶æ³ãé¿ãããããå¿
ãåºåãçµããŠããæ¬¡ã«é²ãããã«æå®ããã®ãflushã§ããã
:name: w2-chap1
èšç®çæè
å·Šã®å®£èšçç¥èã§è¿°ã¹ãŠããå¹³æ¹æ ¹ã®å®çŸ©ã¯ãå®çŸ©ãšããŠæ£ãããããããã®å®çŸ©ããã¯å¹³æ¹æ ¹ãæ±ããããšã¯ã§ããªãã
å³ã®åœä»€çç¥èã§è¿°ã¹ãŠããã¬ã·ãã»æé ã»æç¶ãã¯ãå¹³æ¹æ ¹ãæ±ããããã®æç¶ããšããŠæžãäžãããŠãããè¿äŒŒçãªå¹³æ¹æ ¹ãæ±ããããšãå¯èœããã®ããã« ååã«å®çŸ©ãããå
¥åãäžããããæéåã®åœä»€çŸ€ã§çšæãããæç¶ãã«ããåºåãæ±ããããšãã§ããæç¶ã ã®ããšã {index}ã¢ã«ãŽãªãºã <ãããããã-ã¢ã«ãŽãªãºã >ïŒ{index}algorithmïŒ ãšåŒã¶ããã詳现ã¯2幎次ã®å¿
ä¿®è¬çŸ©ãã¢ã«ãŽãªãºã ãšããŒã¿ãã«ãŠåŠã¶ãããã§ã¯ãå
¥åãšåºåãæç¢ºã«ãããããã©ã®ããã«åŠçããã®ããšããæç¶ããèããå¿
èŠãããããšãããããå¿ã«çããŠãããã
1é±ç®ã«ããã°ã©ãã³ã°ã«ã¯3ã€ã®ã¹ãããïŒçè§£ã»æŽçã»ç¿»èš³ïŒãããããšãè¿°ã¹ããããã§ã¯å ·äœäŸãäžããŠãã®æµãã説æããã
äŸãšããŠããææ¥ãæ åœããŠããå çããåè¬çã«å¯ŸããŠè³ªåãããããã«ã©ã³ãã ã«äžäººãéžã³ããããšèããŠãããšããããããªãã¡ Step 1ã®ãå®çŸãããããšãã¯ãåè¬çã®äžãã1åãã©ã³ãã ã«éžã¶ã ã§ããã
ããŠããããå®çŸããããã«å¿ èŠãªæé ã¯ã©ããªãã ããããäŸãã°æ¬¡ã®ããã«èãããããããªãããã®æç¹ã§ã¯èª€ã£ãŠããŠãè¯ããåãæ¢ããå¯èœæ§ããããããªæé ãšããŠæŽçããŠã¿ãããšã«éäžãããã
- (1) åè¬çäžèЧãçšæã
- (2) äžèЧãã·ã£ããã«ããã
- (3) ã·ã£ããã«ãããäžèЧãããå é ã®äžäººãæãåºãã
ããã§ ãããåè¬çäžèЧã®çšæãã®ç¿»èš³ã®ä»æ¹ãåãããªãå Žåã«ã¯ããããããã«çްåå ããŠèããŠããããäŸãã°æ¬¡ã®ããã«ãªãã ããã
- (1-1) åè¬çã¯åŠçèšçªå·ã§åºå¥ãããŠãããã ããåŠç±çªå·ã§æºåããããšãèãããã
- (1-2) 2022幎床ã®ç¥èœæ å ±ã³ãŒã¹ã®åŠç±çªå·ã¯å¿ ã 2257 ããå§ãŸããäžäºæ¡ãå ¥åŠè æ°ãšäžèŽããŠãããããªãã¡ 225701ã2257xx ã®æ°åãçšæããããšãã§ããã°ããåè¬çäžèЧã®çšæããããããšã«ãªãã
æåŸã«ãããããã°ã©ãã³ã°èšèªã§ç¿»èš³ããããšã«ãªããäŸãã°ãããªãã ããã
students = list(range(225701, 225760))
import random
random.shuffule(students)
students.pop()äžèšã¯ãŸã æããŠããªãéšåãããããæµããšããŠã¯ãã®ããã«ãçè§£ããããšãæé ãšããŠæŽçããããã°ã©ãã³ã°èšèªã§èšè¿°ã§ããã¬ãã«ãŸã§çްååãããæåŸã«ã³ãŒãã«èœãšã蟌ã ãšããæé ãåãã
ããã°ã©ãã³ã°ã®éçšã«ãããŠãããæé ã«èª€ãããã£ããšãããã°ãã®æç¹ã§ä¿®æ£ãããè¯ããã翻蚳æç¹ã§èª€ãããã£ãå Žåã«ãåæ§ã«ãã®æç¹ã§ä¿®æ£ãããè¯ããæãã€ãæ¹æ³ã詊ããä¿®æ£ããªãããŽãŒã«ã«èŸ¿ãçãåãããéèŠã§ãããã ããããæ¬ææ¥ã§ã¯ãããããã¹ãã¯ãããæéã«ããšããæã€åœ¢ã§åãçµãããã課é¡ã§è©äŸ¡ããã
ããã°ã©ãã³ã°ã¯éå
·ã§ãããã³ã³ãã¥ãŒã¿ããããã°ã©ãã§ãäœã§ãïŒã¡ã¢ãªäžè¶³çã§ãªããã°ïŒå®çŸããããšãã§ããã倱æãæãã詊è¡é¯èª€ããè¡ãåŠãŒãã
:name: w2-summary
ãŸãšã
- 埩ç¿
- é©å®éå»è³æåã³æç§æžãåç §ãããã
- äºç¿
- æç§æžèªã¿
- 2.2 Branching Programs
- 2.3 Strings and Input
- äœè£ãããã°
- 2.4 Iteration
- (3ç« ã¹ããã)
- 4.1ã4.1.1 Function Definitions
- æç§æžèªã¿