Pythonプログラミングの基礎と実践

Pythonの特徴と開発環境構築

Pythonは汎用性の高い高水準言語で、簡潔な構文と豊富なライブラリが特徴です。現在の標準バージョンはPython 3.x系であり、開発環境の構築方法を解説します。

Linuxへのインストール手順

# 依存パッケージのインストール
sudo apt-get update
sudo apt-get install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev

# ソースコードのビルド
wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz
tar xzf Python-3.11.4.tgz
cd Python-3.11.4
./configure --enable-optimizations --prefix=/opt/python/3.11.4
make -j$(nproc)
sudo make altinstall

# バイナリのリンク作成
sudo ln -s /opt/python/3.11.4/bin/python3.11 /usr/local/bin/python3

基本文法の実践例

最初のスクリプト

#!/usr/bin/env python3
print("こんにちは、世界")

変数の命名規則

  • 英数字とアンダースコアのみ使用可能
  • 先頭を数字で始められない
  • 予約語の使用禁止
  • 意味を明確に表す命名が推奨
# 推奨スタイル例
user_count = 25  # スネークケース(公式推奨)
maxValue = 100   # キャメルケース(代替スタイル)

データ型の詳細

文字列操作の実用例

message = "  Pythonプログラミング  "
print(message.strip())          # 前後の空白除去 → "Pythonプログラミング"
print(message.split(" "))       # 空白で分割 → ['', 'Pythonプログラミング', '']
print(f"長さ: {len(message)}")  # f文字列によるフォーマット

リスト操作のパターン

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

# スライス操作
print(items[1:3])  # ['banana', 'cherry']
print(items[::-1]) # 逆順出力 ['cherry', 'banana', 'apple']

# 要素の追加と削除
items.append("date")     # 末尾追加
items.insert(1, "berry") # インデックス1に挿入
items.pop()              # 末尾要素削除

制御構造の実装

条件分岐の応用例

score = int(input("点数を入力: "))
if score >= 90:
    grade = "S"
elif score >= 80:
    grade = "A"
elif score >= 70:
    grade = "B"
else:
    grade = "C"
print(f"評価: {grade}")

ループ処理の最適化

# 九九の出力(forループのネスト)
for i in range(1, 10):
    for j in range(1, i+1):
        print(f"{j}×{i}={i*j}", end="\t")
    print()

# 三角形のパターン出力
size = 5
for row in range(size):
    print("# " * (row + 1))

ファイル操作の実践

# ファイルの安全な読み書き
with open("data.txt", "r", encoding="utf-8") as read_file:
    lines = read_file.readlines()

# 特定行の修正
lines[5] = lines[5].rstrip() + " 追加テキスト\n"

with open("modified.txt", "w", encoding="utf-8") as write_file:
    write_file.writelines(lines)

文字コードの理解

現代のPython開発ではUTF-8エンコーディングが標準です。主要なポイント:

  • ASCII: 英数字専用(1バイト)
  • UTF-8: 可変長エンコーディング(西欧言語1バイト、日本語3バイト)
  • Pythonスクリプトの先頭に# -*- coding: utf-8 -*-を記述する必要はなくなりました
# 文字コード変換の実例
japanese_text = "日本語"
utf8_bytes = japanese_text.encode("utf-8")  # 文字列→バイト列
original = utf8_bytes.decode("utf-8")       # バイト列→文字列

タグ: Python3 文字コード 制御構造 ファイル操作

5月26日 04:50 投稿