您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中的函数重载:缺少

Python中的函数重载:缺少

如要注意的那样,具有认值的关键字参数可以有很长的路要走。

我还要指出,在我看来,担心很多类型传递给方法的做法违背了Python的精神。在Python中,我认为使用鸭子类型更被接受- 询问对象可以做什么,而不是对象可以做什么。

因此,如果您的方法可以接受字符串或元组,则可以执行以下操作:

def print_names(names):
    """Takes a space-delimited string or an iterable"""
    try:
        for name in names.split(): # string case
            print name
    except AttributeError:
        for name in names:
            print name

然后,您可以执行以下任一操作:

print_names("Ryan Billy")
print_names(("Ryan", "Billy"))

尽管类似的API有时表明存在设计问题。

python 2022/1/1 18:45:51 有310人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶