それではいよいよ今回からエディタを使用してPythonを書いていこうと思います。
始めは文字列の基礎のキ。文字列の出力と複数行文字列、コメントについてお伝えします。
文字列を書いて出力する
テキストエディタを開いて〇〇.pyファイルを新規作成するか開きましょう。記事ではエディタにVSCodeを使用していますが、何でもかまいません。
ターミナルが開いていない方はここで開いてみましょう。VSCodeではCtrl+@で開くことができます。
このような画面になっていれば準備はOKです。
ファイルの先頭で色々とおまじないを記述しなければならない言語もありますが、Pythonの場合、(場合によっては)1行目からいきなりコードを始めることができます。
では開いたファイルに、文字を表示するコードを書いてみましょう。
print("pythonをはじめてみる")
ダブルクオートで囲まれた文字は基本的に好きなものでかまいませんし、ダブルクオートはシングルクオートでもかまいません。
ダブルクオートはShift+2、
シングルクオートはShift+7で入力できます。
(日本語キーボード)
それ以外は同じものを入力してください。
入力できたらファイルの内容を実行してみましょう。実行方法はいくつかありますが、初めてであれば最も手っ取り早いのは右上の再生ボタンです。
その他のコード実行方法についてはこちらの記事で触れているので、興味のある方はご覧ください。
ターミナル上にPythonからの返事が返ってくれば、コードは正しく実行されています。
文字列を足し合わせる、繰り返す
文字列は算術演算子(+や×)を使って、組み合わせたり繰り返したりすることが可能です。
print("空条"+"承太郎")
print("オラ"*8)
これを実行すると次のような実行結果になります。
空条承太郎
オラオラオラオラオラオラオラオラ
1行目では"空条"という文字列と"承太郎"という文字列の2つを足し合わせることで、結果として"空条承太郎"という1つの結果を得ています。
2行目のアスタリスクは、これで計算記号の×を表します。"オラ"を×8することでこのような実行結果になります。
文字列は+(プラス)や*(アスタリスク)で足し合わせたり繰り返す事ができる
複数行の文字列
プログラミングでは複数行の文字列を扱う場合、通常とはやや勝手が違う場合が多くあります。
例えば以下のようなコードは、コードとして成立しません。
print("吾輩は猫である。
名前はまだ無い。")
実行するとこんなエラーになります。
SyntaxError: EOL while scanning string literal
文法エラー: 文字列リテラルのスキャン中にEnd Of Line(行の最後)に到達
意味はまだ分からなくてかまいませんが、この「SyntaxError」が出るということは、コードのどこかに何かしらの致命的欠陥があるという証拠です。
SyntaxErrorが出た場合は自分が書いたコードをもう一度よく確認してみましょう。
コード上では複数行の文字列を、改行無しで出力する
それではこのエラーを解決してみます。1つの解決方法はバックスラッシュを行末に付けることです。
print("吾輩は猫である。\
名前はまだ無い。")
1行目の最後にバックスラッシュを追加することで、「この文章はこのまま次の行に続きます」ということをPythonに示しています。
この場合の出力結果はこちらです。
吾輩は猫である。名前はまだ無い。
コード上での改行はPythonの処理では改行とみなされず、出力は1行となります。
バックスラッシュは日本語キーボードの場合、「¥」のキーや「?」の右のキーで入力できる
コード上でも出力でも改行する
出力でもコード上の改行をそのまま反映させたい場合、文字列丸ごとを1つのクオートではなく、3つのクオートで囲みます。
print('''吾輩は猫である。
名前は
まだ無い。''')
print("""吾輩は猫である。
名前は
まだ無い。""")
この場合もクオートはダブルでもシングルでもかまいません。出力はこのようになります。
吾輩は猫である。
名前は
まだ無い。
「”’」や「”””」は三連引用符と呼ばれる
出力でのみ改行する
出力でのみ改行させたい場合、改行部分で「\n」を入力しましょう。
print("吾輩は猫である。\n名前は\nまだ\n無い。")
出力ではこのように改行が表現されます。
吾輩は猫である。
名前は
まだ
無い。
コードにコメントを記述する
最後にコメントの記述方法をお伝えしておきます。
コメントというのはソースコード上に記述されながらコードとして認識されない、「処理中は無視されるべき文字列」です。これをコメントアウトと呼びます。
用途としてはメモ書きや備忘録、他のプログラマーに向けた注意事項などを記載したり、ソースコードの一部を無効化してテスト実行したりする場合が多いかと思います。
コードの1行をコメントアウト
print("https://www.google.com/search?rlz=1C1CHBD_jaJP818JP818&{google:acceptedSuggestion}oq=python&sourceid=chrome&ie=UTF-8&q=python")
例えばこんなソースコードの場合、これが何を意味するのか、パッと見では分かりません。
そこでコメント書き足してみましょう。
# Googleの「python」検索結果
print("https://www.google.com/search?rlz=1C1CHBD_jaJP818JP818&{google:acceptedSuggestion}oq=python&sourceid=chrome&ie=UTF-8&q=python")
行の頭に「#」を付けることで、その行に書かれたものは全てコードとは認識されず、コメントとして扱われます。
1行目は処理としては無視されるため、実行結果は2つとも同じです。
https://www.google.com/search?rlz=1C1CHBD_jaJP818JP818&{google:acceptedSuggestion}oq=python&sourceid=chrome&ie=UTF-8&q=python
行の一部をコメントアウト
「#」を行の途中に挿入することで、1行丸ごとではなく「#」以降をコメントアウトすることも可能です。
print("楽器ケースに入らないでください。") #カルロス・ゴーン
この例では「カルロス・ゴーン」のみがコメントアウトされ、実行されるのはその行では「#」よりも前のコードのみとなり、エラーにはなりません。
実行結果には表向きの文字列だけが表示されます。
楽器ケースに入らないでください。
複数行まとめてコメントアウト
三連引用符を使う
最後に複数行に渡ってコメントアウトする方法をお伝えしておきます。
まずは公式には設定されていませんが、上に出てきた複数行の文字列をそのまま使用する方法です。
'''
ここから
ここまで
複数行の
コメントです
'''
print("ここだけ出力")
シングルクオート、またはダブルクオート3つ(三連引用符)は、それだけで使用するとコメントアウトの扱いとなり、実行されません。
ここだけ出力
ただし、この方法を使用する場合はインデントに注意が必要です。
print("ここと")
'''
ここから
ここまで
複数行の
コメントです
'''
print("ここだけ出力")
三連引用符の始まりは、その直前のインデントと揃えなければエラーになってしまいます。
上の例では最初の行と三連引用符のインデントが合っていないため、IndentationErrorとなります。
IndentationError: unexpected indent
インデントのエラー: 不正なインデント
エディタのショートカットキーで一発コメントアウト
こちらはそもそも言語としての仕様ではありませんが、VSCodeでは複数行をまとめてコメントアウトするためのショートカットキーがデフォルトで用意されています。
まずはファイルにコードを記述し、コメントアウトしたい部分を選択しましょう。
選択した状態でCtrl+/を押すと、
選択されたすべての行に「#」が追加され、コメントアウトされました。
最も簡単で使用頻度の高い方法はこの方法ではないでしょうか。一度お試しあれ。