python - 如何在 Python 中重载?

标签 python

我正在尝试创建一个函数,该函数在调用不同的参数类型时会执行不同的操作。具体来说,其中一个函数应该有签名

def myFunc(string, string):

另一个应该有签名

def myFunc(list):

鉴于不允许我指定参数是字符串还是列表,我该怎么做?

最佳答案

Python 不支持重载,即使按参数计数也是如此。你需要做的:

def foo(string_or_list, string = None):
    if isinstance(string_or_list, list):
        ...
    else:
        ...

这很愚蠢,或者只是重新考虑您的设计而不必重载。

关于python - 如何在 Python 中重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11269372/

相关文章:

python - 更改数据框列中空格后的最后一个单词

python - 如何使用脚本在 django/heroku 项目中更新我的生产数据库

python - 创建一个线程安全的队列平衡器

Python - 是否应该直接在 Python 3.x 中开始一个新项目?

python - 错误 403 : HTTP status code is not handled or not allowed in scrapy

python - 将打开的文件从一个函数传递到另一个函数

python - 为什么 scipy.ststs.contingency.expected_freq 返回的预期频率不是我所期望的?

python - tkinter 将小部件放入框架中

python - 用日期时间索引组成数据框

python - Matplotlib 3D 颜色基于 Z 轴值的点