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