Pythonプログラミングの入門として、これからしばらく基本的な文法などを学んでいくことになります。
本来は「Pythonとはどんなプログラミング言語か?」「スクリプト言語って何か?」みたいなところもしっかりやった方がいいのかもしれませんが、そこは直接触れることなく、説明の中で随時入れていければいいかなと考えています。
簡単なところからはじめていきましょう。とりあえずprint関数で出力するところからやっていきます。
まずPythonを立ち上げましょう。ターミナルからPythonを起動してもいいですし、Atomエディタのターミナルでもいいです。簡単な処理ですから、ファイルからの実行ではなく対話型のシェルでここでは話を進めていきます。
print関数で出力してみる
ここではPythonのIDLEを利用してみます。ターミナルを起動して、プロンプトに「idle3」と入力してIDLEを立ち上げましょう。
次のように入力してreturnキーを押してみましょう。行末にセミコロンなどは必要無いですよ。これがPythonの特徴でしたよね。
print("Python")
すると、次の行に「Python」と出力されるはずです。
こういう感じですね。
これは簡単ですよね。このように今回入力した「Python」のように文字列をprintで出力するには()の中にダブルクォーテーション「””」で文字列を囲んで入力します。ダブルクォーテーションの代わりにシングルクォーテーション「”」で囲んでもOKです。
次はこう入力してみましょう。
print("Python", "PHP")
今度はこのように出力されます。
「Python PHP」という形で出力されているのがわかります。
ここまではわかりますよね。簡単だと思います。
オプションを使う
このままだと文字列の間に1つスペースが入ってるのがわかりますね。複数のものを並べて入力すると、このように勝手にスペースが入ってしまいます。
このスペースが勝手に入ってしまうことで、意図しない出力の形になることもあります。「Python,PHP」のように間にカンマを入れて出力したいこともありますよね。
sepを使う
そんな時なオプションのsepを利用します。読み方はセパレーションでいいかな。
次のように入力してみましょう。
print("Python", "PHP", sep=",")
sepの続けてイコールの後に、間に入れる記号などをダブルクォーテーションで囲んだものを入力します。(sep=”,”)
「Python,PHP」とカンマが間に入って出力されていますね。このsepをうまく使って意図した出力にできるということを覚えておきましょう。
ただ、通常はあまり意識しなくてもいいと思います。
endを使う
オプションでもう一つendについて見ておきましょう。
これは文末の処理をどうするかということで、通常はデフォルトで改行コード(\n)が入っていることになっています。あえて入力すると次のようになります。
print("Python", "PHP", sep=",", end="\n")
結果はこのように特に何も変わらないはずです。
ちょっと違いがわかりやすいようにAtomのエディタのターミナルを使ってやって見ましょう。
次のように入力してみます。ファイル名はprint_code.pyにしています。
print("Python", "PHP", sep=",", end="\n")
print("Python", "PHP", sep=",", end="\n")
Atomエディタのターミナルで実行してみるとこうなります。
改行されて2行で出力されていますよね。
では今度は、1行目のendのオプションを空にしてみましょう。次のように入力してみます。
print("Python", "PHP", sep=",", end="")
print("Python", "PHP", sep=",", end="\n")
この1行目は改行しないという意味になります。
出力してみるとどうなるか予想して実行してみましょう。こうなるはずです。
さきほどと違って、「Python,PHPPython,PHP」と改行されずに繋がって表示されているのがわかります。
endオプションにはこんな使い方もあります。
最後の改行にエクスクラメーション「!」を入れて出力したい場合は「end=”!\n”」のように入力します。
print("Python", "PHP", sep=",", end="!\n")
出力するとこうなります。
最後に「!」が追加されているのがわかりますね。
まとめ
print関数を使って、Pythonでの出力をしてみました。直接の文字列の出力だけ行いましたが、変数を使っての出力は変数について学ぶ時にでもやりたいと思います。
文字列はクォーテーションで囲めば良いだけですね。sepとendのオプションも学びましたが、そういうものがあるのだという程度で頭の隅に置いておくだけでいいと思います。
ほとんどは、このオプションを意識することなくprintを利用すればいいはずです。