首页 > 解决方案 > 指定函数中的输入类型

问题描述

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

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

int(input())

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

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

example(int)

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

标签: pythonfunctionvariablesisinstance

解决方案


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

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


推荐阅读