Примечание. Ниже я упростил задачу. Кроме того, я использую Spyder.
Я сохранил функцию под названием testFun c в файле .py. Эта функция дает вам среднее значение подмножества списка чисел.
Это функция, к вашему сведению:
def testFunc(X):
subSet = List[0:X]
Output = sum(subSet)/len(subSet)
return Output
В мой главный файл .py я загружаю данные:
List = [1, 2, 3, 4]
Затем я вытаскиваю функцию testFun c из отдельной папки:
%run '/Users/mak/Dropbox/Python/My functions/getScore.py'
Затем я пытаюсь запустить свои данные через свою функцию:
testFunc(2)
Однако я получаю сообщение
NameError: name 'List' is not defined
Когда я запускаю функцию и определяю список в том же файле .py, у меня нет этой проблемы. Но я не хочу этого делать, так как мой код очень длинный.
Еще я могу определить список как часть функции. Но я опасаюсь делать это, поскольку мой фактический набор данных (Список) огромен, и вытаскивание его каждый раз, когда я хочу запустить эту функцию, кажется менее чем элегантным.
Есть ли третий способ?