Есть ли способ установить необязательные аргументы для обхода входных аргументов? - PullRequest
1 голос
/ 11 мая 2019

Python 3: Я пытаюсь настроить функцию, чтобы быть более гибким. В его текущем состоянии нет аргументов, принятых при вызове функции. Когда вы вызываете функцию, она задает вам ряд вопросов, которые действуют как направляющие параметры для функции (см. Код). Я хотел бы сохранить эту функциональность ...

Однако я также хотел бы иметь возможность устанавливать свои собственные параметры (в обход вопроса) с самого начала. Есть ли способ иметь оба?

Таким образом, если в скобках рядом с функцией нет аргумента, он будет задавать вопросы, а если в функции есть числа / аргументы, он будет обходить вопросы и использовать эти параметры.

Я пробовал различные подходы, такие как:

def function_dummy(xx='', yy=''):
    xx = int(input("xx = "))
    yy = int(input("yy = "))

но он все еще задает вопросы.

Это тоже сложно, потому что я не хочу просто устанавливать значения по умолчанию. Если я обхожу вопросы, я хочу иметь возможность вводить в разные номера все время.

В настоящее время (модель, а не реальная сделка)

def function_dummy():
    xx = int(input("xx = "))
    yy = int(input("yy = "))
    for i in range(0,xx):
        print(yy)

Я хотел бы сохранить эту функциональность ^, но также иметь возможность ввести ее следующим образом:

function_dummy(2, 3)

1 Ответ

2 голосов
/ 11 мая 2019

Вы просто имеете в виду

def function_dummy(xx=None, yy=None):
    if xx is None:
        xx = int(input("xx = "))
    if yy is None:
        yy = int(input("yy = "))
...