| ²é¿´: 771 | »Ø¸´: 3 | |||
| µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû | |||
tuburfransth½ð³æ (ÕýʽдÊÖ)
|
[ÇóÖú]
Python¶àÖØ¼Ì³ÐÔõô³õʼ»¯£¿
|
||
|
´úÂëÈçÏ£º class A(object): def __init__(self, a): print('__init__ A', str(a)) self.A = a class B(A): def __init__(self, a, b): super(B, self).__init__(a) print('__init__ B', str(b)) self.B = b class C(A): def __init__(self, a, c): super(C, self).__init__(a) print('__init__ C', str(c)) self.C = c class D(B, C): def __init__(self, a, b, c, d): B.__init__(self, a, b) # ÕâÐм°ÏÂÐдúÂëÓÐÎÊÌâ£¬Ã²ËÆ¶Ô»ùÀàA½øÐÐÁËÁ½´Î³õʼ»¯ C.__init__(self, a, c) print('__init__ D', str(d)) self.D = d shanghe = D('x', 'y', 'z', 'k') ------------------------------------------------------------------------------------------------------------------- Traceback (most recent call last): File "test.py", line 25, in <module> shanghe = D('x', 'y', 'z', 'k') File "test.py", line 20, in __init__ B.__init__(self, a, b) File "test.py", line 8, in __init__ super(B, self).__init__(a) TypeError: __init__() missing 1 required positional argument: 'c' ----------------------------------------------------------------------------------------------------------- ˵Ã÷£ºAÊÇ»ùÀ࣬BºÍC¶¼¼Ì³ÐA£¬¶øDͬʱ¼Ì³ÐBºÍC£¬ÎÊÌâ³öÔÚ×¢ÊÍÄÇÒ»Ðм°ÏÂÒ»ÐУ¬ÕâÁ½Ðгõʼ»¯´úÂëÓ¦¸ÃÔõôд£¿ »¹ÓÐÒ»¸öÎÊÌâ¾ÍÊÇ£ºBºÍC¶¼¼Ì³ÐÁËA£¬ÄÇô¼ÙÈçAÖÐÓÐÒ»¸öº¯ÊýÃûΪgetname()£¬class D(B, C):»áµ¼ÖÂgetname()º¯Êý±»¸²¸ÇÒ»´ÎÂð£¿Ò²¾ÍÊÇ˵ÓÉÓÚBºÍC¶¼¼Ì³ÐÁËAÖеÄgetname()º¯Êý£¬µ¼ÖÂÓÐÒ»¸ö±»¸²¸ÇÁË£¬ÊDz»ÊÇÕâÑù£¿ |
» ²ÂÄãϲ»¶
ÇóÖúµ÷¼Á£¬¿çµ÷
ÒѾÓÐ16È˻ظ´
»¯¹¤Ñ§Ë¶294·Ö£¬Çóµ¼Ê¦ÊÕÁô
ÒѾÓÐ30È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ10È˻ظ´
¿¼ÑÐÇóµ÷¼Á
ÒѾÓÐ13È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
È˹¤ÖÇÄÜ320µ÷¼Á08¹¤À໹Óлú»áÂð
ÒѾÓÐ17È˻ظ´
¿¼ÑÐÓ¢Ò»ÊýÒ»338·Ö
ÒѾÓÐ10È˻ظ´
085600²ÄÁÏÓ뻯¹¤329·ÖÇóµ÷¼Á
ÒѾÓÐ20È˻ظ´
085600²ÄÁÏÓ뻯¹¤349·ÖÇóµ÷¼Á
ÒѾÓÐ15È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ13È˻ظ´
baichi121234
½û³æ (Ö°Òµ×÷¼Ò)
|
±¾ÌûÄÚÈݱ»ÆÁ±Î |
4Â¥2016-12-14 09:36:14
tuburfransth
½ð³æ (ÕýʽдÊÖ)
- Ó¦Öú: 9 (Ó×¶ùÔ°)
- ½ð±Ò: 2380.1
- É¢½ð: 68
- ºì»¨: 5
- Ìû×Ó: 384
- ÔÚÏß: 124.8Сʱ
- ³æºÅ: 3425987
- ×¢²á: 2014-09-18
- ÐÔ±ð: GG
- רҵ: ģʽʶ±ð
|
×Ô¼º³¢ÊÔÐÞ¸ÄÁ˼¸´¦£¬ÔËÐнá¹ûºÍÔ¤ÏëµÄÒ»Ñù£¬Ð޸ĺóµÄ´úÂëÈçÏ£º class A(object): def __init__(self, a): print('__init__ A', str(a)) self.A = a class B(A): def __init__(self, a, b): B.__init__(self, a) # Ð޸Ĵ˴¦£¬²»ÖªµÀΪʲôsuper(B, self).__init__(a)»áÓÐÎÊÌâ print('__init__ B', str(b)) self.B = b class C(A): def __init__(self, a, c): C.__init__(self, a) # Ð޸Ĵ˴¦£¬ ²»ÖªµÀΪʲôsuper(C, self).__init__(a)»áÓÐÎÊÌâ print('__init__ C', str(c)) self.C = c class D(B, C): def __init__(self, a, b, c, d): B.__init__(self, a, b) # ÕâÐм°ÏÂÐдúÂëÓÐÎÊÌâ£¬Ã²ËÆ¶Ô»ùÀàA½øÐÐÁËÁ½´Î³õʼ»¯ C.__init__(self, a, c) print('__init__ D', str(d)) self.D = d shanghe = D('x', 'y', 'z', 'k') |
2Â¥2016-12-13 18:27:59
ygidtu
гæ (ÕýʽдÊÖ)
- Ó¦Öú: 4 (Ó×¶ùÔ°)
- ½ð±Ò: 1690.7
- É¢½ð: 798
- ºì»¨: 3
- Ìû×Ó: 419
- ÔÚÏß: 117.7Сʱ
- ³æºÅ: 2854989
- ×¢²á: 2013-12-07
- ÐÔ±ð: GG
- רҵ: ÉúÎïÐÅϢѧ
|
Á½´ÎAµÄ³õʼ»¯ºÜÕý³£°É£¬ÄãBÊǼ̳ÐAµÄ£¬CÒ²ÊǼ̳ÐAµÄ£¬È»ºóDÀïͬʱÓÐBC£¬²»¾ÍÊǰüº¬ÁËÁ½¸öA£¿ËùÒÔAÓеÄÄǸöº¯Êý¿Ï¶¨±»BCÍæ»µÁË£¬¶àÖØ¼Ì³ÐÎÒ´ÓÀ´Ã»¿¼Âǹýͬʱ¼Ì³Ðͬһ¸ö¸¸ÀàÑÜÉú³öÀ´µÄÁ½¸ö×ÓÀ࣬ËùÒÔ»¹Õæ²»ÖªµÀÔõô½â¾ö ·¢×ÔСľ³æAndroid¿Í»§¶Ë |
3Â¥2016-12-14 09:31:20














»Ø¸´´ËÂ¥