当前位置: 首页 > 面试题库 >

以编程方式确定函数所需的参数数量-Python

益清野
2023-03-14
问题内容

我正在创建一个简单的命令行实用程序,并使用字典作为一种case语句,并将关键字链接到它们的适当功能。这些函数都有不同数量的参数,因此当前要检查用户是否输入了每个函数所需的正确参数,我将所需数量的参数放入了格式的字典case语句中{Keyword:(FunctionName,AmountofArguments)}

当前的设置工作得很好,但是我只是出于自我改进的目的,想知道是否有一种方法可以确定函数中所需参数的数量,而我的google尝试迄今未返回任何价值,但是我知道args和kwargs是如何实现的由于它们允许的无限数量的参数,可能会使这样的命令搞砸。


问题答案:

inspect.getargspec():

获取函数参数的名称和默认值。返回包含四个内容的元组:(args,varargs,varkw,默认值)。args是参数名称的列表(它可能包含嵌套列表)。varargs和varkw是*参数的名称或无。defaults是默认参数值的元组;如果没有默认参数,则为None;如果该元组具有n个元素,则它们对应于args中列出的最后n个元素。



 类似资料:
  • 问题内容: 我需要测量程序某些部分所花费的时间(不是用于调试,而是作为输出中的功能)。准确性很重要,因为总时间将不到一秒钟。 当我遇到timeit时,我将使用time模块,该模块声称 避免了一些用于度量执行时间的常见陷阱 。不幸的是,它有一个糟糕的接口,需要一个字符串作为输入,然后才是eval的。 __ 因此,我是否需要使用此模块来准确地测量时间,还是时间足够?它指的是什么陷阱? 谢谢 问题答案:

  • 本文向大家介绍Python函数中定义参数的四种方式,包括了Python函数中定义参数的四种方式的使用技巧和注意事项,需要的朋友参考一下 Python中函数参数的定义主要有四种方式: 1. F(arg1,arg2,…) 这是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等 的值(实际参数),而且顺序必须相同,

  • Python 提供了一个 functools 的模块,该模块为高阶函数提供支持,partial 就是其中的一个函数,该函数的形式如下: functools.partial(func[,*args][, **kwargs]) 这里先举个例子,看看它是怎么用的。 假设有如下函数: def multiply(x, y): return x * y 现在,我们想返回某个数的双倍,即: >>> mu

  • 我需要从php脚本手动创建一个产品(例如,我正在开发一个自定义前端表单以插入产品) 谷歌我看到一些支持论坛手动创建帖子(使用wp\u insert\u post功能)。我认为这个解决方案是不可靠的(随着woocommerce的更新,情况可能会发生变化)。 我需要一个wc函数为我做这件事,一种wc_create_product(像wc_create_order函数)。 我发现似乎是我需要的,但在网上

  • 函数式编程 -> 函数响应式编程 现在大家已经了解我们是如何运用函数式编程来操作序列的。其实我们可以把这种操作序列的方式再升华一下。例如,你可以把一个按钮的点击事件看作是一个序列: // 假设用户在进入页面到离开页面期间,总共点击按钮 3 次 // 按钮点击序列 let taps: Array<Void> = [(), (), ()] // 每次点击后弹出提示框 taps.forEach {

  • 函数式编程(functional programming)是一种编程范式(Programming paradigm),或者说编程模式,比如我们常见的过程式编程是一种编程范式,面向对象编程又是另一种编程范式。 函数式编程的一大特性就是:可以把函数当成变量来使用,比如将函数赋值给其他变量、把函数作为参数传递给其他函数、函数的返回值也可以是一个函数等等。 Python 不是纯函数式编程语言,但它对函数式