投稿

Python初心者の基本構文

Python初心者の基本構文 Python初心者のための基本構文まとめ インデントとコロンで作るブロック PEP8と命名規則で可読性を高める まとめと次のステップ Python初心者のための基本構文まとめ Pythonはシンプルな文法で初心者に優しい言語です。まずは変数の宣言、文字列の結合、リストや辞書の作成など、基本的な構文を押さえましょう。以下は代表的な例です。 name = "Alice" age = 30 print(f"{name} は {age} 歳です。") fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit) このように、インデントやコロンを使ってブロックを構成し、可読性の高いコードを書けます。 インデントとコロンで作るブロック Pythonではインデントが文法の一部です。インデントが同じブロック内にある行は同じ処理単位として扱われます。コロンはブロックの開始を示す記号です。以下の例で確認しましょう。 def greet(name): if name: print(f"こんにちは、{name}さん!") else: print("こんにちは!") greet("Bob") greet("") インデントがずれると IndentationError が発生します。コロンを忘れると SyntaxError になります。正しいインデントとコロンの使い方を習得することが、Python初心者にとって重要です。 PEP8と命名規則で可読性を高める PEP8はP...

Python初心者JSON操作

Python初心者JSON操作 Python初心者のためのJSON入門 jsonモジュールの基本操作 loadとdumpでデータ交換を実践 APIから取得したJSONを辞書変換する Python初心者のためのJSON入門 JSON(JavaScript Object Notation)は、データ交換の標準フォーマットとして広く使われています。Python初心者でも扱いやすい構文で、文字列と辞書(dict)の相互変換が簡単に行えます。この記事では、jsonモジュールを使った基本的な操作から、APIとの連携までを解説します。 jsonモジュールの基本操作 Pythonに標準で搭載されているjsonモジュールは、 load 、 dump 、 loads 、 dumps の4つの関数で構成されています。 load はファイルオブジェクトからJSONを読み込み、 dump は辞書をファイルに書き出します。 loads は文字列から辞書へ、 dumps は辞書を文字列へ変換します。 import json # 文字列から辞書へ data = json.loads('{"name": "Alice", "age": 30}') # 辞書を文字列へ json_str = json.dumps(data, indent=2) print(json_str) 上記の例では、 indent=2 を指定して可読性の高いJSON文字列を生成しています。 loadとdumpでデータ交換を実践 実際のデータ交換では、ファイルやネットワークから取得したJSONを扱うことが多いです。 load と dump を使うと、ファイルI/OとJSON変換を一度に行えます。 # JSONファイルを読み込む with open('data.json', ...

Python初心者のCSV操作術

Python初心者のCSV操作術 はじめに CSVファイルの読み込み CSVファイルへの書き込み まとめ はじめに Python初心者の方にとって、データ処理は最初の壁の一つです。特に表計算ソフトで扱うようなカンマ区切りのデータを扱う場合、CSV(Comma Separated Values)ファイルが頻繁に登場します。Python には標準ライブラリとして csv モジュールが用意されており、 reader と writer を使うだけで簡単にデータ読み込み・書き出しが可能です。この記事では、Python初心者が実際に手を動かしながら CSV 操作を学べるよう、サンプルコードとともに解説します。 CSVファイルの読み込み まずは CSV ファイルを読み込む方法です。 csv.reader を使うと、行ごとにリストとして取得できます。以下のサンプルでは、 sample.csv というファイルを開き、1 行ずつ処理しています。 import csv with open('sample.csv', newline='', encoding='utf-8') as f: reader = csv.reader(f) for row in reader: print(row) # 例: ['名前', '年齢', '職業'] このコードは、カンマ区切りのデータを自動で分割し、リストとして返します。 newline='' を指定することで、改行コードの扱いを統一し、Windows と Unix での違いを吸収します。 CSVファイルへの書き込み 次に、データを書き出す方法です。 csv.writer を使うと、リストをカンマ区切りでファイルに書き込むことができます。以下の例では、リス...

Python初心者のパス操作

Python初心者のパス操作 パス操作の基本 ディレクトリ作成と存在確認 pathlibでパス結合とファイル名取得 パス操作の基本 Python初心者が最初に直面する課題の一つが、ファイルパスを扱うことです。 os モジュールと os.path サブモジュールは、古くからパス操作に使われてきました。例えば、現在の作業ディレクトリを取得するには os.getcwd() を呼び出します。 import os print(os.getcwd()) # 例: /home/user/projects パス結合は os.path.join() で行います。OSごとの区切り文字(Windowsでは\\、Unix系では/)を意識せずに安全に結合できます。 folder = 'data' file_name = 'sample.txt' full_path = os.path.join(folder, file_name) print(full_path) # 例: data/sample.txt ディレクトリ作成と存在確認 ディレクトリが存在しない場合に作成するには os.makedirs() を使います。 exist_ok=True を指定すると、既に存在していてもエラーになりません。 import os dir_path = 'output' os.makedirs(dir_path, exist_ok=True) print(f'{dir_path} が作成されました') # 例: output が作成されました ディレクトリやファイルの存在確認は os.path.exists() で行います。存在しない場合は False が返ります。 if os.path.exists(dir_path): print('ディレクトリは存在します') else: ...

Python初心者の乱数術

Python初心者の乱数術 ランダムモジュールの基本 randintとuniformで数値を生成 choiceとshuffleでリストを操作 くじ引きの実装例 乱数生成の注意点 ランダムモジュールの基本 Python初心者が最初に触れるのが random モジュールです。 random は標準ライブラリに含まれており、外部パッケージをインストールせずに乱数生成が可能です。モジュールを使うには import random を行います。 乱数生成は「乱数生成」と呼ばれ、ゲームやシミュレーション、テストデータ作成など幅広い用途があります。Python では random が提供する関数を組み合わせて、整数、浮動小数点数、リストからのランダム選択などを行います。 randintとuniformで数値を生成 整数を生成したい場合は random.randint(a, b) を使います。 a と b は含まれる範囲です。例えば 1 から 10 までの整数を取得するには次のようにします。 import random for _ in range(5): print(random.randint(1, 10)) 浮動小数点数を生成したい場合は random.uniform(a, b) を使用します。 a と b は範囲の下限と上限です。例として 0.0 から 1.0 の間の数を取得します。 print(random.uniform(0.0, 1.0)) choiceとshuffleでリストを操作 リストからランダムに要素を選びたいときは random.choice(seq) を使います。 seq はシーケンス(リスト、タプル、文字列など)です。 colors = ['赤', '青', '緑', ...

Pythonで日付時刻計測入門

Pythonで日付時刻計測入門 Python初心者のためのdatetime入門 現在時刻の取得とフォーマット 時間計測の方法 日付計算の実践例 Python初心者のためのdatetime入門 Pythonで日付と時刻を扱うときは、標準ライブラリの datetime モジュールが最も基本的なツールです。 datetime は date 、 time 、 datetime という3つのクラスを提供し、日付だけ、時刻だけ、または両方を扱うことができます。 まずは簡単なインポート例です。 from datetime import datetime, date, time これで、 datetime.now() で現在時刻を取得したり、 date.today() で今日の日付を取得したりできます。 現在時刻の取得とフォーマット Python初心者が最初に直面するのは「現在時刻を表示したい」という要件です。 datetime.now() で取得したオブジェクトは、デフォルトではISO 8601形式(例:2026-01-09 12:34:56.789012)で表示されますが、 strftime メソッドを使えば好きなフォーマットに変換できます。 now = datetime.now() print(now) # 2026-01-09 12:34:56.789012 # フォーマット例 formatted = now.strftime("%Y/%m/%d %H:%M:%S") print(formatted) # 2026/01/09 12:34:56 フォーマット文字列の中で使える主な書式は以下の通りです。 %Y: 4桁年 %m: 2桁月 %d: 2桁日 %H: 24時間表記の時 %M: 分 ...

pipで仮想環境をマスター

pipで仮想環境をマスター Python初心者のための仮想環境設定 ライブラリ管理の基本 パッケージのインストールとアンインストール アップデートとrequirements.txtの活用 Python初心者のための仮想環境設定 Pythonを学び始めるとき、まずはプロジェクトごとに依存関係を分離するために仮想環境を作ることが重要です。 venv は標準ライブラリに含まれており、追加のインストールは不要です。以下の手順で仮想環境を作成し、アクティベートしましょう。 python -m venv myenv source myenv/bin/activate # Linux/macOS myenv\Scripts\activate # Windows 仮想環境が有効になると、プロンプトに環境名が表示され、インストールするパッケージはその環境内に限定されます。これにより、システム全体に影響を与えることなく、必要なライブラリを管理できます。 ライブラリ管理の基本 Pythonのパッケージ管理は pip が中心です。 pip install で必要なライブラリをインストールし、 pip list で現在インストールされているパッケージを確認できます。ライブラリのバージョンを固定したい場合は、 requirements.txt を作成し、以下のように記述します。 numpy==1.26.0 pandas==2.1.4 requests==2.31.0 このファイルを使って環境を再現するには、 pip install -r requirements.txt を実行します。これにより、同じバージョンのパッケージがインストールされ、プロジェクトの再現性が高まります。 パッケージのインストールとアンインストール パッケージを追加するには、以下のように pip install を使用します。 ...

Python初心者のクラス入門

Python初心者のクラス入門 クラス基礎の概要 インスタンスとメソッド 設計と属性の考え方 クラス基礎の概要 Python初心者が最初に触れる概念の一つがクラスです。クラスはオブジェクト指向の基本構造で、データとそれに対する操作をひとまとめにします。class キーワードで定義し、__init__ メソッドで初期化を行います。__init__ はインスタンスが生成される際に自動的に呼び出され、self 引数で自身を参照します。 以下は簡単なクラス定義の例です。属性として name と age を持ち、メソッド greet で挨拶を返します。 class Person: def __init__(self, name, age): self.name = name self.age = age def greet(self): return f"こんにちは、{self.name}です。年齢は{self.age}歳です。" インスタンスとメソッド クラスを定義したら、次にインスタンス(実体)を作ります。インスタンスはクラスの設計図から作られた具体的なオブジェクトです。インスタンスを作るときはクラス名を呼び出し、必要な引数を渡します。 alice = Person("Alice", 30) print(alice.greet()) # こんにちは、Aliceです。年齢は30歳です。 メソッドはインスタンスに対して動作する関数です。self を最初の引数に取ることで、呼び出し元のインスタンスにアクセスできます。これにより、同じクラスから複数のインスタンスを作っても、それぞれが独立した属性を持つことができます。 設計と属性の考え方 オブジェクト指向設計では「何を表現したいか」を明確にし、クラスを設計します。属...

tryでバグ回避&安全デバッグ

tryでバグ回避&安全デバッグ エラー処理の基本 try/except/finally の使い分け デバッグとバグ回避の実践 エラー処理の基本 Python初心者が最初に直面するのは、実行時に発生するエラーです。エラー処理は、プログラムの安全性を高め、予期しないクラッシュを防ぐために不可欠です。まずは、例外処理の概念を理解しましょう。Pythonでは、例外が発生すると、スタックトレースが表示され、エラーメッセージが出力されます。これを見て、どこで何が起きたかを把握できます。 例外処理は try ブロックでコードを実行し、 except でエラーを捕捉します。エラーメッセージをユーザーに分かりやすく提示することで、デバッグが容易になります。 try/except/finally の使い分け 以下は典型的な構文です。 try: # 失敗しやすい処理 except ValueError as e: # ValueError が発生したときの対処 except Exception as e: # それ以外の例外 finally: # 例外の有無に関わらず必ず実行される処理 finally はリソース解放やログ出力に便利です。例えば、ファイルを開いたら必ず閉じる、データベース接続をクローズするなどです。これにより、バグ回避と安全性が向上します。 デバッグとバグ回避の実践 エラーメッセージを読むだけでなく、 logging モジュールを使って詳細な情報を残すと、後から原因を追跡しやすくなります。さらに、 assert 文で前提条件を検証し、想定外の入力を早期に検出できます。 実際にデバッグを行う際は、以下の手順をおすすめします。 エラーメッセージを確認し、スタックトレースを読む。 該当行の変数値を print で出...

Python初心者のファイル操作

Python初心者のファイル操作 ファイル操作の基本 openとwith構文 readとwriteの使い方 ファイル操作の基本 Python初心者が最初に直面する課題の一つが、テキストファイルを扱う方法です。ファイル操作は、データを永続化したり、外部から情報を取り込む際に不可欠です。まずは、ファイルを開くための基本的な関数である open を覚えましょう。 open はファイル名とモードを引数に取り、ファイルオブジェクトを返します。モードは 'r' (読み込み)や 'w' (書き込み)などがあります。 openとwith構文 ファイルを開いたら、必ず閉じる必要があります。従来は close を呼び出して手動で閉じていましたが、Pythonでは with構文 を使うと自動的に閉じてくれます。これにより、例外が発生してもファイルが確実に閉じられ、リソースリークを防げます。以下は典型的な書き方です。 with open('sample.txt', 'r') as f: content = f.read() この例では、 sample.txt を読み込みモードで開き、 content に全テキストを読み込んでいます。 with構文 を使うことで、 close を忘れる心配がなくなります。 readとwriteの使い方 ファイルからデータを取得するには read を、データを書き込むには write を使用します。 read はファイル全体を文字列として返すか、引数で指定したバイト数だけ読み取ります。 write は文字列をファイルに書き込み、書き込みモードで開いたファイルに対してのみ使用できます。以下に簡単な例を示します。 # 書き込み with open('output.txt', 'w') as f: ...