outer function的意思|示意

美 / ˈautə ˈfʌŋkʃən / 英 / ˈaʊtɚ ˈfʌŋkʃən /

外函数


outer function的用法详解

Outer function是指一个函数内部再包含一个函数,我们称包含外部的函数为Outer function,而内部带有的函数为inner function。很明显,outer function和inner function都是函数,它们的区别在于inner function定义在outer function中,其作用域只限于outer function中。

接下来,我们来看看outer function的使用。

## Outer function的定义

下面是一个简单的outer function的定义:

```python

def outer_function(name):

print(\"Hello, \" + name + \". This is the outer function\")

def inner_function():

print(\"This is the inner function\")

inner_function()

```

在这个例子中,我们定义了一个outer function,其参数是name。函数内部包含了一个inner_function,我们定义它的作用是输出一句话\"This is the inner function\"。

当outer_function被调用时,它会输出一句话\"Hello, name. This is the outer function\",而后会调用inner_function()函数,输出\"This is the inner function\"。

## Outer function的应用

Outer function主要有两个用法:

### 作为装饰器

Outer function可以作为装饰器,进一步扩展被装饰函数的功能。这种用法非常常见,使用@符号加outer function名称即可实现。

比如下面的代码,我们为打印函数加上了一个装饰器,用来计算该函数的执行时间:

```python

import time

def time_it(fn):

def wrapper(*args, **kwargs):

st = time.time()

result = fn(*args, **kwargs)

et = time.time()

print(f\"Function {fn.

name

} took {et - st:.2f} seconds to execute\")

return result

return wrapper

@time_it

def print_numbers():

for i in range(10):

print(i)

print_numbers()

```

我们使用了outer function time_it作为装饰器,通过对被装饰的函数加以调整,实现了一个简单的计时器功能。

### 作为封装器

Outer function还可以作为封装器,将多个函数打包在一起进行操作,可以获得更好的可读性和可维护性。

比如下面的代码,我们定义了一个outer function,用来获取用户名和密码,再使用这些信息来操作数据库:

```python

def db_operation(username, password):

def connect_db():

# connect to database with username and password

pass

def insert_data(data):

# insert data to database

pass

def delete_data(index):

# delete specific data from database

pass

def update_data(index, new_data):

# update specific data with new data in database

pass

def query_data():

# query data from database

pass

connect_db()

return {

'insert_data': insert_data,

'delete_data': delete_data,

'update_data': update_data,

'query_data': query_data

}

if

name

== \"

main

\":

user_name = input(\"input username: \")

pass_word = input(\"input password: \")

db_instance = db_operation(user_name, pass_word)

db_instance['insert_data'](\"data for insert\")

```

在这个例子中,我们定义了一个outer function,将数据库操作的相关函数打包在一起,方便了数据库操作的调用和维护。

outer function相关短语

1、 outer function library 外部函数库

2、 outer work function 外功函数

3、 Outer Penalty Function 外惩罚函数

4、 outer direction distribution function 外方向分布函数

5、 Outer-emergent power supply opening function 外接电源应急开锁功能

outer function相关例句

Then, when the inner function parameters list is complete, the parameters list reverts to displaying the outer function parameters.

然后,在内部函式参数清单完成以后,参数清单会还原成显示外部函式参数。

The outer function takes this timestamp and converts it to a time value.

外部函数接受这个时间戳,并将其转换成一个时间值。

A nested, or inner, function can inherit the arguments and variables of its outer function, and is private to that function.

一个嵌套的内部函数可以继承外部函数的参数和变量,并由该外部函数私有。