小编Ius*_*sar的帖子

什么是函数接口(在 Python 中)?

在 Allen Downey 的 Python 2.x 的“Think Python, version 2.0.17”中,Downey 对函数的接口是这样说的:

函数的接口是对它如何使用的总结:参数是什么?函数有什么作用?返回值是多少?如果一个界面“尽可能简单,但不简单”,那么它就是“干净的”。(爱因斯坦)”

我完全不明白这一点。接口是一个书面摘要,如文档字符串,附加到函数的某个地方吗?或者它完全是别的东西?

我是一个完整的编程初学者,所以我没有很多背景可以借鉴。在我目前(非常低)的水平上,我找不到任何我能理解的解释!

快速示例(虽然不是回答问题所必需的):唐尼谈到了画圆圈(在海龟世界的背景下)。他的功能是

def circle(t, r):
    circumference = 2 * math.pi * r
    n = 50
    length = circumference / n
    polygon(t, n, length)
Run Code Online (Sandbox Code Playgroud)

其中t是来自 Turtleworld 的海龟(他称之为 Bob),r是要绘制的圆的半径。Polygon 是一个函数,它将海龟、n多边形的边数和(其边的)长度作为参数,并用这些规格绘制多边形。足够高n,这看起来像一个圆圈。

然后他评论道:

该解决方案的一个限制是它n是一个常数,这意味着对于非常大的圆,线段太长,而对于小圆,我们浪费时间绘制非常小的线段。一种解决方案是通过将函数n作为参数来泛化该函数。这会给用户(无论谁调用circle)更多的控制,但界面会不那么干净。

再次,什么接口?什么是接口?好吧,让我们暂缓一下。

在这个例子中,r 属于接口,因为它指定了要绘制的圆。n不太合适,因为它涉及如何渲染圆的细节。与其把界面弄得乱七八糟,不如选择一个合适的值n取决于circumference

def circle(t, r):
    circumference = 2 * math.pi * r
    n …
Run Code Online (Sandbox Code Playgroud)

python interface function

3
推荐指数
1
解决办法
4050
查看次数

标签 统计

function ×1

interface ×1

python ×1