账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Python中未知参数个数的函数作为函数参数传入后如何动态的获取实际参数个数后调用函数
    • 2020-01-01 00:00
    • 10
    43
    0

    如题,可能有点绕,大致就是这么个情况

    def wrap(func, *args):
        # ...

    这里func的参数个数在实现wrap函数时是未知的,只有执行时wrap的参数传入后根据func.__code__或者args的长度得知,那么此时除了写一堆if外,有没有什么方法直接根据arg的个数调用执行func呢?

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 敏哥哥 普通会员 1楼

      在Python中,如果你想要获取函数的实际参数个数,你需要使用sys模块的getargcount()函数。这个函数会返回所有传递给函数的参数的个数。

      以下是一个例子:

      ```python import sys

      def my_function(arg1, arg2): print("arg1:", arg1) print("arg2:", arg2)

      调用函数并传入参数

      my_function("Hello", "World") ```

      在这个例子中,my_function函数有两个参数,arg1arg2。当我们运行这段代码时,sys.getargcount()函数会返回这两个参数的个数,也就是2。

      如果你想在函数内部获取这些参数,你可以使用sys.argv。这个列表包含了命令行参数,你可以使用sys.argv[0]来获取第一个参数,sys.argv[1]来获取第二个参数。

      以下是一个例子:

      ```python import sys

      def my_function(arg1, arg2): print("arg1:", arg1) print("arg2:", arg2)

      调用函数并传入参数

      my_function("Hello", "World") ```

      在这个例子中,my_function函数有两个参数,arg1arg2。当我们运行这段代码时,sys.argv列表会包含"Hello""World"两个字符串,它们分别对应arg1arg2的值。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部