вызов функций Python извне - PullRequest
0 голосов
/ 21 октября 2019

У меня есть небольшой скрипт на python, который выглядит примерно так:

def number1():
    x = 1
    open_numbers = []
    open_numbers.append(x)
    return open_numbers

def myfunction(open_numbers):
    y = 1
    open_numbers.append(y)

Я бы хотел вызвать функцию myfunction в конце скрипта. Использование

myfunction()

Но он постоянно говорит мне missing 1 required positional argument: 'open_numbers'

Попытка передачи аргумента и получение name 'open_numbers' is not defined

Я планирую добавить больше функций позже и запустить ихтак же

function(arg)
function2(arg)
function3(arg)

Ответы [ 3 ]

1 голос
/ 21 октября 2019

вам нужно передать объект в вашу функцию. Вы можете вызвать вашу функцию с пустым списком, если хотите:

a = []
myfunction(a)
1 голос
/ 21 октября 2019

Решение

Прежде всего, ваш код не был правильно заполнен. Я исправил это.
Функция myfunction принимает list (open_numbers) в качестве ввода и должна также возвращать его.

Я передал вывод number1() в качестве ввода myfunction(). Это должно создать список: [1, 1]. И это то, что он сделал.

def number1():
    x = 1
    open_numbers = []
    open_numbers.append(x)
    return open_numbers


def myfunction(open_numbers):
    y = 1
    open_numbers.append(y)
    return open_numbers

myfunction(number1())

Выход :

[1, 1]
0 голосов
/ 21 октября 2019

Возможно, вы захотите определить параметр по умолчанию и вернуть обновленное значение

def myfunction(open_numbers = []):
    y = 1
    open_numbers.append(y)
    return open_numbers

Затем вы можете вызвать его с передачей параметра myfunction([1]) или без myfunction()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...