Coghlan本記事は、原著者の許諾のもとに翻訳・掲載しております。Carpentryブートキャンプに参加する機会がありました(ティーチングアシスタントとして)。彼らが出くわした課題の多くはプログラミングを教えるときの固有の複雑さによるものでしたが、いくらかは避けられることのように思えました。2では、整数の除算は答えの小数点以下を切り捨てた商を表示します。importによる、型の強制を必要とします。3はデフォルトでまさにこのように動作します。3.0は2008年にリリースされましたが、そのプロジェクトはそれより数年早く本格的に始まりました。2.5はまだ開発中でした)。それらをたびたび交互に切り替えるために学んだ必須の習慣の一つは、両方のバージョンで同様に動作する一般的なprint構文の使用へと私自身を制限することです。丸括弧で囲まれた単一の引数を渡します。world!もし複数の引数を渡す必要があれば、私は暗黙の連結機能よりも文字列の書式指定を使うでしょう。2を広範囲で使いました。3を実行していた学生にとって、うまく動いてきたはずなのに、いずれのバージョンでも失敗するといった例を引き起こしました。値の出力の共通構文を選ぶことで、Pythonのバージョンに依存しないようになります.講義をする分にはこれで十分でしょう。Australiaのプレゼンの両方で言及されていた問題が、出力値と戻り値の違いを学生に教えることの難しさでした。問題となるのは、Pythonの対話型インタプリタで提供されるRead-Eval-Print-Loopの”Print”の部分です。return_arg(10)10対話型プロンプトの出力には、明らかな違いは見られません。strやreprの結果である数値を表す型は、どちらも同じです。これらの数値が違っていたとしても、学生にはこの違いが明確ではないでしょう。world'私自身、この問題に対する明確な回答を持っているわけではありませんが、試してみる価値がありそうなのは、sys.displayhookの置換方法を生徒に教えてみることです。具体的には、次の変更を実際にやって見せ、ユーザに表示するための出力値とさらなる処理のための戻り値とがどう違うのかを説明してみせることです。10出力値と戻り値の違いを理解することは、関数を効果的に使うのに必要不可欠な学習です。この方法で結果を表示させることで、これらの違いを少しでも明確にすることができるでしょう。Notebook)上に挙げた例は標準的なCPythonの実行環境に特化したもので、CPythonはデフォルトで対話型インタプリタを装備しています。Notebookも含む)の対話型インタプリタにはなかなか興味深いいくつかの相違点があります。1つには、戻り値と出力値が違う形で表示されるという点です。結果の前に出力の参照番号が表示されます。10そして、オプションとして”autocall”機能が装備されています。これは関数を呼び出す時にユーザが括弧を除外していた場合、自動的にIPythonが括弧を付加してくれるよう設定しておける機能です。IPythonのautocall機能はMATLABの”コマンド構文”の関数呼び出しの表記法に酷似しているという点です)。3でprintが標準のビルトイン関数になったことに気づきもしないという点でしょう。ツイート翻訳に対するフィードバックがございましたら、メールまたはGitHubのIssueよりお寄せください。Ltd.リクルートグループサイトへ。