接受单个值或列表作为参数

时间:2019-06-08 06:54:24

标签: python arguments

我想编写一个函数,其参数可以是:

  • 一个论点
  • 参数列表

例如symlink(target_or_targets, destination),可以称为:

  • symlink(target, destination)
  • symlink([target1, target2], destination)

如何测试单个参数,并将其转换为包含一项的列表?

(注意:我不想使用decorator*args

1 个答案:

答案 0 :(得分:0)

如果给定单个参数,则转换为列表

更严格的版本:

if type(target_or_targets) not in (list, set, tuple):
    targets = [target_or_targets]

更宽松:

if not isinstance(target_or_targets, (list, set, tuple)):
    targets = [target_or_targets]