Я хотел бы создать функцию, которая может принимать 1 или 2 аргумента. В настоящее время у меня есть функция, которая принимает ровно два аргумента через CMD:Передача необязательного аргумента в функции - python
def test(self,countName,optionalArg):
if countName == "lowest":
#something
if optionalArg == "furthest:
#something
else:
#something else
if __name__ == '__main__':
countName = sys.argv[1]
optionalArg = sys.argv[2]
temp = len(sys.argv)
for i in xrange(1,temp):
sys.argv.pop()
Я бы тогда запустить:
питон filename.py низкий дальше
Используя это означает, что Попутно второй аргумент является обязательным. Если я попытаюсь запустить мой скрипт, просто передав один аргумент, он встретит ошибку (как и ожидалось). Мой вопрос: как создать необязательный аргумент, который может быть передан или нет, в зависимости от ситуации?
Например:
питона filename.py низкий
В этой ситуации, я ожидаю, что программа для выполнения «#something еще» сценарий, как и не было принято ничего, и это отличается чем «самый дальний».
Пожалуйста, не пишите код для меня, я здесь, чтобы узнать :)
Считайте, что ваша функция принимает один аргумент, то есть сам по себе список аргументов. Таким образом, вы можете делать разные вещи, в зависимости от длины этого списка. –
@ ChristoferOhlsson Привет Кристопер, если я изменю функцию, чтобы принять только один аргумент, тогда он игнорирует то, что я пишу через CMD, тем самым не позволяя мне передать второй аргумент. –
Если вы продолжаете передавать два аргумента, то уверены. Но почему бы вам? –