【问题标题】:Specify the type of input in a function指定函数中的输入类型
【发布时间】:2020-01-25 19:08:14
【问题描述】:

我想知道是否可以在函数中指定输入的类型,或者我是否必须使用其他东西。

想象一下我定义了一个函数(示例)。我希望我的参数(类型)表明输入将是什么类型,好像

int(input())

如果不是 int,我会发送一个错误并再次请求输入。

def example(type) :
    while True :
        try :
            var = type(input())
        except :
            print("error")
        else :
            break
    return var

example(int)

我不知道这是否可能。最终,我想为浮点数和字符串做这件事。我用 if / else 绕过了这个问题。您还有其他解决方案吗?我想尽可能地缩短我的代码。

【问题讨论】:

  • 可以使用ininstance查看输入的类型
  • 我想我做错了什么。 python def test(type) : var = input() return isinstance(var, type) print(test(int)) 当我输入 5 时,它返回给我 False。
  • 好吧,input 总是会返回一个字符串,所以检查它是否是int 的实例是无稽之谈。您当前的方法看起来足够好,有什么问题吗……?
  • 对,我忘记了,但我设法解决了。我不知道我可以将变量设置为类。

标签: python function variables isinstance


【解决方案1】:

input 每次都返回一个 str 。而 type 已经是 Python 中一个函数的名称(返回参数的类型)。

因此,如果必须,您必须将字符串转换(转换)为 int 或 float,并用 try / 包围它,除非我害怕。

【讨论】:

    猜你喜欢
    • 2021-07-18
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 2021-04-08
    • 2020-11-04
    相关资源
    最近更新 更多