国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

Python中super()函數(shù)如何使用

在Python中,我們經(jīng)常會(huì)遇到子類需要調(diào)用父類的方法的情況。這時(shí)候就可以使用super()函數(shù)來(lái)實(shí)現(xiàn)。super()函數(shù)是用于在子類中調(diào)用父類的一個(gè)方法。Python 3.x版本的實(shí)現(xiàn)在Python

在Python中,我們經(jīng)常會(huì)遇到子類需要調(diào)用父類的方法的情況。這時(shí)候就可以使用super()函數(shù)來(lái)實(shí)現(xiàn)。super()函數(shù)是用于在子類中調(diào)用父類的一個(gè)方法。

Python 3.x版本的實(shí)現(xiàn)

在Python 3.x版本中,使用super()函數(shù)的語(yǔ)法是:super().parent_method()。其中,parent_method是父類中的方法名。

例如,在以下示例中,我們定義了兩個(gè)類A和B。類A有一個(gè)show()方法,而類B繼承了類A,并且增加了一個(gè)show1()方法。在show1()方法中,我們使用super().show()來(lái)調(diào)用父類A中的show()方法。

```python

class A(object):

def show(self,x):

print('A class: {}' .format(x))

class B(A):

def show1(self,x):

super().show(x)

print('B class: {}' .format(x))

b B()

(1)

```

運(yùn)行結(jié)果為:

```

A class: 2

B class: 1

```

Python 2.x版本的實(shí)現(xiàn)

在Python 2.x版本中,使用super()函數(shù)的語(yǔ)法稍有不同:super(子類名, self).parent_method()。其中,子類名是子類自身的類名。

以下示例展示了在Python 2.x版本中使用super()函數(shù)的方法:

```python

class A(object):

def show(self,x):

print('A class: {}' .format(x))

class B(A):

def show1(self,x):

super(B, self).show(x)

print('B class: {}' .format(x))

b B()

(1)

```

運(yùn)行結(jié)果為:

```

A class: 2

B class: 1

```

實(shí)例

最后,讓我們看一個(gè)更具體的示例來(lái)說(shuō)明super()函數(shù)的用法。

```python

class FooParent(object):

def __init__(self):

'I'm the parent.'

print ('Parent')

def bar(self,message):

print ("%s from Parent" % message)

class FooChild(FooParent):

def __init__(self):

# 首先找到FooChild的父類(就是類FooParent),然后把類FooChild的對(duì)象轉(zhuǎn)換為類FooParent的對(duì)象

super(FooChild,self).__init__()

print('Child')

def bar(self,message):

super(FooChild, self).bar(message)

print ('Child bar fuction')

print ()

if __name__ '__main__':

fooChild FooChild()

('HelloWorld')

```

運(yùn)行結(jié)果為:

```

Parent

Child

HelloWorld from Parent

Child bar fuction

I'm the parent.

```

通過(guò)這個(gè)示例,我們可以清楚地看到在子類中使用super()函數(shù)調(diào)用父類的方法的過(guò)程。

標(biāo)簽: