python类内函数内写函数
时间: 2023-10-13 14:14:37 浏览: 105
python内置函数
在 Python 中,可以在类内的函数中定义其他函数,这些内部函数称为嵌套函数。嵌套函数可以访问类内的实例变量和方法,但是不能在类外部访问。
以下是一个示例代码:
```python
class MyClass:
def __init__(self, x):
self.x = x
def outer_func(self, y):
def inner_func(z):
return self.x + y + z
return inner_func
obj = MyClass(10)
f = obj.outer_func(20)
result = f(30)
print(result) # Output: 60
```
在上面的代码中,我们定义了一个名为 `MyClass` 的类,其中包含一个构造函数 `__init__` 和一个名为 `outer_func` 的函数。在 `outer_func` 中,我们定义了一个嵌套函数 `inner_func`,它返回 `self.x + y + z` 的结果。
在 `__init__` 中,我们初始化了一个实例变量 `self.x`。然后我们创建了一个 `MyClass` 的实例 `obj`,并调用它的 `outer_func` 方法来获取一个返回内部函数的函数。我们将这个函数赋值给变量 `f`,然后调用它并将结果存储在变量 `result` 中。
当我们调用 `f(30)` 时,它会调用内部函数 `inner_func` 并将参数 `z` 设置为 30。由于 `inner_func` 可以访问 `self.x` 和 `y`,所以它返回的结果是 `self.x + y + z`,即 10 + 20 + 30 = 60。我们最后打印出这个结果。
阅读全文