成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

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

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

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

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

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

例如,在以下示例中,我們定義了兩個類A和B。類A有一個show()方法,而類B繼承了類A,并且增加了一個show1()方法。在show1()方法中,我們使用super().show()來調(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ù)的語法稍有不同: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í)例

最后,讓我們看一個更具體的示例來說明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的對象轉(zhuǎn)換為類FooParent的對象

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.

```

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

標(biāo)簽: