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