printで表示

このレッスンで作るもの — 画面に文字を出す print を覚え、おこづかい帳の見出しを表示します。

print で表示する

Python を書いて最初にやることは、画面に文字を出すことです。使うのは print という命令です。print は「かっこの中に渡したものを画面に出す」という、それだけの働きをします。

このコースでは全 74 レッスンを通して おこづかい帳アプリ を少しずつ育てていきます。今日はその 1 行目、アプリの見出しを表示するところから始めます。

プログラミングの学習で最初につまずくのは、書いたコードが「動いたのか動いていないのか分からない」ことです。print はそれを目で確かめる道具です。

print の書き方

print のあとにかっこ () を書き、その中に表示したいものを入れます。文字を表示したいときは、ダブルクオート " かシングルクオート ' で囲みます。囲まれた文字のかたまりを 文字列 と呼びます。

print("おこづかい帳")

これを実行すると、画面に おこづかい帳 と出ます。クオートは文字列の範囲を示す目印なので、表示結果には出てきません。

数値を出すときはクオートで囲みません。print(120)120 と表示します。print("120") も見た目は同じ 120 ですが、前者は数値、後者は文字列で、中身の型が違います。この違いは第 2 章で詳しく扱います。

print("おこづかい帳") print("りんご 120円") print("みかん 80円")

print を 3 回書けば、3 行表示されます。上から順に実行されるので、書いた順番のとおりに出てきます。

表示するのと返すのは違う

このコースの演習では、print で表示する代わりに return で値を返す 関数を書いてもらいます。採点の仕組みが、関数が返した値を見て正解かどうかを判定するためです。

def title_line(): return "=== おこづかい帳 ==="

def は関数を作るための命令、title_line が関数の名前です。return のうしろに書いた値が、この関数の答えになります。

print は人が読むために画面へ出す命令、return はプログラムの中で値を受け渡すための命令です。役割がまったく違うので、混ぜないように気をつけます。

printreturn の違いは、初心者が最初に必ず引っかかるところです。図で整理しておきます。

diagram (will load when visible)

print だけ書いて return を書かない関数は、何も返していないことになり、None という「値がない」ことを表す特別な値が返ります。採点はここで落ちます。

動きを追ってみる

title_line() を呼ぶと何が起きるかを、順番に追ってみます。

  1. title_line() と書いて関数を呼び出す
  2. 関数の中に入り、return "=== おこづかい帳 ===" に到達する
  3. その文字列が関数の答えとして、呼び出した場所に戻る

戻ってきた値は変数に入れて使えます。

def title_line(): return "=== おこづかい帳 ===" heading = title_line() print(heading)

heading に文字列が入り、それを print で表示しています。関数を作る側と使う側が分かれているのが分かります。

関数は「材料を渡すと答えを返してくれる箱」です。今回の title_line は材料なしで、いつも同じ答えを返す箱です。

よくある間違い

  1. return を書き忘れるprint("=== おこづかい帳 ===") とだけ書くと、画面には出ますが関数の戻り値は None になり、テストは失敗します。必ず return で返します。
  2. クオートの閉じ忘れreturn "=== おこづかい帳 == のように閉じるクオートがないと SyntaxError になります。開いたら必ず閉じます。
  3. 全角の記号を使ってしまうprint() のように全角のかっこを書くとエラーになります。記号はすべて半角で書きます。日本語を打つ設定のまま記号を入力すると起こりがちです。

SyntaxError は「文法が壊れている」という意味のエラーです。行番号が一緒に表示されるので、その行とその 1 つ前の行を見ると原因が見つかります。

やってみよう

関数 title_line を実装してください。引数は取らず、文字列 "=== おこづかい帳 ==="return で返します。イコールは半角 3 つ、その内側は半角スペース 1 つずつです。

print ではなく return を使う点に注意します。書けたら実行して、結果が期待どおりか確かめてみてください。余裕があれば、print(title_line()) と書いて画面にも出してみると、return した値がそのまま print に渡る流れが体感できます。

要件

  1. 関数名は title_line で、引数は取らない
  2. 文字列 "= おこづかい帳 =" を return する
  3. print ではなく return を使う
  4. イコールは半角 3 つ、内側は半角スペース 1 つずつ

入出力例

title_line()"=== おこづかい帳 ===" title_line()"=== おこづかい帳 ===" title_line()"=== おこづかい帳 ===" title_line()"=== おこづかい帳 ==="

ヒント

生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア
編集 LuaGate編集部
main.py
main.py
学習モード

メモ

printで表示

⌘S で保存