2010-12-02 28 views
1

私はPythonの初心者です。非常に基本的な機能をコード化しようとしていますが、エラーが発生しています。私はそれの背後にある理由を知らない。コード例:Pythonの関数の問題

def printme(str): 
    print str; 
    return; 

printme("My string"); 

これは、論理的に実行する必要がありますが、それは私に次のエラー与える:

トレースバック(最新の呼び出しの最後): "モジュール" で ファイル "STDIN"、ライン1を、
NameError:名前「プリントミー」が任意の提案は歓迎されている

が定義されていません...

+2

あなたはPythonでセミコロンは必要ありません。 – Zeke

+0

それはあなたのコードの正確なコピーと貼り付けですか?それは私に戻り時にインデントエラーを与えます。 –

+1

それはまっすぐコピー/ペーストですか? 'return'行は' print'と一直線に並んでいません – Javier

答えて

4

セミコロンは同様に存在してはなりませんreturn文(関数の実行は、その中にインデントされた最後の文で終了します)。

完全にあなたはインデントをフォーマットさかどうかはわかりますがパイソンしない範囲を決定することに依存している

def printme(str): 
    print str #This line is indented, 
       #that shows python it is an instruction in printme 

printme("My string") #This line is not indented. 
        #printme's definition ends before this 

python syntax

ウィキペディアのページはインデントルールをカバーcurrectly実行します。

+1

私はあなたのポイントを得ていません – ricky2002

+2

@ricky:Pythonはスコープにカッコを使用していないので、一貫した方法でブロックをインデントする必要があります。毎回タブまたは同じ数のスペースを使用すると、文がどのブロックに属するかについてPythonが混乱することになります。 – Zeke

+0

私は、セミコロンとインデントに関して私が何を意味するのかを明確にしました。それの一部がまだ明確でない場合は、私にお知らせください。 –

1

このトライCP:

def printme(str): 
    print str 

printme("My string") 
2

それはpython style guide (pep8)に従うことを助けるかもしれないが。あなたはする必要はありませんが、インデントのエラーを避けるのに役立ち、他の人々のコードを読むのは簡単です。

2

インデントエラーのために動作しません。関数がコンパイルされていないので、関数は存在しません。

(元の質問は「適切な形式」のため離れて編集されています)