#ç¼åç±»ä¹ä¸åç±» å ³äºç±»ï¼ç宿³å¿ å·²ç»æäºæè§ï¼çä¸é¢ç代ç ï¼è¯·ä»ç»é 读ï¼å¹¶ççæ¯å¦è½å¤åç°ç¹ä»ä¹é®é¢å¢ï¼ #!/usr/bin/env python #coding:utf-8 class Person: def __init__(self, name, lang, email): self.name = name self.lang = lang self.email = email def author(self): return self.name class Programmer: def __init__(self, name, lang, email, system, website): self.name = name self.lang = lang self.email = email self.system = system self.website = website def pythoner(self): pythoner_list = [ self.name, self.lang, self.email, self.system, self.website ] return pythoner_list if __name__=="__main__": writer = Person("qiwsir","Chinese","[email protected]") python = Programmer("qiwsir","Python","[email protected]","Ubutun","qiwsir.github.io") print "My name is:%s"%writer.author() print "I write program by:%s"%python.pythoner()[1] ä¸é¢è¿æ®µä»£ç ï¼è¿è¡èµ·æ¥æ²¡æä»ä¹é®é¢ï¼ä½æ¯ï¼ä»ç»çï¼åç°æä¸¤ä¸ªç±»ï¼ä¸ä¸ªååå«åPersonï¼å¦å¤ä¸ä¸ªå«åProgrammerï¼è¿è¿ä¸æ¯é®é¢æå¨ï¼é®é¢æå¨æ¯è¿ä¸¤ä¸ªç±»çæé 彿°ä¸ï¼åå¨è¿ç¸åçå°æ¹ï¼self.name=name,self.lang=lang,self.email=emailï¼è¿å¯¹äºè¿½æ±ä»£ç è´¨éçç¨åºåï¼ä¸è¬æ¯ä¸å 许çãæå¥½ä¸è¦æéå¤ä»£ç æè åä½ä»£ç ã坿¯ï¼å¨ä¸¤ä¸ªç±»ä¸é½è¦æè¿äºåæ°ï¼åºè¯¥æä¹åå¢ï¼ ##åç±»ãç¶ç±»åç»§æ¿ çä¸é¢ç代ç ï¼éé¢æä¸¤ä¸ªç±»Aï¼Bãè¿æ®µç¨åºè½å¤æ£ç¡®è¿è¡ï¼æ¯ä¸ªç±»çåè½æ¯ä» ä» æå°æå®çå 容ã #!/usr/bin/env python #coding:utf-8 class A: def __init__(self): print "aaa" class B: def __init__(self): print "bbb" if __name__=="__main__": a = A() b = B() #è¿è¡ç»æ aaa bbb ä¸é¢ç两个类彼æ¤ä¹é´æ²¡ææè°çç¶åå ³ç³»ãç°å¨ç¨å æ¹åï¼å°ç±»Bæ¹åï¼æ³¨æè§å¯ä¸ä¸é¢çå·®å¼ã #!/usr/bin/env python #coding:utf-8 class A: def __init__(self): print "aaa" class B(A): #è¿éåä¸é¢ç¨åºä¸åãBç»§æ¿äºA def __init__(self): print "bbb" if __name__=="__main__": a = A() b = B() #è¿è¡ç»æ aaa bbb è¿æ®µç¨åºä¸ï¼ç±»Bè·åé¢ç飿®µæä¸ç¹ä¸åï¼class B(A):,è¿æ ·å就表æäºBç¸å¯¹Açå ³ç³»ï¼Bæ¯Açåç±»ï¼Bä»Aç»§æ¿Açææä¸è¥¿ï¼åæ¿ç¶ä¸ï¼ã 使¯ï¼çå®åç°äºæ²¡æï¼è¿è¡ç»æä¸æ ·ãæ¯çï¼é£æ¯ä»¥ä¸ºå¨Bä¸å°½ç®¡ç»§æ¿äºAï¼ä½æ¯æ²¡æè°ç¨ä»»ä½Açä¸è¥¿ï¼å°±å¥½æ¯å¿åä»èç¸é£éç»§æ¿äºè´¢å¯ï¼ä½æ¯å¿åä¸ä¸ªå乿²¡å¨ï¼å¤ççå°çåæ²¡æç»§æ¿ä¸æ ·ã #!/usr/bin/env python #coding:utf-8 class A: def __init__(self): print "aaa" class B(A): def __init__(self): #print "bbb" A.__init__(self) #è¿è¡ç»§æ¿çç¶ç±» if __name__=="__main__": a = A() b = B() #è¿è¡ç»æ aaa aaa è¿åè¿è¡ç»ææäºååï¼æ¬æ¥b=B()æ¯è¿è¡ç±»Bï¼ä½æ¯Bç»§æ¿äºAï¼å¹¶ä¸å¨åå§åçæé 彿°ä¸ï¼å¼å ¥Açæé 彿°ï¼æä»¥ï¼å°±è¿è¡Açç»æç¸åºç»æäºã ä¸é¢ææå¼å¤´çé£ç«¯ç¨åºç¨å类继æ¿çæ¹å¼éåï¼å¯ä»¥æ¯è¿æ ·çï¼ #!/usr/bin/env python #coding:utf-8 class Person: def __init__(self, name, lang, email): self.name = name self.lang = lang self.email = email def author(self): return self.name """ class Programmer: def __init__(self, name, lang, email, system, website): self.name = name self.lang = lang self.email = email self.system = system self.website = website def pythoner(self): pythoner_list = [ self.name, self.lang, self.email, self.system, self.website ] return pythoner_list """ class Programmer(Person): #ç»§æ¿ç¶ç±»Person def __init__(self, name, lang, email, system, website): Person.__init__(self,name,lang,email) #å°Person.__init__()çåè½ç»§æ¿å°è¿é #self.name = name #è¿ä¸å¥æ¯Personä¸å·²ç»æå®çï¼å°±ä¸ç¨éå¤ #self.lang = lang #éè¿ç»§æ¿å·²ç»å®ç°äºè¿ä¸å¥çåè½ #self.email = email self.system = system #åç±»ä¸ä¸åäºPersonç¶ç±»é¨å self.website = website def pythoner(self): pythoner_list = [ self.name, self.lang, self.email, self.system, self.website ] return pythoner_list if __name__=="__main__": writer = Person("qiwsir","Chinese","[email protected]") python = Programmer("qiwsir","Python","[email protected]","Ubutun","qiwsir.github.io") print "My name is:%s"%writer.author() print "I write program by:%s"%python.pythoner()[1] 代ç è¿è¡ç»æä¸åé¢ä¸æ ·ã å使¯å¦çè§£äºåç±»åç¶ç±»ãç»§æ¿çç¹ç¹ãå¦æä½ æä¸ä¸ªèç¹ï¼æ¯ä¸ä¸ªé«å®æè å¯è±ªï¼é£ä¹ä½ å°±å®äºä»£æè å¯äºä»£äºï¼ä½ å°±ä»ä»ä»¬é£éç»§æ¿äºå¾å¤è´¢å¯ï¼æä»¥ç活就ä¸ç¨å¤ªå³ç´¯äºãè¿å°±æ¯ç»§æ¿çä½ç¨ãå¨ä»£ç ä¸ï¼ä¹ç±»ä¼¼ï¼ç»§æ¿è½å¤è®©å代ç çå°å³ç´¯ä¸äºã éè¦æä¾æ³¨æçæ¯ï¼å¨åç±»ä¸ï¼å¦æè¦ç»§æ¿ç¶ç±»ï¼å¿ é¡»ç¨æ¾æçæ¹å¼å°æç»§æ¿çç¶ç±»æ¹æ³ååºæ¥ï¼ä¾å¦ä¸é¢çPerson.__init__(self,name,lang,email)ï¼å¿ é¡»è¿æ ·åï¼æè½ç®æ¯å¨åç±»ä¸è¿è¡äºç»§æ¿ã妿ä¸åä¸ï¼æ¯æ²¡æç»§æ¿çãç¨ç¼ç¨æ±æ¹çé»è¯ï¼æ¯è¾æé å°ç§°ä¸ºâè¡è¯âï¼è¯´å°±æ¯âæ¾å¼è°ç¨ç¶ç±»æ¹æ³âã 对äºä¸ºä»ä¹è¦ç¨ç»§æ¿ï¼å¥½å@令çè« å¤§ä¾ ç»äºä»¥é常精彩çè§£éï¼ >仿æ¯ä¸è¯´ï¼OOPéï¼ç»§æ¿æä¸»è¦çç¨éæ¯å®ç°å¤ æã对äºå¤æèè¨ï¼éè¦çæ¯æ¥å£ç»§æ¿æ§ï¼å±æ§åè¡ä¸ºæ¯å¦åå¨ç»§æ¿æ§ï¼è¿æ¯ä¸ä¸å®çãäºå®ä¸ï¼å¤§éå·¥ç¨å®è·µè¡¨æï¼é度çè¡ä¸ºç»§æ¿ä¼å¯¼è´ç³»ç»è¿åº¦å¤æåèè¿ï¼ åèä¼éä½çµæ´»æ§ãå æ¤ç°å¨æ¯è¾æå¡çæ¯åºäºæ¥å£ç轻度继æ¿ç念ãè¿ç§æ¨¡åéå 为ç¶ç±»ï¼æ¥å£ç±»ï¼å®å ¨æ²¡æä»£ç ï¼å æ¤æ ¹æ¬è°ä¸ä¸ä»ä¹ä»£ç å¤ç¨äºã >å¨Pythonéï¼å 为åå¨Duck Typeï¼æ¥å£å®ä¹çéè¦æ§å¤§å¤§çéä½ï¼ç»§æ¿çä½ç¨ä¹è¿ä¸æ¥ç被åå¼±äºã >å¦å¤ï¼ä»é»è¾ä¸è¯´ï¼ç»§æ¿çç®çä¹ä¸æ¯ä¸ºäºå¤ç¨ä»£ç ï¼èæ¯ä¸ºäºçé¡ºå ³ç³»ã æè¡¨ç¤ºå®å ¨èµåä¸è¿°è§£éãä¸è¿çå®å¦æä¸çè§£ï¼ä¹æ²¡æå ³ç³»ï¼ä¸è¿°è§£éä¸çç²¾ç¥ï¼çç¡®éè¦å¨ç¼ç¨å®è·µä¸æææè½é¢ä¼å°çã