2016-12-30 42 views
-2

これは何百万回も尋ねられましたが、なぜそれが起こったのかわかりません。 Pythonの私の最初のプロジェクトです。以前はC++を使っていました。NameError:グローバル名 "foo"が定義​​されていません

合計3つのpythonファイルがあります:fooA、fooB、fooCです。 fooC doesntの物質が、他の人が次のようになります。

foob型:

from fooC import bla 

class fooB: 
    def __init__(self): 
    a = bla() 
    ... 

fooA:

import fooB 

def main(): 
    foo1 = fooB() 
    ... 

と私は

NameError: global name "foo" is not defined

エラーを取得することができます誰か私を助けてくれますか?

+3

コードに 'foo()'はありません。代わりに 'fooB'を使うことに興味があるなら、あなたは' fooB.fooB() '*としてそれを呼び出す必要があります。 ()* –

+1

まあ 'foo()'とは何でしょうか?表示されているコードには定義されていません – UnholySheep

+0

常に問題の完全なエラーメッセージを表示(トレースバック) - 他にも有用な情報があります。どのラインが問題になるか。あなたは例のコードで 'foo'を使わないので、問題は他の部分になければなりません。 – furas

答えて

0

あなたが実際にfoob型のモジュールである

import fooB 
fooB() 

を実行します。 fooB.fooB()を実行するか、from fooB import fooBを使用する必要があります(これは後で少し混乱するかもしれませんが、これは常にモジュールまたは関数です)。

関連する問題