Pythonとは?

Python(パイソン)は1991年にグイド・ヴァンロッサム氏が公開したプログラミング言語です。読みやすさと書きやすさを最優先に設計されており、現在ではWeb開発・データ分析・機械学習・自動化スクリプトなど幅広い分野で使われています。

初心者にとってPythonが優れている理由:

  • 文法がシンプルで英語の文章のように読める
  • セミコロンや波カッコが不要で、インデント(字下げ)でブロックを表す
  • 豊富な標準ライブラリ(電池付き、Batteries Included)
  • 巨大なコミュニティと学習リソース

Pythonのインストール

公式サイト python.org から最新版をダウンロードできます。インストール後、ターミナル(コマンドプロンプト)で以下を実行して動作確認します:

python --version
# Python 3.12.x のように表示されればOK

変数とデータ型

Pythonでは型を明示する必要はなく、値を代入するだけで変数が作られます(動的型付け)。

# 変数の代入
name = "田中太郎"     # 文字列(str)
age = 30              # 整数(int)
height = 170.5        # 浮動小数点数(float)
is_student = True     # 真偽値(bool)
nothing = None        # 値なし(NoneType)

# 型を確認
print(type(name))      # <class 'str'>
print(type(age))       # <class 'int'>
print(type(is_student))# <class 'bool'>

主な組み込み型

説明
int整数42
float小数3.14
str文字列"こんにちは"
bool真偽値True / False
listリスト(可変)[1, 2, 3]
tupleタプル(不変)(1, 2, 3)
dict辞書{"name": "太郎"}
set集合(重複なし){1, 2, 3}

文字列操作

name = "Python"

# 連結
greeting = "Hello, " + name       # "Hello, Python"

# f-string(推奨)
age = 33
msg = f"{name}は{age}歳です"      # "Pythonは33歳です"

# 主なメソッド
"hello".upper()       # "HELLO"
"WORLD".lower()       # "world"
"  spaces  ".strip()  # "spaces"
"a,b,c".split(",")    # ["a", "b", "c"]
",".join(["a","b"])   # "a,b"
"abc".replace("a","z")# "zbc"
len("Python")         # 6
💡 文字列フォーマットには f-string を使いましょう。Python 3.6以降で使え、最も読みやすく高速です。

条件分岐:if文

age = 18

if age >= 20:
    print("成人です")
elif age >= 18:
    print("18歳以上ですが未成年です")
else:
    print("未成年です")

# 三項演算子
status = "成人" if age >= 20 else "未成年"

主な比較演算子と論理演算子

# 比較
x == y    # 等しい
x != y    # 等しくない
x < y     # 小さい
x >= y    # 以上

# 論理
x and y   # かつ
x or y    # または
not x     # 否定

# in 演算子
"a" in "abc"        # True
3 in [1, 2, 3]      # True

繰り返し:for と while

for文

# リストを順番に処理
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# 数値範囲(range)
for i in range(5):     # 0, 1, 2, 3, 4
    print(i)

for i in range(1, 11): # 1〜10
    print(i)

# enumerate:インデックス付き
for i, fruit in enumerate(fruits):
    print(f"{i}: {fruit}")

# zip:複数リストを同時にループ
names = ["太郎", "花子"]
ages = [25, 30]
for name, age in zip(names, ages):
    print(f"{name}は{age}歳")

while文

count = 0
while count < 5:
    print(count)
    count += 1

# break と continue
for i in range(10):
    if i == 3:
        continue   # この回をスキップ
    if i == 7:
        break      # ループを抜ける
    print(i)

リスト(List)

Pythonで最もよく使うデータ構造です。可変(要素を追加・削除できる)で、異なる型を混在できます。

numbers = [10, 20, 30, 40, 50]

# 要素アクセス(0始まり)
numbers[0]    # 10
numbers[-1]   # 50(末尾)

# スライス
numbers[1:3]  # [20, 30]
numbers[:2]   # [10, 20]
numbers[2:]   # [30, 40, 50]

# 追加・削除
numbers.append(60)        # 末尾に追加
numbers.insert(0, 5)      # 先頭に挿入
numbers.remove(20)        # 値を指定して削除
del numbers[0]            # インデックスで削除
popped = numbers.pop()    # 末尾を取り出す

# その他
len(numbers)              # 長さ
sorted(numbers)           # ソート済み新リスト
numbers.sort()            # 元リストをソート
numbers.reverse()         # 反転
sum(numbers)              # 合計
max(numbers)              # 最大

辞書(Dictionary)

キーと値のペアを保持するデータ構造です。

user = {
    "name": "田中太郎",
    "age": 30,
    "email": "tanaka@example.com"
}

# アクセス
user["name"]                # "田中太郎"
user.get("name")            # "田中太郎"(キーがなければNone)
user.get("phone", "未登録") # 第2引数でデフォルト値

# 追加・更新
user["phone"] = "090-1234-5678"
user["age"] = 31

# 削除
del user["email"]
user.pop("phone")

# ループ
for key, value in user.items():
    print(f"{key}: {value}")

# キー一覧 / 値一覧
list(user.keys())
list(user.values())

関数定義

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

print(greet("太郎"))

# デフォルト引数
def greet(name, greeting="こんにちは"):
    return f"{greeting}、{name}さん"

# キーワード引数
greet(name="花子", greeting="おはよう")

# 可変長引数
def total(*numbers):
    return sum(numbers)

total(1, 2, 3, 4, 5)   # 15

# キーワード可変長
def show_user(**info):
    for k, v in info.items():
        print(f"{k}: {v}")

show_user(name="太郎", age=30)

ラムダ式(無名関数)

square = lambda x: x ** 2
square(5)   # 25

# sortやmapと相性がいい
numbers = [3, 1, 4, 1, 5]
sorted(numbers, key=lambda n: -n)   # 降順

例外処理

try:
    age = int(input("年齢を入力: "))
    print(f"{age}歳ですね")
except ValueError:
    print("数値を入力してください")
except Exception as e:
    print(f"予期せぬエラー: {e}")
else:
    print("正常終了")
finally:
    print("常に実行される")

ファイル操作

# 書き込み(with文で自動close)
with open("data.txt", "w", encoding="utf-8") as f:
    f.write("こんにちは\n")
    f.write("Python\n")

# 読み込み
with open("data.txt", "r", encoding="utf-8") as f:
    content = f.read()        # 全体を文字列で
    # または
    for line in f:            # 1行ずつ
        print(line.strip())
💡 必ずwith open(...)を使いましょう。例外が起きてもファイルが自動的に閉じられます。

これから学ぶべきこと

基礎を押さえたら、次のステップとして:

  • クラス(オブジェクト指向):データと処理をまとめて扱う仕組み
  • 標準ライブラリ:datetime、json、os、re(正規表現)など
  • 外部パッケージ:pip install で requests、pandas、numpy などを導入
  • 仮想環境:venv や poetry でプロジェクトごとに環境を分離

まとめ

  • Pythonはシンプルで読みやすい言語。インデントでブロックを表す
  • 変数は動的型付け。型を明示しなくても動く
  • リスト・辞書は最もよく使うデータ構造
  • 条件分岐はif/elif/else、繰り返しはfor/while
  • 関数はdefで定義。デフォルト引数や可変長引数も使える
  • エラー処理はtry/except、ファイル操作はwith open

Pythonは「書きながら覚える」のが最短です。本記事のコード例をひとつずつ実際に動かして、自分の手でアウトプットしてみましょう!