python处理不同类型[重复]

Posted

技术标签:

【中文标题】python处理不同类型[重复]【英文标题】:python handle different types [duplicate] 【发布时间】:2013-09-02 21:48:44 【问题描述】:

我是python新手,只有一个问题:

Python 不需要声明变量类型。比如我们在使用函数的时候,并没有声明应该传入哪个类型。所以有时候,我不知道传入的参数到底是哪个类型,或者我传入了一个无效的参数。

例如一个名为:run_date的参数,其类型可以是字符串或日期时间或日期。我得从代码里找……

有没有办法解决这个问题? 我想我应该好好命名。但是怎么做呢?

我并不是要检查代码中的类型。我只是在编码时对函数参数感到困惑...我总是忘记参数是哪种类型...

【问题讨论】:

我想最重要的部分是对变量进行良好的命名,以表明类型。有关详细信息,请使用Docstrings - 一些 Ide/编辑器会显示它们,您可以在 REPL 编辑中访问此信息:我以为您问过如何确定传递给另一个函数的正确类型,而不是检查传入的参数是否为正确的类型 【参考方案1】:

Python 使用所谓的“Duck Typing”,即如果它看起来像鸭子并且听起来像鸭子,那么您不妨称它为鸭子。

你可以使用:

    参数类型检查, 参数转换, 例外& 文档

【讨论】:

【参考方案2】:

嗯...欢迎来到 python 世界:)。

你可以这样定义一个函数:

def value_type(x):
    # for type of dictionary
    if isinstance(x, dict):
        return list(set(x.values()))
    # for type of string including unicode 
    elif isinstance(x, str) or isinstance(x, unicode):
        mpla mpla...
    # for type of integer
    elif isinstance(x, int):
        mpla mpla...
    else:
        return None

【讨论】:

以上是关于python处理不同类型[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python多处理 - 从3个不同的函数返回值[重复]

python中不同的异常类型,如何进行异常处理?

在 python 中处理不同数据类型的 NaiveBayes 分类器

Python异常处理

python异常处理

python异常处理