在Allen Downey为python2.x编写的“Think Python,version 2.0.17”中,Downey对函数的接口有如下描述:The interface of a function is a summary of how it is used: what are the parameters? What

does the function do? And what is the return value? An interface is “clean” if it is “as

simple as possible, but not simpler. (Einstein)”

我一点也不明白。接口是否是一个书面的摘要,如docstring,附加到函数的某个地方?还是完全是另一回事?在

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

简单的例子(虽然不是回答问题的必要条件):唐尼谈到了画圆(在Turtleworld的背景下)。他的职能是def circle(t, r):

circumference = 2 * math.pi * r

n = 50

length = circumference / n

polygon(t, n, length)

其中t是一只来自Turtleworld的乌龟(他称之为Bob),而{}是要绘制的圆的半径。Polygon是一个函数,它以turtle、多边形的边数n和长度(边的长度)为参数,并使用这些规格绘制多边形。有足够高的n,这看起来像一个圆。在

他接着评论道:One limitation of this solution is that n is a constant, which means that for very big circles,

the line segments are too long, and for small circles, we waste time drawing very small

segments. One solution would be to generalize the function by taking n as a parameter.

This would give the user (whoever calls circle) more control, but the interface would be

less clean.

再说一遍,什么接口?什么是接口?好吧,让我们继续讨论一下。在In this example, r belongs in the interface because it specifies the circle to be drawn. n is

less appropriate because it pertains to the details of how the circle should be rendered. Rather than clutter up the interface, it is better to choose an appropriate value of n depending on circumference:

^{pr2}$

什么?你不想把界面搞得一团糟(不管是什么),所以你……把界面搞得一团糟?或者功能?还是功能的主体?我的意思是,我不知道什么是接口,但是不管它是什么-这个解决方案看起来只会使整个函数更加混乱,而不是仅仅添加一个参数。在

而且,鉴于到目前为止,我还没有遇到任何地方使用函数的书面总结,我开始认为我对唐尼函数接口定义的解释是完全错误的。在

同样,这只是一个例子,我想强调的是,我想了解函数接口是什么,而不仅仅是与具体情况相关。但我认为这个例子是个好的开始。在

pythonapi是什么_什么是函数接口(在Python中)?相关推荐

  1. java.util接口_函数接口– Java 8中java.util.function包中的函数接口

    java.util接口 我以前写过有关功能接口及其用法的文章. 如果您正在探索要成为Java 8一部分的API,尤其是那些支持lambda表达式的API,您会发现很少的接口,例如Function,Su ...

  2. python中home定义是什么_第48p,什么是函数?,Python中函数的定义

    原标题:第48p,什么是函数?,Python中函数的定义 大家好,我是 杨数 Tos ,这是<从 零 基础到大神>系列课程的第 48 篇文章 ,第三阶段的课程 : Python进阶知识:详 ...

  3. 函数接口– Java 8中java.util.function包中的函数接口

    我以前写过有关功能接口及其用法的文章. 如果您正在探索要成为Java 8一部分的API,尤其是那些支持lambda表达式的API,您会发现很少的接口,例如Function,Supplier,Consu ...

  4. python sum函数导入list_sum求和函数怎么在Python中使用

    sum求和函数怎么在Python中使用 发布时间:2021-01-12 15:10:47 来源:亿速云 阅读:55 作者:Leah 本篇文章为大家展示了sum求和函数怎么在Python中使用,内容简明 ...

  5. python中lambda函数if用法-Python中关于Lambda函数的使用总结

    lambda表达式是一种匿名函数,对应python中的自定义函数def,是定义某个函数时比较高级的一种写法.作为python初学者,本文整理了lambda的一些基本用法和特点. lambda和def的 ...

  6. python函数和方法概念_第48p,什么是函数?,Python中函数的定义

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第48篇文章,第三阶段的课程:Python进阶知识:详细讲解Python中的函数(一)====> 函数概念介绍(上篇). 函数 ...

  7. import是引进外部函数吗_你必须要知道的Python中的main函数

    在很多开发语言中,都有一个叫做mian的主函数,这个函数一般都是程序的入口,当程序启动时,首先执行这个函数. 比如C#语言中的main函数长这个样子. static void Main(string[ ...

  8. 回溯法采用的搜索策略_下列那种函数是回溯法中为避免无效搜索采取的策略( )_学小易找答案...

    [填空题]图示刚架,单元编号.结点编号和结点位移编号如图所示,则单元 3的单元定位向量为 _________ .提示:写成 [ , , , , ,]T的形式 [单选题]下列测量仪器中,最适宜用于多点水 ...

  9. mysql中avg函数如果有空值_对于 AVG 函数,如果列中所有行的值都是 null,那么 AVG 函数返回的值是( )...

    [判断题]偶联剂是具有某些特定基团的化合物,它能通过化学和物理的作用将两种性质差异很大,原本不易结合的材料较牢固地结合起来 [多选题]滑石粉的片状结构使得滑石粉填充塑料的某些性能得到较大的改善,可提高 ...

  10. python try函数是什么意思_什么是Try Except在Python中及其工作方式?

    无论您的编程水平如何,某些脚本都会出错.这些错误可能是由于用户意外输入,错误的服务器响应或任何其他原因引起的.在Python中尝试使用Except可以捕获错误,而不是死掉,而是做一些更合理的事情.在本 ...

最新文章

  1. 在全面部署 IPV6 前,你需要了解都在这儿
  2. 2021最新版 SpringBoot 速记教程
  3. linux bash sh,linux bash shell.sh编程实例
  4. “众所周知,视频不能P”,GAN:是吗?
  5. java web编码详解_java web 开发 编码问题详解
  6. {%csrf_token%}的作用
  7. dagger2 注入_如何使用Dagger 2在您的应用程序中实现依赖注入
  8. 【算法】Huffman编码(数据结构+算法)
  9. 使用 JQueryElement ResponseProgress 显示页面执行进度
  10. poj 2594 Treasure Exploration 最小路径覆盖
  11. 2021年广东高考各科成绩查询,2017年广东高考成绩五种查询方式一览
  12. 升级安装php7要考虑的几个方面
  13. 自定义错误页面 404.html
  14. 2022年华为笔试面试机考真题100道(C/C++语言)
  15. 成功解决NavigationDuplicated: Avoided redundant navigation to current location:
  16. 尤雨溪 6 月 4 日的 Vue 技术分享
  17. 探索 TDengine在《图码联侦》项目中的应用可行性及实践研究
  18. JavaScript常见设计模式
  19. open judge 1.5 18:鸡尾酒疗法
  20. python 的几个源生方法

热门文章

  1. docker(在docker hub/public registry上搜索images。stars值越高说明这个image越好)
  2. repeat在css是什么意思,css background-repeat属性怎么用
  3. labelme标注转自定义mask色彩图
  4. Android内存管理基础
  5. 成为高端人才必看的人生警言
  6. 支付路由系统设计三:命中-2
  7. 几步教会你solidworks视图定向动画的制作
  8. H5-canvas-原生-编写俄罗斯转盘抽奖系统
  9. 龙芯软件开发 5 --北桥南桥芯片的作用
  10. 在万网ECS服务器配置二级域名