2016-05-11 1 views
-1

Я начинаю изучать Python, и я нахожу его действительно интересным. Я пытаюсь создать свой собственный модуль, и я столкнулся с проблемой. Код выглядит следующим образом:Сообщение об ошибке при создании модуля в Python

def break_words(sentence): 
    words = sentence.split(' ') 
    return words 

def sort_words (words):                    
    sort_word=sorted(words) 
    return sort_word 

вторая функция имеет аргумент words подается в на первый, и я думаю, что он должен работать, так как он был возвращен, но работает filename.sort_words(words) в Python, он выдает сообщение об ошибке в NameError:global name 'words' is not defined. И он требует, чтобы я определял такие слова, как words=filename.break_words(sentence), прежде чем запускать вторую функцию.

Что случилось с моим кодом?

+0

Не забудьте указать правильный отступ кода. Это действительно улучшает видимость. – valex

ответ

0

Вы должны попытаться объяснить себя лучше в будущем, это очень запутанно читать и, вероятно, причина, по которой никто не ответил. Это то, что я думаю, что вы хотите знать:

import filename 
words = filename.break_words('some sentence goes here') 
print filename.sort_words(words) 

вы пробовали что ли?

Редактировать: Переменные в Python всегда определяются в областях, поэтому определение одной переменной в функции означает, что она не определена вне внешней функции. 'return' просто возвращает значение этой переменной вызывающему.

+0

Да. Я работал, но я пытаюсь получить способ, чтобы я не назначал значение слова снова в python, так как он уже был назначен в функции break_words, и я вернул его значение, которое будет использоваться автоматически через sort_words (words) .Or возможно, я не понимаю использование команды return – Bolaji

+0

Loot в моем редактировании. –

+0

Я понимаю, что он делает сейчас – Bolaji

Смежные вопросы