2016-01-20 52 views
2

好的。所以我有一堆功能,我在我的文本編輯器中寫出functions.pyPython解釋器不能使用導入的模塊?

當我導入functions.py到我的Python解釋器,它告訴我,我保存在我的functions.py文件下的所有東西都沒有定義。

例如,我在functions.py中有一個變量,叫做color。

color = "Red" 

當我去我的翻譯,打印出的顏色,它說,「顏色並不確定。」

爲什麼我的解釋器不記得我的函數或我的變量,即使我能夠導入文件?

+3

你是如何導入它的?請顯示確切的代碼。 –

+3

另外,閱讀[this](http://effbot.org/zone/import-confusion.htm)。 –

+0

我用過:導入功能。 然後,我嘗試輸入打印顏色,並打印functions.color,這兩個都沒有在我的解釋器中定義,即使在我的functions.py文件中明確指出color =「Red」 –

回答

1

你有沒有做這樣的?:

> cat functions.py 
colors = 'red' 
> python   
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from functions import * 
>>> colors 
'red' 
>>> 
+0

爲什麼我必須重新定義「顏色」,如果它已經在我的functions.py文件中並且我正在導入它? 我已經在functions.py中定義了它,但解釋器沒有選擇它。 –

+0

好的,我發現了這個問題。這是因爲「顏色」在名爲「顏色」的類中。變量'顏色'不是通用的,所以要從類'顏色'打印它,我必須輸入:*** print functions.colors.color ***,最後我得到紅色。 –

1

首先,午餐在腳本的同一文件夾中的解釋,那麼你必須方法來調用顏色

import functions 
print functions.color 
from functions import color 
print color 

適合你打印顏色值

+0

所以我做了第1步導入功能。 然後我鍵入打印functions.color,我得到這個錯誤信息:AtributeError:「模塊」對象有沒有屬性「顏色」 ***即使顏色在我functions.py文件中明確規定,我進口的吧! *** –

+0

好吧,我發現了這個問題。這是因爲「顏色」在名爲「顏色」的類中。變量'顏色'不是通用的,所以要從類'顏色'打印它,我必須輸入:*** print functions.colors.color ***,最後我得到紅色。 –

0

我發現了這個問題。如果'顏色'不在類內,下面的代碼可以工作。

import functions 
print functions.color 

但是因爲可變顏色是在一個名爲'顏色'的類裏面,所以我還必須定義'顏色'讓解釋器來拾取它。

import functions 
print functions.colors.color 
Red