ä»åããããªããžã§ã¯ãæåãã«ã€ããŠãè€æ°åã«ããã£ãŠåãæ±ããŸãããããŒã¿ããšãåŠçããå¥ã ã®ãã®ãšããŠæ±ã£ãŠããã®ãä»ãŸã§ã®æç¶ãåã®ããã°ã©ãã³ã°ã®ã¹ã¿ã€ã«ã§ãããç°¡åã«ãã£ãŠããŸããšãããããã²ãšã€ã®ãã®ãšããŠæ±ãã®ããªããžã§ã¯ãæåã®ããã°ã©ãã³ã°ã§ãã
ãªããžã§ã¯ãæåã®ææ³ããã¡ããšçè§£ããã«ã¯ã座åŠã ãã§ã¯ãªãçµéšãå¿ èŠã§ãã座åŠã§ãªããšãªãçè§£ããããšã¯å¯èœãããããŸãããã座åŠã§åŠãã ç¥èã§èªåã§ã³ãŒããæžãç¶ããŠãèšèšãééãããããããçŽããããã¯ããŸã座åŠãåã³ãã£ãŠã¿ããâŠâŠããããããšãç¹°ãè¿ããŠãããã¡ã«ããªããšãªãçè§£ã§ããããã«ãªãåŸåããããŸã(å°ãªããšãç§ãç¥ãéçºè ãã¡ãèŠãéãã¯)ã
ãŸããã²ãšãã«ãªããžã§ã¯ãæåãšãã£ãŠãã人ã«ãã£ãŠããŸããŸãªçްããè§£éããããè¥å¹²ãã€ããšããã€ã¡ãŒãžããããŸãããããã£ã现ããå²åŠçãªè©±ã¯æãã«ããŠããšãããããªããžã§ã¯ãæåã®6å²çšåºŠãŸã§çè§£ãããšããããšããæ¬é£èŒã®ç®æšã«ããŸãã
åŠç¿ã®æµã
è€æ°åã«ããã£ãŠãªããžã§ã¯ãæåã«ã€ããŠè§£èª¬ãããããã©ãããé åºã§åãæ±ãã®ããä»åŸã®æµãã説æããŸãã倿Žããå¯èœæ§ããããŸããããããŸãã«ä»¥äžã®é åºã§é²ããŠããäºå®ã§ãã
ãŸãååã§ä»¥äžãæ±ããŸãã
|
|---|
æåã«äœ¿ãæ¹ã説æããåŸã§ãæåŸã«ããªããã®ããã«ãªã£ãŠããã®ããã«ã€ããŠè§£èª¬ããŸãã
ãªããžã§ã¯ãæåã®åŸåã§ã¯ä»¥äžãæ±ããŸãã
|
|---|
æ£çŽãªãšãããåçŽè ãèªåã§åŸåã®å 容ã®èšèšãããããšã¯ã»ãšãã©ãããŸããããã ãå¥ã®äººãäœã£ãã©ã€ãã©ãªãªã©ãå©çšããéã«ããããã®ç¥èãå¿ èŠãšãªã£ãŠããããã䜿ããã¬ãã«ã«ãªãå¿ èŠããããŸãã
ãªããå»¶ã ãšãããã®èª¬æãããŠããŠãé¢çœããªããšæãã®ã§ãéäžã§ãªããžã§ã¯ãæåã䜿ã£ãŠç°¡åãªã²ãŒã ãGUIã®ã¢ããªã±ãŒã·ã§ã³ãäœã£ãŠã¿ãããšæããŸãã
æ§é äœ
ããªãåã®åã«ãªã£ãŠããŸãã®ã§ãããã¿ãã«ãšããåãæ±ã£ãããšãèŠããŠããŸãããã¿ãã«ã¯è€æ°ã®ããŒã¿ãã²ãšãŸãšãã«ããåã§ããã
ããšãã°ãããåºã§äŒå¡æ å ±ãæ±ãéã«ãååãçå¹Žææ¥ãäœæããæ å ±ãšããå Žåã以äžã®ããã«ã²ãšã€ã«ãŸãšããããã®ã§ããã
>>> a = ('taro','1986','tokyo')
>>> type(a)
<type 'tuple'>
ãã ãã¿ãã«ã¯ãããŸã§ãæ å ±ããŸãšããææ®µã§ãããäŒå¡æ å ±ãšããŠæ±ãã®ã¯ããã°ã©ããã¡ãããããããµãã«æ±ãããšããèªåã«ãŒã«ã§å®æœããŸãããã®ãããããšãã°ååãšçå¹Žææ¥ãéã«æ±ããšãã£ããåç §ããé åºãééãããã©ãã«ãçºçããããæ°ããå ¥äŒå¹Žææ¥ãªã©ã®æ å ±ãã¿ãã«ã«è¿œå ããéã«ã颿°åŒã³åºããæ»ãå€ã®åãåãã§äžæŽåãçºçãããããããšããããŸããã¿ãã«ã¯ç°¡åã«äœ¿ããäžæ¹ããã®ç°¡åãã«èµ·å ãããã©ãã«ã«æ³šæããªããã°ãªããŸããã
ãªããžã§ã¯ãæåã§ããã¯ã©ã¹ã®ããŒã¹ãšãªã£ããCèšèªã®æ§é äœãã¯ã¿ãã«ãšäŒŒãŠãããã®ã®ã以äžã®3ç¹ãç°ãªããŸãã
- æ§é äœã¯ã¿ãã«ã®ãããªæ±çšåã§ã¯ãªãå°çšã®åãäœã
- æ§é äœã¯é çªã§ã¯ãªãååã§ããŒã¿ãåç §
- æ§é äœã¯äžèº«ã®ããŒã¿ãæŽæ°å¯èœ
以äžã«ã¿ãã«ãšæ§é äœã®éããå³ã«ãŸãšããŸãã
å®éã«äž¡è ãæ¯ã¹ãŠã¿ãŸãã
ãŸãPythonã®ã¿ãã«ã§ãã
taro = ('taro', 1986,'tokyo')
print('1: {} {} {}'.format(taro[0], taro[1], taro[2]))
taro = (taro[0], 1990, taro[2])
print('2: {} {} {}'.format(taro[0], taro[1], taro[2]))
# 1: taro 1986 tokyo
# 2: taro 1990 tokyo
泚ç®ããŠã»ããã®ã¯ç¬èªã®åã䜿ãã®ã§ã¯ãªããã¿ãã«ãšããŠ()ã§ããã£ãããŒã¿çŸ€ãäœãããããäŒå¡æ å ±taroãšããŠããŸããå€ã®åãåºããé çªãæå®ããŠåç §ããŠããŸããåä»£å ¥ã¯ã§ããªããããæ°ããã¿ãã«ãäœããªããããšã§æŽæ°ããŠããŸãã
次ã«Cèšèªã®æ§é äœã§ãã
#include <stdio.h>
struct userInfo{
char name[100];
int birth;
char address[100];
};
int main(void){
struct userInfo taro = {"taro", 1986, "tokyo"};
printf("1: %s %d %s\n", taro.name, taro.birth, taro.address);
taro.birth = 1990;
printf("2: %s %d %s\n", taro.name, taro.birth, taro.address);
}
// 1: taro 1986 tokyo
// 2: taro 1990 tokyo
Cèšèªã®é£èŒã§ã¯ãªãã®ã§è©³çްã¯çããŸãããæ³šç®ããŠæ¬²ããã®ã¯struct userInfoãšããŠæ§é äœã§ãæ°ããåããå®çŸ©ããŠããããšã§ããããã§ã¯userInfoãååã§ãnameãbirthã¯ãã®æ§é äœãæã€ããŒã¿ã§ãããããŠå€æ°taroã¯ãuserInfoåã®ããŒã¿ãæ ŒçŽããŠããŸã(Cã«è©³ãã人ãèŠããšçªã£èŸŒã¿ã©ããã®ãã説æããšæããŸãããã容赊ãã ãã)ã
äžèšã®åã®å®çŸ©ã®åŸã¯ãæ®éã®intãªã©ã®åãšå€§ããªéãã¯ãããŸãããäž¡è ãæ¯ã¹ãŠã¿ããšããããããŸãã
å®çŸ©ããuserInfoåã®åæåã§ã¯ãã¿ãã«ãšèšå·ã¯éããã®ã®äŒŒãããã«ããŠ{}ã« æ§é äœã®èŠçŽ ãé ã«äžŠã¹ãŠããŸãããã ã倧ããç°ãªãã®ãåç §ãšä»£å ¥ã§ããäŸãèŠãŠããããšãããããã«ã倿°ã«ä»£å ¥ãããæ§é äœãæã€åããŒã¿ãžã®åç §ã¯ã倿°å.ããŒã¿åããšãªã£ãŠããŸããPythonã®ã¿ãã«ã§ã¯[0]ã[1]ãšãã£ãããã«äœçªç®ã®ããŒã¿ãæå®ããããšã§ã¢ã¯ã»ã¹ããŠããŸããããããã«æ¯ã¹ããšããããããã§ããã
ã¯ã©ã¹ãæ§é äœã®ããã«äœ¿ã
æ§é äœã䜿ãã«ã¯ãåã®å®çŸ©ããšãäœã£ãåã®ããŒã¿ãäœæããšãã2ã€ã®æé ãèžãã®ã§ãããããã«ãPythonã«ã¯æ§é äœã¯ãªãã®ã§ããã代ããã«æ§é äœãçºå±ããããã¯ã©ã¹ããšåŒã°ããæ©èœã䜿ãããšãã§ããŸããã¯ã©ã¹ã¯ç°¡åã«ãã£ãŠããŸããšãæ§é äœã«é¢æ°ããããããã®ããšãããã®ã§ãããè©³çŽ°ã¯æ¬¡å以éã«ãŸãããŠãä»åã¯ãšããããã¯ã©ã¹ãæ§é äœã®ããã«äœ¿ãæ¹æ³ã«ã€ããŠã話ããŸãã
ã¯ã©ã¹ã®å®çŸ©ããæ§é äœãšåãããã«ãã¯ã©ã¹ã®ååããšãã¯ã©ã¹ãæã€ããŒã¿ãã宣èšããŸããããã¯ã以äžã®ããã«ãªããŸãã
class UserInfo:
def __init__(self):
self.name = ''
self.birth = 0
self.address = ''
ã¯ã©ã¹ã¯æ§é äœããã髿©èœãªãããå°ãè€éã«ãªã£ãŠããŸãããclass UserInfoã§ã¯ã©ã¹åã宣èšãããã®ãªãã®é¢æ°ã®å®çŸ©ã®ãããªç®æã§nameãbirthãaddressãšãã倿°ãäœæããŠããŸããdef __init__ãselfããªããªã®ãã«ã€ããŠã¯ãããããæ¬¡åã«ã話ããŸãã®ã§ãä»åã¯ãšãããããããããã®ãªã®ã ãšæããŠãã ããã
æ§é äœã®ããã«ããŒã¿ãäœãããšãã§ããŸããããã®æ¹æ³ã¯ç°ãªã£ãŠããŸãã
taro = UserInfo()
print('1: {}, {}, {}'.format(taro.name, taro.birth, taro.address))
# 1: , 0,
äžèšã®ããã«ãã¯ã©ã¹å()ããšããããšã§ããã®ã¯ã©ã¹ããå®éã®ããŒã¿ãäœãããšãã§ããŸããäœãããããŒã¿ã確èªãããšãã¯ã©ã¹ã®å®çŸ©ã®äžã§æžãããåæå€ãåºåããŠããããšãããããŸããããªããã¯ã©ã¹ããäœæãããããŒã¿ããã€ã³ã¹ã¿ã³ã¹ããšåŒã³ãŸãã
ãã®ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠãæ§é äœãšåãããã«ååã䜿ãããšã§ãåããŒã¿ã«å¯ŸããŠã¢ã¯ã»ã¹ã§ããŸããã€ã³ã¹ã¿ã³ã¹ãæã€ããŒã¿ã®ããšããã€ã³ã¹ã¿ã³ã¹å€æ°ããšåŒã³ãŸããnameãbirthãaddressã¯ã€ã³ã¹ã¿ã³ã¹å€æ°ã§ããPythonã§ã¯ããŸãèããŸããããã€ã³ã¹ã¿ã³ã¹å€æ°ã¯ãã£ãŒã«ããšããåŒã°ãæ¹ãããŸãã
taro = UserInfo()
taro.name = 'taro'
taro.birth = 1986
taro.address = 'tokyo'
print('2: {}, {}, {}'.format(taro.name, taro.birth, taro.address))
# 2: taro, 1986, tokyo
print(type(UserInfo))
print(type(taro))
# <type 'classobj'>
# <type 'instance'>
ã€ã³ã¹ã¿ã³ã¹ãäœæããåŸã«ã€ã³ã¹ã¿ã³ã¹å€æ°ãã»ããããŠããã®ã§ã¯ãªããæ§é äœã®ããã«æåãã 'taro'ã1986ã'tokyo'ãªã©ãšããå€ãã€ã³ã¹ã¿ã³ã¹ã«ã»ãããããããšãå¯èœã§ãããã ãããå°ãã¯ã©ã¹ã«ã€ããŠçè§£ããå¿ èŠãããã®ã§ãããã«ã€ããŠããŸã次å以éã®è§£èª¬ãšãããŠãã ããã
ã¯ã©ã¹ãšã€ã³ã¹ã¿ã³ã¹ã®é¢ä¿
æ§é äœãšã¯ã©ã¹ã«ã€ããŠåŠãã§ããŸãããã仿¥ã®æ®µéã§èŠããŠãããŠãããããããšã¯ä»¥äžã®3ç¹ã ãã§ãã
- ã¯ã©ã¹ã¯é圢ã§èšèšå³ã®ãããªãã®
- ã€ã³ã¹ã¿ã³ã¹ã¯ã¯ã©ã¹ããäœãããå®äœ
- ã€ã³ã¹ã¿ã³ã¹ã«ã©ã®ãããªããŒã¿ãæããããã¯ã¯ã©ã¹ã§å®çŸ©ãã
äž¡è ã¯ã¡ããã©ãããçŒãã®åæ ãšããçŒãã®ãããªé¢ä¿ãããããŸãããããçŒãã¯ãã®æ åãšããèšèšå³ã«åŸã£ãŠéç£ãããŸããããã©ãããããçŒããçŒããããã«ãã£ãŠããã®ããšã«ãªããããçŒãã®åæ ããå€ãã£ãŠããŸãããã£ããåæ ããäœã£ãŠããŸãã°ãäœåã§ãå®äœãšããŠã®ããçŒããäœããŸãã
ã¯ã©ã¹ããããšåãã§ãã©ããããããªããŒã¿ãåŠçãæã¡ãããã«ãã£ãŠãã©ãããã¯ã©ã¹ãäœãããå€ãã£ãŠããŸãããããŠãã£ããã¯ã©ã¹ãäœã£ãŠããŸãã°ãã€ã³ã¹ã¿ã³ã¹ã¯å¥œããªã¿ã€ãã³ã°ã§å¥œããªæ°ã ãäœãããšãå¯èœã§ãã
äž¡è ã®é¢ä¿ã®ã€ã¡ãŒãžå³ã以äžã«èšèŒããŸãã
æŒç¿1
ã¿ãã«ã«æ¯ã¹ãŠæ§é äœãåªããŠããç¹ãè¿°ã¹ãŠãã ããã
æŒç¿2
以äžã®çšèªã«ã€ããŠèª¬æããŠãã ããã
- ã¯ã©ã¹
- ã€ã³ã¹ã¿ã³ã¹
- ã€ã³ã¹ã¿ã³ã¹å€æ°
èšäºã®æ¬æããæ¢ãã ãã§ã¯ãªããæ€çŽ¢ãããªã©ããŠãããããªæ å ±ãåŸãŠãããããã§ãã
æŒç¿3
çåŸã®æçžŸãä¿æããã¯ã©ã¹ãäœããŸãã以äžã®æ¡ä»¶ã§ã¯ã©ã¹ãäœæããŠãã ããã
- ã¯ã©ã¹å Score
- çåŸã®ååãä¿æããã€ã³ã¹ã¿ã³ã¹å€æ°nameãäœæ
- åœæ°è±ã®å€æ°ã§ããmath, english, japaneseãäœæ
æŒç¿4
æ°åŠmathã®æçžŸãäžçªè¯ãçåŸã®ååã衚瀺ããããã°ã©ã ãæžããŠãã ããããªãã以äžã«ãã¹ãçšã®ã³ãŒãããããŸãã®ã§ãå¿ èŠã§ããã°ã³ããããŠäœ¿ã£ãŠãã ããã
taro = Score()
taro.name = 'taro'
taro.math = 60
taro.english = 70
taro.japanese = 80
jiro = Score()
jiro.name = 'jiro'
jiro.math = 80
jiro.english = 70
jiro.japanese = 90
saburo = Score()
saburo.name = 'saburo'
saburo.math = 50
saburo.english = 30
saburo.japanese = 60
ãã³ã: ãªã¹ãããæå€§å€ãæ¢ãããã°ã©ã ã説æããããšããããŸããçåŸã®ãªã¹ããäœæããã°ãåãèŠé ã§åŠçã§ããã¯ãã§ãã
æŒç¿5(å¿ é ã§ã¯ãªã)
ãååä»ãã¿ãã«(namedtuple)ããšããåã䜿ããšãCã®æ§é äœã«è¿ãããšãã§ããŸããããã«ã€ããŠèª¿ã¹ãŠãæŒç¿3ïœ4ã®å 容ãååä»ãã¿ãã«ã§å®çŸããŠãã ããã
ä»åã¯ã¯ã©ã¹ãæ§é äœãšããŠå©çšããæ¹æ³ã«ã€ããŠåŠã³ãŸããããŸããã®éçšã§ãã¯ã©ã¹ãšã€ã³ã¹ã¿ã³ã¹ã®é¢ä¿ã«ã€ããŠãæ±ããŸãããæ¬¡åã¯ãã¯ã©ã¹ãšæ§é äœã®éãã«ã€ããŠè§£èª¬ããŸãã
å·çè
玹ä»äŒè€è£äž(ITO Yuichi)ã·ã¹ã³ã·ã¹ãã ãºã§ã®æ¥åãšå€§åŠã§ã®ç 究掻åã§ã³ã³ãã¥ãŒã¿ãããã¯ãŒã¯ã«6幎é¢ãããå°éã¯L2/L3 Switching ãšããŒã¿ã»ã³ã¿ãŒé¢é£æè¡ããã³SDNãTACãšããŠã·ã¹ã³é¡§å®¢ã®ãã¯ãã«ã«ãµããŒãæ¥åã«åŸäºã瀟å åãã®ãœãããŠã§ã¢é¢é£ã®ãã¬ãŒãã³ã°ããã³ããŒã¿ã»ã³ã¿ãšSDNé¢ä¿ã®å€éšè¬æŒãªã©ãè¡ãã ããšããšä»®æ³ãããã¯ãŒã¯é¢é£æè¡ã®ç ç©¶éçºã«åŸäºããŠããããšãããããããã¯ãŒã¯ã ãã§ãªãããã°ã©ãã³ã°ãLinuxé¢é£æè¡ã«ã粟éãCisco瀟å å€åãã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ããŒã«ã®éçºããè¶£å³ã§é³å£°åæåŠçã®ã¢ããªã±ãŒã·ã§ã³ããµãŒãã¹ãéçºã Cisco CCIE R&S, Red Hat Certified Engineer, Oracle Java Gold,2009幎床 IPA æªèžãããžã§ã¯ãæ¡æ 詳现(è±èª)ã¯ãã¡ã |
|---|


