Python | 文法の基本:Python の特徴

Python
スポンサーリンク

Python の特徴

Pythonは読みやすさと書きやすさを重視した言語で、初心者でも直感的にコードを書けるのが大きな魅力です。インデント(字下げ)でコードのまとまりを表すため、見た目が整理され、処理の流れを追いやすくなります。Web開発、データ分析、機械学習、自動化など、幅広い分野で使われ、豊富なライブラリが学習や実務を後押しします。

Pythonは「必要最小限の文法」で始められるのも利点です。最初は変数、データ型、条件分岐、ループ、関数だけで多くのことができます。インデントやPEP 8(スタイルガイド)に注意すると、読みやすく保守しやすいコードを書けます。


文法の基本(超入門)

変数とデータ型の基本

Pythonでは変数の型を宣言する必要はありません。代入した値に応じて型が決まります。代表的な型は整数(int)、浮動小数(float)、文字列(str)、真偽値(bool)です Qiita Pythonのソバ

x = 10         # 整数
pi = 3.14      # 浮動小数
name = "太郎"  # 文字列
is_ok = True   # 真偽値
Python

文字列の結合や型変換はよく使います。文字列と数値はそのまま連結できないため、str()で文字列に変換します。

age = 20
message = "年齢は " + str(age) + " 歳です"
print(message)  # 年齢は 20 歳です
Python

条件分岐(if, elif, else)

条件に応じて処理を切り替えます。インデントがブロックを表すため、行頭のスペースがとても重要です。

age = 17
if age >= 18:
    print("成人です")
else:
    print("未成年です")
Python

複数条件がある場合はelifを使います。

score = 85
if score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
else:
    print("D")
Python

ループ(for, while)

決まった回数や条件を満たす間、処理を繰り返します。range()は連番を作るのに便利です。

# for: 0〜4を出力
for i in range(5):
    print(i)

# while: 条件がTrueの間繰り返す
count = 0
while count < 5:
    print(count)
    count += 1
Python

関数の定義と呼び出し

処理をひとまとまりにして再利用できます。引数や戻り値を使って入出力を扱います。

def greet(name):
    return f"こんにちは、{name}さん"

print(greet("太郎"))  # こんにちは、太郎さん
Python

主要なデータ構造

リスト(list)とタプル(tuple)

リストは可変の並び、タプルは不変の並びです。取り扱いの柔軟性が高いのはリスト、変更禁止で安全にしたいときはタプル。

fruits = ["apple", "banana", "orange"]
fruits.append("grape")  # 末尾に追加
print(fruits[1])        # banana

point = (10, 20)        # タプル(不変)
# point[0] = 99  # これはエラー(タプルは変更不可)
Python

辞書(dict)と集合(set)

辞書は「キー→値」のペアを管理し、集合は重複を持たない要素の集まりです。探索や重複排除に強い構造です。

user = {"name": "太郎", "age": 20}
user["age"] = 21
print(user.get("email", "未登録"))  # キーがなければ既定値

tags = {"python", "beginner", "python"}  # 重複は自動で排除
print(tags)  # {'python', 'beginner'}
Python

重要ポイントの深掘り

インデントとブロックの考え方

Pythonでは中括弧の代わりにインデントでブロックを示します。インデントは「半角スペース4つ」が一般的で、タブとスペースを混在させるとバグの温床になります。if、for、while、defなどの直後の行からインデントを始め、ブロックが終わる場所でインデントを戻すのが基本です。

# 良い例(4スペースインデント)
def classify(n):
    if n % 2 == 0:
        return "偶数"
    else:
        return "奇数"
Python

インデントは「見た目」だけではなく「文法」の一部です。ズレると構文エラーになるため、エディタ設定で「タブをスペースに変換」「可視化」を有効にすると安全です。

真偽値と条件式の落とし穴

Pythonでは空文字、0、空のコンテナ([], {}, set())は偽(False)として評価されます。条件式に直接オブジェクトを置く書き方は簡潔ですが、意図しない真偽評価を避けるため、比較を明示する方が読みやすい場面があります。

items = []
if items:         # 空リストはFalse
    print("何かある")
else:
    print("空です")

text = ""
if text != "":    # 明示することで意図が伝わる
    print("非空文字列")
Python

ミュータブルとイミュータブル

リストや辞書はミュータブル(変更可能)、文字列やタプルはイミュータブル(変更不可)。関数の引数にミュータブルを渡した場合、関数内の変更が外側に影響することに注意すると、予期せぬ副作用を防げます。

def add_item(lst, x):
    lst.append(x)  # 呼び出し元のリストも変わる

data = [1, 2]
add_item(data, 3)
print(data)  # [1, 2, 3]
Python

副作用を避けたいときはコピーを渡します。

import copy
safe = copy.copy(data)  # 浅いコピー
Python

実用的な標準関数とイディオム

abs, round, max, minといった組み込み関数はすぐに役立ちます。f文字列は可読性高く文字列整形ができ、リスト内包表記は短く表現できる繰り返し構文です。

# 数値関数
print(abs(-100))        # 100
print(round(2.21, 1))   # 2.2
print(max([5, 9, 3, 12]))  # 12

# f文字列
name, score = "太郎", 92
print(f"{name}さんの点数は {score} 点")

# リスト内包表記
squares = [n*n for n in range(5)]  # [0, 1, 4, 9, 16]
Python

例題で身につける

例題1:入力に応じてメッセージを変える

標準入力、型変換、条件分岐の総合練習です。

age_text = input("年齢を入力してください: ")
# 入力は文字列。数値として比較するためにintへ変換
age = int(age_text)

if age < 0:
    print("不正な値です")
elif age < 13:
    print("子どもです")
elif age < 18:
    print("ティーンです")
else:
    print("成人です")
Python

ポイントは、input()の戻り値が文字列であることと、比較前に数値へ変換することです。例外処理(try/except)を足すとより堅牢になります。

例題2:売上集計(リスト+辞書+ループ)

複数データを集計し、見やすく表示します。

orders = [
    {"item": "apple", "price": 120, "qty": 3},
    {"item": "banana", "price": 90, "qty": 5},
    {"item": "orange", "price": 150, "qty": 2},
]

total = 0
for order in orders:
    subtotal = order["price"] * order["qty"]
    total += subtotal
    print(f'{order["item"]}: 小計 {subtotal} 円')

print(f"合計: {total} 円")
Python

辞書で項目をわかりやすく管理し、forで順番に処理する基本パターンです。キー名のスペルミスはKeyErrorになりがちなので注意しましょう。

例題3:関数で再利用可能な処理にする

業務ロジックを関数化しテストしやすくします。

def calc_tax(amount, rate=0.1):
    """税込金額を返す"""
    if amount < 0 or rate < 0:
        raise ValueError("負の値は不可")
    tax = round(amount * rate)
    return amount + tax

print(calc_tax(1000))        # 1100
print(calc_tax(1000, 0.08))  # 1080
Python

デフォルト引数、入力検証、丸め処理を含む、実務で使える最小構成です。


次の一歩(学習の進め方のヒント)

基本文法が掴めたら、例外処理(try/except)、ファイル入出力、モジュールのインポート、標準ライブラリの活用(datetime、pathlib、csv、jsonなど)へ広げると、日常の作業自動化やデータ処理が一気に現実的になります。スタイルガイド(PEP 8)に沿ったインデントと命名、テストの導入(unittestやpytest)を意識すると、品質と保守性が高まります。

Pythonは分野横断で使えるため、目的に合わせたライブラリから触れるのがおすすめです。WebならFlask/Django、データ分析ならNumPy/pandas、機械学習ならscikit-learn/TensorFlowなど、学ぶべき順序が自然に見えてきます。

タイトルとURLをコピーしました