2016-05-11 36 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,我認爲它應該工作,因爲它已經返回,但在Python運行filename.sort_words(words),它給出了一個錯誤信息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)自動使用。或者也許我誤解了使用返回命令 – Bolaji

+0

掠奪我的編輯。 –

+0

我瞭解它現在的功能 – Bolaji

相關問題