-
Pythonで作るWebサイトアラーム!指定時刻に自動でページを開く方法
はじめに この記事では、Pythonを使って「Webサイトアラーム」を作成する方法を解説します。あらかじめURLと時刻を指定しておくと、システムの時刻がその瞬間に達したとき、自動的にブラウザで目的のWebページを開いてくれるシンプルな仕組みです。 課題の概要 WebサイトのURLと時刻を入力として受け取り、システム時刻が指定時刻に達したタイミングで、ブラウザ上に該当するWebページを表示します。 ブックマークには日々利用するさまざまなWebページを保存できますが、「毎日決まった時刻に特定のページを開いて作業したい」という場面は少なくありません。たとえば、朝会の資料ページや業務システムへのログ
-
Pythonのdecimalモジュール徹底解説!sqrt・exp・log・compareなど主要関数の使い方
Pythonには、10進浮動小数点数(decimal floating point)を扱うためのdecimalモジュールが標準ライブラリとして用意されています。このモジュールを使うと、正しく丸められた高精度な浮動小数点演算が可能になります。 通常のfloat型は内部で2進数によって数値を表現するため、「0.1 + 0.2」が厳密には0.3にならないといった誤差が発生します。decimalモジュールは、金額計算など厳密な精度が求められる場面で特に役立ちます。 利用するには、まずdecimalモジュールをインポートします。 import decimal 本記事では、decimalモジュールで使える
-
データサイエンスにおけるRとPythonの徹底比較:特徴・強み・使い分けのポイント
データサイエンスとは データセットを扱う際には、記述統計の詳細な探索、統計的検定、グラフ描画関数など、さまざまな統計関数を適用していきます。データサイエンスとは、分析的に複雑な問題を解決するために、アルゴリズム開発・データ推論・テクノロジーを横断して取り組む学際的な分野です。そして、その中心にあるのは常に「データ」そのものです。 Pythonの場合、Pandasは代表的なデータ分析ライブラリの一つで、ExcelスプレッドシートやCSVファイル、その他さまざまなデータソースからデータを読み込む際に活用されます。 R言語について 概要 Rはオープンソースのプログラミング言語です。ユーザーフレンド
-
Pythonで実装する単一ニューロンニューラルネットワークの基礎と仕組み
ニューラルネットワークとはニューラルネットワークは、ディープラーニングの中核をなす非常に重要な技術です。画像分類、音声認識、物体検出など、幅広い分野で実用化されており、AI技術の発展を支える基盤となっています。この記事では、ニューラルネットワークの基本構造と動作原理をわかりやすく解説し、最後にPythonで実装できる単一ニューロンのシンプルなサンプルコードを紹介します。ニューラルネットワークの構成要素ニューラルネットワークは、主に以下の要素で構成されます。入力層(x):データを受け取る層隠れ層:任意の数だけ設置可能な中間層出力層(ŷ):予測結果を出力する層重みとバイアス(W・b):各層間の接続
-
【Python入門】特定の文字列に一致するまでランダムな文字列を自動生成する方法
はじめに ある文字列が与えられたとき、英小文字・大文字・数字・記号などをランダムに組み合わせた文字列を生成し続け、最終的に元の文字列と完全に一致する文字列が作られるまで繰り返す、という処理をPythonで実装してみましょう。 この手法は「無限の猿の定理(Infinite Monkey Theorem)」をシミュレートするプログラムとしても知られており、ランダム性と反復処理の仕組みを学ぶのに絶好の題材です。 処理の流れ(アルゴリズム) ステップ1: 目標となる文字列を入力として受け取る。 ステップ2: 英小文字・英大文字・数字・特殊文字など、使用可能なすべての文字を変数に格納する。 ステップ
-
【Python入門】randint()関数でじゃんけんゲームを実装する方法
Pythonを使えば、手軽に面白いミニゲームを開発できます。その代表例のひとつが「じゃんけんゲーム」です。本記事では、標準ライブラリのrandomモジュールが提供するrandint()関数を使って、コンピュータと対戦できるじゃんけんゲームを実装する方法を解説します。 実際のじゃんけんでは、プレイヤーは掛け声に合わせて拳(グー)を振り下ろしながら、グー・チョキ・パーのいずれかの手を出します。このプログラムではその流れを再現し、ユーザーの入力とコンピュータのランダムな選択を比較して勝敗を判定します。 じゃんけんゲームの基本ルール まず、じゃんけんの勝敗ルールをおさらいしておきましょう。 グー v
-
PythonでWebスクレイピング!主要ライブラリ6選の特徴と使い方を徹底解説
Webスクレイピングとは コンピュータサイエンスにおけるWebスクレイピング(Web Scraping)とは、Webサイトからデータを抽出する技術のことです。この手法を活用することで、Web上に散在する非構造化データを、分析や加工がしやすい構造化データへと変換できます。 Python 3でよく使われる代表的なスクレイピングツールは以下の6つです。 Urllib(urllib.request) Requests BeautifulSoup Lxml Selenium MechanicalSoup 1. Urllib(urllib.request) UrllibはPythonに標準で組み込ま
-
PythonのopenpyxlモジュールでExcelファイルを読み書きする方法【初心者向け完全ガイド】
Pythonには、Excelファイル(.xlsx)を操作するためのopenpyxlという便利なモジュールが用意されています。このモジュールを使えば、Excelファイルの新規作成、データの書き込み・読み取り、シートの追加や管理など、さまざまな操作をプログラムから自動的に行うことができます。 本記事では、openpyxlの基本的な使い方を、実際に動作するサンプルコードとともに順番に解説していきます。 openpyxlのインストール方法 openpyxlは標準ライブラリではないため、まずインストールが必要です。コマンドプロンプト(またはターミナル)で以下のコマンドを実行してください。 pip ins
-
PythonとOpenCVを使って動画を逆再生(リバース再生)する方法
OpenCVは「Open Source Computer Vision(オープンソース・コンピュータビジョン)」の略称です。この強力なライブラリを活用することで、画像や動画に対してさまざまな操作を実行できます。OpenCVの主な応用分野顔認識システムモーショントラッキング(動体追跡)人工ニューラルネットワーク深層ニューラルネットワーク動画ストリーミング などOpenCVのインストール方法Windows環境では、以下のコマンドでインストールできます。pip install opencv-pythonLinux環境の場合は、次のコマンドを使用します。sudo apt-get install pyt
-
Pythonで12時間形式の時刻を24時間形式に変換するプログラムの作り方
本記事では、PCの現在時刻を取得し、12時間形式(AM/PM付き)から24時間形式へ変換するPythonプログラムを紹介します。変換処理には文字列スライシングを活用します。 変換の基本ルール 12時間形式から24時間形式への変換は、次のルールに従います。 PM(午後)の場合:時(hour)の部分に12を加算する AM(午前)の場合:そのままの値を使用する ただし例外として、「12:xx:xx PM」は正午を意味するため12のまま、「12:xx:xx AM」は深夜0時を意味するため「00」に置き換える必要があります。 実行例 入力:07:20:20 PM 出力:19:20:20 アルゴリズム
-
PythonでリストからN個の最大要素を取得する方法
整数のリストが与えられたとき、その中からN個の大きな要素を取り出して新しいリストとして返すのが、ここでの課題です。本記事では、基本的なループ処理による方法から、Python標準ライブラリを活用した効率的な方法まで、サンプルコードとともに解説します。 例 入力 : [40, 5, 10, 20, 9] N = 2 出力 : [40, 20] アルゴリズム 整数のリストと、取得する要素数Nを受け取ります。 N回のループを実行します。 各ループでリスト内の最大値を探し、新しいリストに格納すると同時に元のリストから削除します。 実装コード def Nnumberele(list1, N):
-
Pythonのタイマーオブジェクト(threading.Timer)の使い方を徹底解説
タイマーオブジェクトは、一定の時間間隔に基づいて特定のアクションを実行したい場合に役立つ機能です。Pythonでは、threadingモジュールが提供するTimerクラスを使うことで、指定した時間が経過した後に処理を実行するスレッドを簡単に生成できます。TimerクラスはThreadクラスのサブクラスであり、start()メソッドを呼び出すことでタイマーが起動します。 タイマーオブジェクトの作成方法 タイマーオブジェクトを作成するには、以下の構文を使用します。 threading.Timer(interval, function, args=None, kwargs=None) interv
-
PythonのTurtleグラフィックス入門!基本メソッド一覧と図形描画サンプルコード集
Turtle(タートル)はPythonに標準搭載された特殊な機能で、専用の描画ウィンドウ上に簡単に図形を描くことができるモジュールです。 使い方はとてもシンプルです。まずturtleモジュールをインポートし、次にウィンドウ(Screen)を作成、その後タートルオブジェクトを生成します。あとは各種メソッドを呼び出すだけで、キャンバス上に自由に描画できます。この記事では、よく使われるメソッドの一覧表と、正方形・星・六角形などの具体的な描画例をサンプルコード付きで解説します。 主なTurtleメソッド一覧 メソッド パラメータ 説明 Turtle() なし 新しいタートルオブジェクトを作成
-
Pythonでのソケットプログラミング入門|主要メソッドとサーバー・クライアントの実装例
ソケットとは ソケットは、双方向通信チャネルにおける両端点のことです。同じマシン上のプロセス間だけでなく、地球の反対側にあるマシン同士のプロセス間でも、ソケットを通じて通信を行うことができます。 ソケットは、TCPやUDPといった異なる種類のチャネルによって実装されます。信頼性の高い接続型通信にはTCPが、高速かつコネクションレスな通信にはUDPが適しています。 ソケットを作成するには、socketモジュールをインポートし、socket.socket()関数を使用します。 構文 my_socket = socket.socket(socket_family, socket_type, pr
-
Pythonで文字列が回文(パリンドローム)かどうかを判定する方法
文字列が与えられたとき、その文字列が回文(パリンドローム)であるかどうかを判定するのが、本記事の目的です。 回文とは、「madam」「level」「しんぶんし」のように、前から読んでも後ろから読んでも同じになる文字列のことを指します。Pythonでは、スライス記法を使うことで、わずか数行のコードでこの判定を実装できます。 アルゴリズム Step1: 文字列を入力として受け取る。 Step2: スライスを使って文字列を逆順にし、元の文字列と比較する。 Step3: 判定結果を表示する。 ポイント解説:スライスによる文字列の反転 このプログラムの核心は [::-1] というスライス記法です。こ
-
Pythonのfork()関数で子プロセスを作成する方法
この記事では、Pythonのfork()関数を使用して子プロセスを作成し、親プロセスと子プロセスそれぞれのプロセスIDを表示する方法を解説します。 fork()とは fork()を呼び出すと、呼び出し元のプロセス自身のコピーが作成されます。これはLINUXやUNIXシステムにおいて非常に重要な仕組みです。fork()は主にマルチプロセス環境で活用され、親プロセスの実行内容が複製され、そこから子プロセスが生成されます。 戻り値の挙動は以下のとおりです。 負の値:エラーが発生したことを示します 0:子プロセス側で実行していることを示します 正の値:親プロセス側で実行していることを示します fo
-
Pythonのheapqモジュールを使って2つのソート済みリストをマージする方法
この記事では、Pythonのheapqモジュールを使用して、2つのソート済みリストを1つにマージする方法を解説します。例えば、list1 = [10, 20, 30, 40]とlist2 = [100, 200, 300, 400, 500]という2つのリストがある場合、マージ後は[10, 20, 30, 40, 100, 200, 300, 400, 500]のような結果が得られます。heapqモジュールとはheapqはPythonに標準で搭載されているライブラリモジュールのため、追加のインストールは不要です。利用する前にインポートするだけで使えます。import heapqheapqモジュ
-
Pythonの演算子関数とは?operatorモジュールの基本と使い方
Pythonには、算術演算・論理演算・比較演算・ビット演算といった数学的な操作を行うための標準ライブラリ関数が用意されています。これらの関数はすべてoperatorモジュールにまとめられています。 operatorモジュールを利用するには、まず標準ライブラリからインポートする必要があります。 import operator この記事では、operatorモジュールが提供する演算子関数のうち、特に使用頻度の高い「算術演算」と「比較(関係)演算」の関数を、サンプルコードと実行結果あわせて解説します。 算術演算の関数 まずは、四則演算など基本的な計算を行う関数から見ていきましょう。主な関数は以下
-
Pythonの型変換を徹底解説|文字列・数値・コンテナ型の変換方法
Pythonでは、データを簡単に別の型へ変換することができます。型変換(キャスト)にはさまざまな組み込み関数が用意されており、文字列から数値への変換や、リスト・タプル・セットといったコンテナ型同士の変換などが可能です。この記事では、Pythonで行える主な型変換の方法を、具体的なサンプルコードとともに分かりやすく解説します。文字列を数値型に変換する文字列型のオブジェクトを数値に変換するには、int() や float() などの関数を使用します。int() 関数を使うと、数値を表す文字列を整数値(10進数)に変換できます。引数には文字列を指定し、デフォルトの基数は10です。また、第2引数で基数
-
PythonでJSONを扱う方法|jsonモジュールによる変換とエンコード・デコードの基本
JSON(JavaScript Object Notation)は、軽量で広く普及しているデータ交換フォーマットです。Pythonでは標準ライブラリに含まれる json モジュールを使うことで、JSON文字列をPythonオブジェクトへ変換したり、その逆にPythonオブジェクトをJSON文字列へ変換したりできます。json モジュールはPythonの標準ライブラリに同梱されているため、追加インストールは不要です。まずはインポートしましょう。import jsonPythonオブジェクトをJSON文字列へ変換するjson モジュールには、PythonオブジェクトをJSON形式へ変換(シリアライ