Может ли несколько составных операторов в Python быть в одной строке? - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть такой код:

def loongFunction(*args):
    if len(args) < 2:
        return
    else:
        x1 = args[0]
        y1 = args[1]
        if len(args) == 4:
            x2 = args[2]
            y2 = args[3]

Какое наименьшее / идиоматическое значение эта функция может получить?

Примечание: если len(args) равно 2, я не хочуx2 и y2 будут объявлены.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Если вы хотите, чтобы он был максимально коротким, вот несколько настроек, которые вы можете сделать

def loongFunction(*args):
    if len(args) < 2: return
    x1, y1 = args[:2]
    if len(args) == 4: x2, y2 = args[2:4]
0 голосов
/ 12 ноября 2018
def loongFunction(*args):
    if len(args) > 1: x1, y1 = args[0], args[1]
    if len(args) == 4: x2, y2 = args[2], args[3]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...