Pythonã§ã³ãŒããæžããŠããŠããåã颿°ãåŒã³åºããã³ã«åãåŒæ°ãæž¡ãã®ãé¢åããæ°ã¥ãããéãåã®å€ãæž¡ããŠããŸã£ãŠãã°ã®åå ã«ãªã£ãããšæããããšã¯ãããŸãããïŒ
ãããªæ©ã¿ãäžæ°ã«è§£æ±ºããŠãããã®ããããã©ã«ãåŒæ°ãšã¿ã€ãã¢ãããŒã·ã§ã³ïŒåãã³ãïŒã®2ã€ã®æ©èœã§ãããããã䜿ãããªãããšã颿°ã¯ã䟿å©ã§èªã¿ãããããã°ãæªç¶ã«é²ããããã®ã«é²åããŸãâšã仿¥åŠã¹ã°ãææ¥ããã®ã³ãŒããã¬ã©ããšå€ãããŸããã
Pythonã®é¢æ°ã®åŒæ°ã«ã¯ããã©ã«ãå€ãèšå®ã§ããŸãããããèšå®ããŠãããšãåŒã³åºãåŽã§ãã®åŒæ°ãçç¥ããŠãèªåã§ããã©ã«ãå€ã䜿ãããŸãã
颿°å®çŸ©ã®åŒæ°ã®åŸãã« =ããã©ã«ãå€ ãæžãã ãã§OKã§ããäŸãã°ãåååäŸ¡ãšæ°éããåèšéé¡ãèšç®ãã颿°ãèããŠã¿ãŸãããã
def total_price_one_item(unit_price, quantity=1):
    return unit_price * quantity
ãã®ããã« quantity=1 ãšããŠããã°ãtotal_price_one_item(120) ã®ããã«æ°éãæž¡ããã«åŒã³åºããŠããèªåçã« quantity ã1ãšããŠèšç®ãããŸãããã¡ãã total_price_one_item(120, 3) ãšæ°éãæå®ããã°ããã®å€ãåªå
ãããŸãã
ããã©ã«ãå€ãèšå®ãããšãã®å€§äºãªã«ãŒã«ããããŸãã
def func(quantity=1, unit_price) ã®ããã«æžããšãå®çŸ©æã«ãšã©ãŒã«ãªããŸããåŒã³åºãåŽã§ åŒæ°å=å€ ã®åœ¢åŒïŒããŒã¯ãŒãåŒæ°ïŒã䜿ãã°ãåŒæ°ã®é åºãæ°ã«ããæå®ã§ããŸãã
total_price_one_item(quantity=2, unit_price=130)
ãã®ããã«æžãã°é çªãéã§ãOKãã³ãŒãã®å¯èªæ§ããã£ãšäžãããŸãð¡
ã¿ã€ãã¢ãããŒã·ã§ã³ïŒtype annotationïŒã¯ã颿°ã®åŒæ°ãæ»ãå€ã«ãåããæç€ºããä»çµã¿ã§ãããåãã³ãïŒtype hintïŒããšãåŒã°ããæåéãããã®åŒæ°ã«ã¯ãã®åãæž¡ããŠãããšããæ³šéã»èª¬æãã³ãŒãã«æžã蟌ããŸãð
åŒæ°åã®åŸãã« : ååãæ»ãå€ã¯ -> ã®åŸã«ååãæžããŸãã
def total_price_one_item(unit_price: int, quantity: int = 1) -> int:
    return unit_price * quantity
ããã§ãunit_price ã quantity ãæŽæ°ïŒintïŒãæ»ãå€ãæŽæ°ããšããããšãäžç®ã§ããããŸããããã©ã«ãå€ã䜵çšå¯èœã§ãã
intstrfloatlist[int]ïŒäžèº«ã®åãæå®å¯ïŒdictsetNoneãããã¿ã€ãã¢ãããŒã·ã§ã³ã®ãã€ã³ãã§ããå®ã¯åãééããŠãPythonã¯å®è¡æãšã©ãŒã«ããŸããããããŸã§ã泚éã»ææè¡šç€ºãã ããã§ãã
äŸãã° quantity: int ãªã®ã« "3"ïŒæååïŒãæž¡ããšãPythonã®ä»æ§ã§ãæååÃæŽæ°ïŒæååã®ç¹°ãè¿ãããèµ·ããã"130" * 3 = "130130130" ã®ãããªæå³ããªãçµæãè¿ã£ãŠããŠããŸããŸãð±
PyCharmãVS Codeãªã©ã®ã¢ãã³ãªãšãã£ã¿ã¯ãã¿ã€ãã¢ãããŒã·ã§ã³ãèªã¿åã£ãŠãåãéããããšèŠåããŠãããŸããããã«ãããå®è¡ããåã«ãã°ã®èœãæããã®ãæå€§ã®ã¡ãªããã§ããåãã³ãã¯ãèªåãšæªæ¥ã®èªåã»ããŒã ã¡ã³ããŒãžã®ããã¥ã¡ã³ãããšããŠæ©èœããããã§ãð
äŸãã°åèšéé¡ãã1,300åãã®ãããªã«ã³ãåºåãã®æååã§è¿ãããå Žåã¯ãæ»ãå€ã®åã str ã«ããŸãã
def total_price_one_item(unit_price: int, quantity: int = 1) -> str:
    total = unit_price * quantity
    return f"{total:,}å"
åŒã³åºãã人ã¯ãããæ»ãå€ã¯æååãªãã ãªããšäžç®ã§çè§£ã§ãã誀ã£ãŠæ°å€æŒç®ããããšããŠè©°ãŸãâŠãªããŠãã¹ãé²ããŸãã
ããã©ã«ãåŒæ°ãåãã³ãã®ãããªãç¥ã£ãŠããã ãã§ã³ãŒãå質ãã°ã³ãšäžããç¥èãã¯ãäœç³»çã«åŠã¶ãšäžæ°ã«èº«ã«ã€ããŸããåŠç¿å¹çãäžããŠãããæžç±ãšç°å¢ã¢ã€ãã ãããã¯ã¢ããããŸããð¯
åãã³ããããã©ã«ãåŒæ°ãå«ããPythonã®ããã¹ããã©ã¯ãã£ã¹ãã90é ç®ã«ãŸãšããããåèãäžçŽè ãžã®ã¹ãããã¢ããã«å¿ èªã®1åã§ãã
Pythonã®åºæ¬æ§æãã颿°ãåãŸã§ç¶²çŸ ãæ°ã«ãªã£ãææ³ããã³ãã€ã³ãã§èª¿ã¹ãããšãã«é Œããå®çªã§ãã
åãã³ãã䜿ã£ãŠå ç¢ãªPythonã³ãŒããæžãæ¹æ³ã培åºè§£èª¬ãå®åã§Pythonãæžãæ¹ã«ã¯ç¹ã«ããããã§ãã
é·æéã¿ã€ãã³ã°ããŠãç²ãã«ããããŒããŒãã¯ãã³ãŒãã£ã³ã°åŠç¿ã®ç¶ç¶åããã£ããæ¯ããŠãããŸãã
ã³ãŒãã»å ¬åŒããã¥ã¡ã³ãã»å®è¡çµæã䞊ã¹ãŠèŠããããã¥ã¢ã«ãã£ã¹ãã¬ã€ç°å¢ã¯ãPythonåŠç¿ã®çç£æ§ãäžæ°ã«äžããŠãããŸãã
A. ã»ãŒåœ±é¿ãããŸãããåãã³ãã¯å®è¡æã«ã¯åºæ¬çã«ã泚éããšããŠæ±ãããã ãã§ãå®éã®èšç®ããžãã¯ã«ã¯é¢äžããªããããããã©ãŒãã³ã¹ãæ°ã«ããå¿ èŠã¯ãããŸããã
A. 倧ãã«ãããŸãããšãã£ã¿ã®èŠåã mypy ãªã©ã®éçåãã§ãã«ãŒããå®è¡åã«åã®äžäžèŽãæããŠãããŸããããŒã éçºãå€§èŠæš¡ã³ãŒãã§ã¯ãããã¥ã¡ã³ããšããŠã®äŸ¡å€ãéåžžã«å€§ããã§ãã
A. 泚æãå¿
èŠã§ããdef func(items=[]) ã®ããã«ãã¥ãŒã¿ãã«ïŒå€æŽå¯èœïŒãªå€ãããã©ã«ãã«ãããšãåŒã³åºãéã§åããªããžã§ã¯ããå
±æãããŠããŸããæãã¬ãã°ã®åå ã«ãªããŸãã代ããã« def func(items=None) ãšããŠã颿°å
ã§ items = items or [] ãšããã®ãå®çªã§ãã
A. ã¯ããåæã«æžããŸããquantity: int = 1 ã®ããã« ãåŒæ°å: å = ããã©ã«ãå€ã ã®é ã§æžãã®ãæšæºçãªã¹ã¿ã€ã«ã§ãã
A. 颿°ã®åãã³ãã¯Python 3.0以éã§å©çšã§ããŸãããæžãæ¹ã¯åŸã
ã«é²åããŠããŸããäŸãã° list[int] ã®ãããªæžãæ¹ã¯Python 3.9以éã§æšæºãµããŒãããããããå€ãããŒãžã§ã³ã§ã¯ typing.List[int] ã䜿ããªã©ã®é
æ
®ãå¿
èŠã§ãã
ããã©ã«ãåŒæ°ã¯ã䟿å©ããããã¿ã€ãã¢ãããŒã·ã§ã³ã¯ãå®å šæ§ãšå¯èªæ§ããããããã颿°ã«ãããããŠãããŸããã©ã¡ããé£ããæ§æã§ã¯ãªãã®ã«ã广ã¯çµ¶å€§ã§ãâš
仿¥ããããªãã®æžã颿°ã« : int ã -> strããã㊠quantity=1 ã®ãããªããã©ã«ãå€ãæ·»ããŠã¿ãŠãã ããããèªã¿ããããã䜿ãããããããã°ãã«ãããã³ãŒããåœããåã«ãªããã¬ãã¥ãŒã§ãäžç®çœ®ãããååšã«ãªããã¯ãã§ãð
ð ãåãã³ãŒãããããèœã¡ãª…
ð Pythonã®ãå¶åŸ¡æ§æã…
ð ãæååãèªåšã«æãã人ã…
ð ãèªã¿ãããã³ãŒããã¯å€æ°…
ð ããã°ã©ãã³ã°ã®ãã¹ãŠã¯ã…
ð ãæååã«å€æ°ãå ¥ãããã…