PR

【Python】基本文法/構文ルールを3分でわかりやすく解説

Python

Pythonは非常に直感的で、初心者にも理解しやすいプログラミング言語です。

参考 Pythonとは?

このページでは初めてPythonを学習する人のためにPythonコーディングの基礎となる文法を1からわかりやすく解説します。

このページで学べる内容
  • コメントアウト
  • インデント(コードブロック)

Pythonを学習するすべての人にとって、これを知らないと何も始まらないレベルの超基本事項をまとめていますので是非最後までご覧ください。

スポンサーリンク

Pythonの "Hello World!"

まずは、文法を学習する前に早速Pythonを動かしてみましょう!「Hello World!」を表示する方法です。

細かい文法を学習する前に、まずはPythonを実行できる環境を整っていることを確認しましょう!

print('Hello World!')

参考 print関数の基本・使い方

Hello Worldを表示することができたでしょうか?では、早速Pythonの基本的な書き方・基礎文法を解説していきます。

Python:基本ルール

Pythonは「非常に少ないコード量でプログラムを記述できて」「初心者でも比較的簡単に読むことができる」プログラミング言語です。

例えば、他の言語でのお約束事であった「文末にはセミコロン」「カンマで区切る」などのルールがほとんど存在しません。

以下では、Pythonでプログラムを作成していくに際して、「これだけは覚えておかないとはじまらない」必要最低限の文法ルールを整理して解説していきます。

Python:文法ルール① 改行が命令の区切り

Pythonでは改行が特別な意味を持ちます。具体的には、Pythonでは改行をすることでステートメント(命令)の終了を意味します。

これはセミコロン(;)を使用する言語(例えばCやJava)とは対照的です。

サンプルコード
print('Hello World!')
print('Hello Python')
a = 'Hello World!'
print(a)

1行で1文ですので、このコードは4つの文から成り立ちます。

print
('Hello Python')

a = 
'Hello World!'

上記のように誤った改行をすると「SyntaxError: invalid syntax」となります。

Pythonでは基本は1行で1文です。

ただし、改行するとステートメントが終了するというルールには例外があります。特に、括弧(())、角括弧([])、波括弧({})で囲まれたコードは、改行しても一つのステートメントとして扱われます。

my_list = [
    "apple",
    "banana",
    "cherry",
]

これはリストmy_listの定義が複数行にわたっているにも関わらず、角括弧で囲まれているため一つのステートメントとみなされます。

参考 リストとは?

また、バックスラッシュ(\)を使用することで、明示的にステートメントを次の行に続けることもできます。これは長いステートメントを複数行に分割する場合に便利です。

result = 1 + 2 + 3 + \
         4 + 5 + 6

また、Pythonではセミコロン(;)を使って1行に複数のステートメント(命令)を書くことができます。それぞれのステートメントはセミコロンで区切られます。

x = 10; print(x)

上記のコードは2つのステートメント、x = 10print(x)を1行に書いています。これは以下の2行のコードと同じ動作をします。

x = 10
print(x)

ただし、1行に複数のステートメントを書くことは一般的には推奨されません。それはコードの可読性を低下させ、エラーを見つけにくくする可能性があるからです。

Pythonのスタイルガイド(PEP 8)でも、1行に複数のステートメントを書くことは避けるよう推奨しているので、これは豆知識として理解しておきましょう。

Python:記述ルール② コメント:#

Pythonでは「#」を使ってコメントを書くことができます。これはコードが何をするのかを説明するため、または特定のコード行を無効化(コメントアウト)するために使用されます。#記号以降の行はPythonによって無視されます。

"#" から後ろの行がコメントとして認識されます。

サンプルコード
# これはコメントです
print("Hello, world!")  # この行はプログラムに影響を及ぼしません

"#" を利用したコメントは、1行のみ有効なので、インラインコメントと呼ばれます。

コメントアウトとは?

コメントアウトとは、プログラムの一部を一時的に無効にするための手法。

特定の行や節をコメントアウトすると、その部分はプログラムとして実行されなくなります。これはプログラムの一部をテストしたり、エラーの原因を特定したりするために有用です。

print("Hello, world!")
# print("This won't be printed")

エンジニアの視点から見ると、コメントアウトはコードを一時的に無効化するための強力なツールです。何らかのエラーが発生したときに、エラーの原因を絞り込むために特定のコードをコメントアウトしてみることがよくあります。

また、新たな機能を追加する前に既存のコードをコメントアウトして、新旧のコードが互いにどのように影響を及ぼすかを調査することもあります。

Python:記述ルール③ 複数行のコメント ''' """

複数行にわたる長いコメント(またはdocstring)を書く際には3つのシングルクォート''')または3つのダブルクォート""")を用います。

"""
この部分は複数行コメントです。
複数行にわたる説明を書くのに便利です。
"""

def my_function():
    """これはドキュメンテーション文字列です。関数の動作について説明します。"""
    pass

'''
これは複数行のコメントです。
この行はコメントの一部です。
この行もコメントの一部です。
'''

"""
これも複数行のコメントです。
この行はコメントの一部です。
この行もコメントの一部です。
"""
docstringとは?

ドキュメンテーション文字列(=通称docstring)は、Pythonの関数メソッド・クラスモジュールに添付することができる長い説明文です。

docstringはコードの理解を助け、他の開発者や将来の自分自身に対する重要なメモの役割を果たします。また、自動的にドキュメンテーションを生成するツール(Sphinxなど)でも利用されます。

以下の例では、add_numbers関数の目的と動作、引数(パラメータ)、戻り値をdocstringで明記しています。

def add_numbers(a, b):
    """
    二つの数値を足し合わせる関数。

    Parameters:
    a (int or float): 足し合わせる第一の数
    b (int or float): 足し合わせる第二の数

    Returns:
    int or float: aとbの合計
    """
    return a + b

Pythonの組み込み関数help()を使うと、関数やクラス、モジュールのdocstringを表示することができます。例えば、上記のadd_numbers関数に対してhelp(add_numbers)を実行すると、そのdocstringが表示されます。

Pythonの公式スタイルガイド(PEP 8)では、すべての公開関数、メソッド、クラス、モジュールにdocstringを書くことを推奨しています。これはコードの可読性と保守性を向上させる重要な慣習です。

Python:記述ルール④ インデント

Pythonではコードブロック(関数、ループ、クラス、条件文など)を定義するためにインデント(通常はスペース4つ)を使用します。

これはPythonの特徴的な部分であり、他の多くの言語とは異なる点です。

他の言語(例えばCやJava)では波括弧 {} を使用してコードブロックを定義しますが、Pythonではインデントを使用してコードブロックを視覚的に示します。これにより、Pythonのコードは他の言語に比べて読みやすく、理解しやすくなります。

# if文の例
x = 10
if x > 0:
    print("x is positive")

# 関数の例
def greet(name):
    print(f"Hello, {name}!")

# forループの例
for i in range(5):
    print(i)

# クラスの例
class MyClass:
    def __init__(self, value):
        self.value = value

    def print_value(self):
        print(self.value)

参考 if文 / 関数 / forループ / クラス

上記の例では、各コードブロック(if文、greet関数、forループ、MyClassクラス)がインデントを使用して定義されています。これにより、それぞれのコードブロックが何を含んでいるのかが明確になります。

インデントのレベルはネスト(入れ子)の深さを示しています。つまり、インデントが深くなるほど、そのコードブロックはさらに内側のブロックを表しています。

このため、Pythonプログラムを読むときは、インデントを注意深く確認することが重要です。

Pythonの基本的な書き方のまとめ

Pythonの基礎文法

まとめ1 改行

Pythonでは改行はステートメント(命令)の終わりを意味します。すなわち、各ステートメントは新しい行から始めます。しかし、一行に複数のステートメントを記述することも可能で、それにはセミコロン(;)を用います。

x = 10  # ステートメントの終わりで改行
print(x)  # 新しいステートメント、新しい行

y = 20; print(y)  # 一行に複数のステートメント

まとめ2 コメント

Pythonでは # 記号を用いてコメントを書きます。この記号以降の行はPythonによって無視されます。また、長いコメントやドキュメンテーション文字列(docstring)には三重のクォート('''または""")を用います。

# これは単行コメントです
x = 10  # この行はコードに影響を及ぼしません

'''
これは複数行のコメントです。
この行もコメントの一部です。
'''

まとめ3 インデント

Pythonではインデントはコードブロック(ループ、条件文、関数、クラス等の内部)を定義します。通常、インデントにはスペース4つを用います。

for i in range(3):  # 新しいブロックの始まり
    print(i)  # インデントによってforループの一部となる

if x > 0:  # 新しいブロックの始まり
    print("x is positive")  # インデントによってif文の一部となる

始めてPythonを勉強するのは結構難しいですよね。

でもその悩みを抱えているのは一人じゃありません。全てのPython使いが同じ道を進んできました。

Pythonをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?今すぐ行動したい方は以下の記事をチェック!

読者料典 Python入門:学習カリキュラム ←こちらから!

このWebサイトは現役のエンジニアが以下3点を目的として運営しています。

  1. 勉強:一度理解した内容を忘れないように。
    → アウトプットは「最強のインプット」である! 
  2. 備忘:忘れたとしても後から見返せるように。
    → 未来の自分への「お手紙」を書いています。 
  3. 共有:〇〇ってこうだったんだ!の感動をシェアできるように。
    → あなたの知識は誰かにとっての「価値ある情報」です。 

副業ブログの始め方はこちらから

スポンサーリンク
Python
シェアする
ビズドットオンラインをフォローする
タイトルとURLをコピーしました