Pythonã®åŠç¿ãé²ããŠãããšãããæ¥ããªããã¶ã€ããã®ãã¯ã©ã¹ïŒclassïŒãšããå£ããèšèšå³ã¿ãããªãã®ããšèª¬æãããŠããã³ãšæ¥ããselfã__init__ã®æå³ãææ§ãªãŸãŸãªããšãªãæžããŠãã人ã¯å€ãã¯ãð
ã§ãããããä¹ãè¶ããç¬éã«Pythonã®äžç芳ã¯ã¬ã©ããšå€ãããŸããããŒã¿ãšåŠçãã²ãšãŸãšãã«ããŠæ±ããããã«ãªããã³ãŒãã®åå©çšæ§ãäžæ°ã«åäžããããŠèªåã§ããããããã¯ã©ã¹ã«ããæ¹ããããã ãªããšèªç¶ã«å€æã§ããããã«ãªããæžãã³ãŒãããã£ãšãå®åã£ãœãããªã£ãŠãããŸãâš
ã¯ã©ã¹ãçè§£ããäžçªã®è¿éã¯ãããçŒãã®åãšãã§ããããããçŒãã®ã€ã¡ãŒãžã§ããã¯ã©ã¹ããåãããã®åããäœãããäžåäžåã®ããçŒããããªããžã§ã¯ãïŒã€ã³ã¹ã¿ã³ã¹ïŒããåãåããäœã£ãŠããäžã®ãããïŒããŒã¿ïŒã¯ããããéãããšããã®ããã€ã³ãã§ãð
äŸãšããŠã3人ã®èº«é·ã»äœéã»BMIã衚瀺ããããã°ã©ã ãèããŠã¿ãŸãããã
3人ã¶ãã®æ°åã颿°ãšãã ã®å€æ°ã ãã§ç®¡çããããšãããšã倿°åãã©ãã©ãå¢ããŠãã¡ããã¡ãã«ã20人ã«ãªã£ããèª°ã®æ°åããã远ããŸããðŠ
ããã§ç»å Žããã®ãã¯ã©ã¹ãã身é·ãšäœéãæã£ãŠããŠãBMIãèšç®ã§ãã人ããšããå ±éã®èšèšå³ã1ã€äœã£ãŠããã°ã人æ°ãå¢ããŠãã€ã³ã¹ã¿ã³ã¹ãå¢ããã ãã§æžã¿ãŸããããããã®ã€ã³ã¹ã¿ã³ã¹ã¯èªåã®èº«é·ã»äœéãæã¡ãèªåã®ã¡ãœããã§èªåã®BMIãèšç®ããŠãããããšããã€ã¡ãŒãžã§ãð¯
ã¯ã©ã¹ã¯ãããªåœ¢ã§å®çŸ©ããŸãã
class BodyCondition:
  def __init__(self, weight, height):
    self.weight = weight
    self.height = height  def bmi_calc(self):
    m = self.height / 100
    bmi = self.weight / (m * m)
    print(bmi)
ããã ãã§ã身é·ãšäœéãæã¡BMIãèšç®ã§ããã人ãã®åã宿ã§ããé çªã«åè§£ããŠãããŸãããð
ã¯ã©ã¹å
ã®ã¡ãœããã®ç¬¬äžåŒæ°ã«ã¯å¿
ãselfãæžããŸããããã¯ãã¡ãœãããåŒã³åºããèªåèªèº«ã®ã€ã³ã¹ã¿ã³ã¹ããèªåã§æž¡ãããå Žæãself.weightãšæžãã°ããã®ã€ã³ã¹ã¿ã³ã¹ã®äœéããself.heightã¯ããã®ã€ã³ã¹ã¿ã³ã¹ã®èº«é·ããæå³ããŸãã
ãèªåã®äžèº«ãæ±ããšãã®åèšèãselfããšèŠããŠããã°ãæåã®ãã¡ã¯ååã§ãð
__init__ïŒã¢ã³ããŒã¹ã³ã¢2ã€ã§å²ãŸããç¹å¥ãªã¡ãœããïŒã¯ã€ãã·ã£ã©ã€ã¶ãšåŒã°ããã€ã³ã¹ã¿ã³ã¹ãäœæããããã®ç¬éã«1åã ãèªåã§åŒã°ããŸããã³ã³ã¹ãã©ã¯ã¿ãšãåŒã°ãããããã°ã€ã³ã¹ã¿ã³ã¹ã®ãèªçæã®åæèšå®ãæ
åœã§ãð
ããã§self.weight = weightã®ããã«æžããšãå€ããæž¡ãããå€ãããã®ã€ã³ã¹ã¿ã³ã¹å°çšã®ããŒã¿ããšããŠä¿åã§ããŸãããããã€ã³ã¹ã¿ã³ã¹å€æ°ã®æ£äœã§ãã
ã¯ã©ã¹ãæã£ãŠããããŒã¿ã¯å€§ãã2çš®é¡ãããŸãã
self.倿°åã§æ±ãselfãä»ããªããã®ã€ã³ã¹ã¿ã³ã¹å€æ°ãšã¯ã©ã¹å€æ°ããŸãšããŠå±æ§ãšåŒã³ãŸãããåå¥ããŒã¿ã¯selfä»ããå ±éããŒã¿ã¯selfç¡ãããšèŠããŠãããšæ··ä¹±ããŸããð§
ã¯ã©ã¹ã¯èšèšå³ãªã®ã§ãæžããã ãã§ã¯äœãèµ·ãããŸãããå®éã«åããã«ã¯ã€ã³ã¹ã¿ã³ã¹ãçæããå¿ èŠããããŸãã
bc = BodyCondition(50, 150) # â ããã§ __init__ ãåŒã°ãã
print(bc.weight) # 50
print(bc.height) # 150
bc.bmi_calc() # 22.22... ã衚瀺ããã
ãã€ã³ãã¯2ã€ã1ã€ç®ã¯ã€ã³ã¹ã¿ã³ã¹çææã«æž¡ããåŒæ°ã__init__ã®weightãšheightã«å¯Ÿå¿ããŠããããšã2ã€ç®ã¯ã€ã³ã¹ã¿ã³ã¹å€æ°ã«ã¯ã€ã³ã¹ã¿ã³ã¹å.倿°åã§ã¢ã¯ã»ã¹ã§ããããšãã¡ãœãããåŒã¶ãšããbc.bmi_calc()ã®ããã«æžãã°OKã§ãâ
ãã®BodyConditionã¯ã©ã¹ãããAããBããCãããšå¥ã ã®ã€ã³ã¹ã¿ã³ã¹ãäœãã°ããããããèªåã®æ°å€ãä¿æããèªåå°çšã®BMIãèšç®ããŠãããŸããã³ãŒãã®èŠéããäžæ°ã«ã¹ãããªããŸããð
ã颿°ã ãã§ãæžãããããããšæãããããããŸããããã¯ã©ã¹ã«ã¯ãããªã¡ãªããããããŸãã
ã¯ã©ã¹ã®æŠå¿µã¯ãåç»ïŒæžç±ïŒæãåããç°å¢ã®äžæ¬æ±ã§åŠã¶ãšé©ãã»ã©æ©ãå®çããŸããæå ã«è¯è³ªãªææãšå¿«é©ãªéå ·ããããã©ããã§ãç¿åŸã¹ããŒãã¯ãŸãã§å€ãã£ãŠããŸãð
ã¯ã©ã¹ã®ãæ°æã¡ãããããå³è§£è±å¯ãªå®çªæžãèšèšå³ãšå®äœã®ã€ã¡ãŒãžãäžå¯§ã«ç©ã¿äžããŠãããã®ã§ãç¬åŠã§ãè¿·åã«ãªããŸããã
ã¯ã©ã¹ã®åºæ¬ãããã£ãããæ¬¡ã¯ãPythonãããã¯ã©ã¹èšèšããžã__init__以å€ã®ç¹æ®ã¡ãœããããããŒã¿ã¯ã©ã¹ã»ç¶æ¿ã®èãæ¹ãŸã§äœç³»çã«åŠã¹ãŸãã
èšèªãåãããªããžã§ã¯ãæåã®çºæ³ãçè§£ããŠãããšãPythonã®ã¯ã©ã¹ãããã«è ¹èœã¡ããŸããèšèšã®åŒãåºããå¢ãããã人ã«ã
å·Šã«ææãå³ã«ãšãã£ã¿ããã®é 眮ã¯åŠç¿å¹çãäœæ2åã«ããŠãããŸããã¯ã©ã¹ã®æåãå®éšããªããåŠã¶çšéãšãçžæ§æçŸ€ã§ãã
ã¯ã©ã¹ã¯æžããŠèŠãããéåãæéµæã®è¯ãããŒããŒãã«å€ãããšãã³ãŒããæžãããšèªäœã楜ãããªããèªç¶ãšç·Žç¿éãå¢ããŠãããŸãð¹
ç®å®ã¯ãããŒã¿ãšããããæäœããåŠçãã»ããã§äœåºŠãç»å ŽãããïŒãã§ããããšãã°ããŠãŒã¶ãŒããšã«ååã»å¹Žéœ¢ã»ã¡ãœãããå¿ èŠããååããšã«äŸ¡æ Œã»çšèšç®ãå¿ èŠããªã©ãåãæ§é ã®ããŒã¿ãè€æ°çŸãããšããã¯ã©ã¹ã®åºçªã§ãã1床ãã䜿ããªããªã颿°ã§ååã§ãã
ã¯ããã¡ãœããã®ç¬¬äžåŒæ°ãšããŠselfãæžãã®ã¯Pythonã®æ±ºãŸãããšã§ããæžããªããšãã¡ãœããã®äžããèªåã®ããŒã¿ã«ã¢ã¯ã»ã¹ããææ®µãããªããªããŸããååã¯æ
£ç¿ã§selfã§ãããæè¡çã«ã¯ä»ã®ååã§ãåããŸãïŒèªã¿ã¥ãããªãã®ã§æšå¥šããŸããïŒã
æžããªããŠãã¯ã©ã¹ã¯åããŸããããã®å Žåã€ã³ã¹ã¿ã³ã¹ã¯ã空ã£ãœã®ç¶æ
ãã§çãŸããŸããããšããbc.weight = 50ã®ããã«å±æ§ã远å ããããšã¯ã§ããŸãããåæå€ãå¿
èŠãªã¯ã©ã¹ã§ã¯__init__ãæžãã®ãã»ãŒå¿
é ã§ãã
ã人ããšã«éãå€ãã¯ã€ã³ã¹ã¿ã³ã¹å€æ°ïŒäŸïŒäœéã»èº«é·ïŒããå šå¡ã§å ±éã®å€ãã¯ã¯ã©ã¹å€æ°ïŒäŸïŒäœéåäœã¯"kg"ïŒãšèŠãããšã¹ãããªããŸããã¯ã©ã¹å€æ°ããã£ããæžãæãããšå šã€ã³ã¹ã¿ã³ã¹ã«åœ±é¿ããã®ã§ã倿Žãå¿ èŠãªãã®ã¯ååã€ã³ã¹ã¿ã³ã¹å€æ°ã«ããŸãããã
åºæ¬ã®ã¯ã©ã¹ã«æ £ããããç¶æ¿ïŒæ¢åã¯ã©ã¹ãæ¡åŒµããä»çµã¿ïŒãããŒã¿ã¯ã©ã¹ïŒ@dataclassã§ãã€ã©ãŒãã¬ãŒããåæžïŒãç¹æ®ã¡ãœããïŒ__str__ã__eq__ãªã©ïŒãžé²ãã®ãããããã§ããããããèŠãããšãèªåã®ã³ãŒããäžæ°ã«PythonãããæŽç·ŽãããŸãã
ã¯ã©ã¹ã¯ãããŒã¿ïŒåŠçãã1ã€ã«ãŸãšãããããã°ã©ãã³ã°ã«ãããæåŒ·ã®æŽçè¡ã§ããæåã¯selfã__init__ã«æžæããããããŸããããBMIèšç®ã®ãããªå°ããªäŸã§äœåºŠãæãåãããã¡ã«ãå¿
ããããããããããšãïŒããšè
ã«èœã¡ãç¬éãæ¥ãŸãð¡
ãããè¶ ãããšã颿°ã®éãŸãã ã£ãã³ãŒããæ¥ã«æŽçããã¯ããããã¡ã€ã«ãéãããšãã®èŠéãããŸãã§éã£ãŠããŸããè¯è³ªãªæžç±ãšå¿«é©ãªäœæ¥ç°å¢ã峿¹ã«ã€ããŠãèšèšå³ãæããåŽã®ãšã³ãžãã¢ãžäžæ©èžã¿åºããŠãããŸãããð
ð ãåãã³ãŒãããããèœã¡ãª…
ð Pythonã®ãå¶åŸ¡æ§æã…
ð ãæååãèªåšã«æãã人ã…
ð ãèªã¿ãããã³ãŒããã¯å€æ°…
ð ããã°ã©ãã³ã°ã®ãã¹ãŠã¯ã…
ð ãæååã«å€æ°ãå ¥ãããã…