python super返回值
时间: 2023-07-12 12:04:10 浏览: 80
在 Python 中,super() 函数用于调用父类的方法,它的返回值是一个 super 对象。这个对象可以用来调用父类的方法,不需要显式地指定父类的名称,而且还可以避免硬编码。
在使用 super() 调用父类方法时,可以传递两个参数:第一个参数是当前类对象的类型(即类本身),第二个参数是当前类对象的实例。super() 函数返回的对象中包含了当前类和实例的信息,因此可以在调用父类方法时使用这些信息。
super() 函数的返回值常用于调用父类的构造函数和普通方法,以及在多重继承中解决方法名冲突的问题。
相关问题
python 父类某个方法返回值传给子类init
在Python中,如果你想要在父类的一个方法中返回值,并将其传递给子类的`__init__`方法,你可以这样做:
首先,假设你在父类中有一个方法,例如它计算一些属性并返回结果。例如:
```python
class ParentClass:
def compute_value(self):
# 计算一些值
result = self.some_complex_computation()
return result
```
然后,在子类的`__init__`方法中,你可以接受这个返回值作为参数:
```python
class ChildClass(ParentClass):
def __init__(self, parent_result=None):
super().__init__()
if parent_result is not None:
self.parent_value = parent_result
# 或者你可以在这里做其他处理,如设置实例变量等
def some_complex_computation(self): # 这里可能和父类的实现不同
# 子类可能有自己的计算逻辑
pass
```
当你创建子类的对象并调用父类的方法时,可以将结果传递给子类的构造函数:
```python
parent_obj = ParentClass()
child_obj = ChildClass(parent_obj.compute_value())
```
这里,`parent_obj.compute_value()`的结果会被自动赋值给`child_obj.parent_value`。
super()在python的用法
super()是Python中的一个内置函数,主要用于在类的继承中调用父类的方法。它的常用用法是在子类中重写父类的方法,但仍然需要调用父类的方法。这时,可以使用super()函数来调用父类的方法,而不需要显式地指定父类的名称。
super()函数的语法如下:
```python
super([type[, object-or-type]])
```
其中,type是类名,object-or-type是类的对象或类型。如果省略两个参数,则默认使用当前类和self作为参数。
下面是一个使用super()函数的例子:
```python
class Parent:
def __init__(self):
self.value = 5
def get_value(self):
return self.value
class Child(Parent):
def get_value(self):
return super().get_value() * 2
c = Child()
print(c.get_value()) # 输出:10
```
在这个例子中,Child类继承了Parent类,并重写了get_value()方法。在重写的方法中,使用super().get_value()调用了父类的get_value()方法,并将其返回值乘以2。
阅读全文