-
【Python】文字列の前半と後半が同じ文字セット(出現回数)を持つかどうかを判定する方法
この記事では、Pythonを使って「文字列を前半と後半に分けたとき、両方の部分に同じ文字が同じ回数だけ含まれているか」を判定する方法を解説します。重要なポイントは、文字の種類だけでなく出現回数(頻度)も完全に一致している必要があるという点です。また、文字列の長さが奇数の場合は、中央の1文字を無視して残りの文字だけで判定します。それでは、プログラムを作成するための手順を見ていきましょう。アルゴリズム1. 文字列を初期化する。 2. 空の辞書変数 alphabets を用意する。 3. 変数 mid を「文字列の長さ ÷ 2」で初期化する。 4. 先頭から mid の位置までループ処理を行う。
-
【Python】正規表現(Regex)で文字列内の「1(0+)1」パターンをすべて検索する方法
このチュートリアルでは、Pythonの正規表現(regex)を使って、文字列内に含まれる「1(0+)1」というパターンをすべて検出するプログラムを作成します。Pythonには正規表現を扱うためのreモジュールが標準で用意されており、これを活用することでパターンマッチングを簡単に実装できます。 サンプルケース まず、どのような動作になるのかサンプルを見てみましょう。 入力:string = Sample 1(0+)1 string with 1(0+)1 unnecessary patterns 1(0+)1出力:パターンの一致数:3件[1(0+)1, 1(0+)1, 1(0+)1] それでは、
-
知っておきたい!Pythonの驚くべきハックテクニック集
Pythonは、豊富なライブラリのおかげで多くの興味深いことができる魅力的なプログラミング言語です。この記事では、日々のコーディングで役立つ、覚えておくと便利なPythonの定番テクニック(ハック)を、コード例とともにわかりやすく紹介します。 同じ文字を何度も繰り返し出力する 他の多くのプログラミング言語では、同じ文字を繰り返し出力するために、文字列を必要な回数分書き並べたり、回数が多い場合にはループ処理を記述したりするのが一般的です。しかしPythonには、こうした繰り返し文字の出力をたった1行で実現できる仕組みが備わっています。 文字列に対して「* 回数」と記述するだけで、その文字列を指定
-
Pythonでテストを自動化する方法!unittestモジュールの使い方を徹底解説
このチュートリアルでは、Pythonにおけるテストの自動化について学びます。コードを書いた後は、さまざまな種類の入力を与えてテストし、コードが正しく動作しているかどうかを確認する必要があります。テストには手動と自動の2つの方法がありますが、手動でのテストは非常に手間がかかり、多くの時間と労力を消費してしまいます。そこで本記事では、Pythonによる自動テストの方法を詳しく解説していきます。unittestモジュールとはPythonには、コードを自動的にテストするためのunittestという標準モジュールが用意されています。このチュートリアルでは、このモジュールを使ってテストを行う方法を紹介しま
-
【初心者向け】Pythonのtype関数とisinstance関数でオブジェクトの型を判定する方法
このチュートリアルでは、Pythonの組み込み関数であるtype()とisinstance()について解説します。これらの関数は、オブジェクトの型(データ型)を判定するために使用される、非常に重要な機能です。それぞれの使い方を順番に見ていきましょう。 type(object) — オブジェクトの型を取得する type()は、オブジェクトがどのクラス(型)に属しているかを調べるための関数です。例えば、値が5であるオブジェクトvalがある場合、その型はint(整数型)になります。type関数を使えば、この情報を簡単に取得できます。 基本的な手順 オブジェクトを初期化する type(objec
-
Pythonでテキストファイルを読み書きする方法|open関数とアクセスモードの使い方を徹底解説
このチュートリアルでは、Pythonにおけるファイル操作(ファイルハンドリング)の基本について学びます。Pythonでは、組み込み関数を使うだけで、ファイルを簡単に編集・操作できるのが魅力です。 Pythonで扱えるファイルは2種類 Pythonで編集できるファイルには、主に次の2種類があります。それぞれの特徴を見ていきましょう。 テキストファイル テキストファイルとは、英字などの文字データが含まれた一般的なファイルです。ファイル内に記録されている内容を「テキスト」と呼びます。 バイナリファイル バイナリファイルは、0と1のデータで構成されるファイルです。そのままでは人間が理解できない形
-
Pythonによるデータ分析と可視化入門!pandas・matplotlibの使い方を解説
このチュートリアルでは、Pythonのpandasやmatplotlibなどのモジュールを使ったデータ分析と可視化の方法を学びます。Pythonはデータ分析に非常によく適した言語です。まずは以下のコマンドでpandasとmatplotlibをインストールしましょう。 pip install pandas pip install matplotlib インストールが完了すると成功メッセージが表示されます。まずpandasについて学び、その後でmatplotlibを見ていきましょう。 pandasとは pandasはPythonのオープンソースライブラリで、データ分析のための豊富なツールを提供し
-
Pythonのbin()関数とは?数値を2進数に変換する方法をわかりやすく解説
このチュートリアルでは、Pythonのbin()関数について詳しく解説します。 bin()関数とは bin()関数は、数値を2進数に変換するための組み込み関数です。引数として整数を渡すと、その数値の2進数表現を文字列として返します。 Pythonにおける2進数は0bで始まります。bin()関数の戻り値にも同様に0bというプレフィックスが付きますが、これは「binary(バイナリ=2進数)」を示す標準的な表記なので、混乱しないようにしましょう。文字列として利用する際に不要な場合は、スライスやformat()関数などで除去することも可能です。 基本的な構文 bin(整数) 例1:数値を2進数に変換
-
Python学習の始め方:初心者が必ず押さえるべき9つのステップ
これからPythonプログラミングを学ぼうとしている初心者の方、あるいは「何から手をつければいいのか分からない」と悩んでいる方に向けて、この記事では経験者ならではの実践的な学習のコツを紹介します。Pythonは高水準の汎用プログラミング言語です。機械学習からWeb開発まで、ほぼあらゆる分野で活用できるため、習得すればキャリアの大きな武器になります。それでは、具体的なステップを見ていきましょう。1. 学ぶ目的を明確にするまず「なぜPythonが必要なのか?」という問いに答えられるか自問してみてください。この問いに答えることで、本当にPythonを学ぶべきかどうかが明確になります。Pythonは機
-
Pythonでランダムな四則演算クイズを作ろう!基本プログラミング課題の解き方
このチュートリアルでは、Pythonを使ったプログラミング課題として、「ランダムに出題される算術クイズ」の解決策を実装していきます。初心者の方でも理解しやすいよう、コードの構造とポイントを丁寧に解説します。課題の内容今回作成するプログラムには、次のような要件があります。足し算・引き算・掛け算・割り算などの基本的な算術演算を含む問題をランダムに生成するユーザーが出題数を指定できる各問題に対してユーザーがキーボードから解答を入力するすべての問題が終わった時点で合計スコアを表示するそれでは、実際のコードを見ていきましょう。サンプルコード# randomモジュールとoperatorモジュールをインポー
-
Pythonの基本演算子まとめ|算術・比較・論理・ビット・代入演算子の使い方
このチュートリアルでは、Pythonで使われる基本的な演算子について詳しく解説します。演算子をマスターすれば、数値計算や条件分岐など、プログラミングの基礎がぐっと固まります。サンプルコードと実行結果も併せて紹介するので、ぜひ手を動かしながら読み進めてください。 算術演算子(Arithmetic Operators) 算術演算子は、足し算・引き算・掛け算などの数学的な計算を行うために使われます。主な算術演算子は以下の通りです。 加算(+) ----- 2つの数値を足します 減算(-) ----- ある数値から別の数値を引きます 乗算(*) ----- 2つの数値を掛け合わせます 除算(/)
-
Pythonで描くバーンズリーのシダ ― 反復関数系(IFS)によるフラクタル図形の作成方法
はじめに このチュートリアルでは、マイケル・バーンズリー(Michael Barnsley)によって考案されたバーンズリーのシダ(Barnsley Fern)について学びます。バーンズリーのシダは、その名の通り本物のシダ植物に非常によく似た形状を持つフラクタル図形です。この図形は、反復関数系(Iterated Function System:IFS)と呼ばれる4つの数式を繰り返し適用することで生成されます。 座標の変換は、次の行列形式の式で表されます。 f(x,y)=$$\begin{bmatrix}a & b \\c & d \end{bmatrix}\begin{bmatr
-
Pythonで逆順に反復処理する方法|range()関数の基本と実例
本記事では、Pythonにおける逆順(後方)の反復処理について解説します。普段のコーディングでは順方向の反復処理を使うことがほとんどですが、逆方向の反復処理を理解しておくと、場面によって大きな武器になります。ここでは、range()関数を使って逆方向に反復処理を行う方法を学びましょう。まずは、range()関数の基本から見ていきます。 range()関数とは range()関数は幅広い用途を持つ組み込み関数です。数値やイテラブルなど、さまざまなものと組み合わせて利用できますが、ここでは数値の扱いに焦点を当てます。 range()関数は最大3つの引数を受け取ることができ、引数の個数によって以下
-
Pythonで長い音声ファイルを文字起こしする方法!PydubとSpeechRecognitionによる音声分割・認識の完全ガイド
このチュートリアルでは、Pythonを使って音声ファイルを処理する方法を学びます。具体的には、長い音声ファイルを小さなチャンク(断片)に分割し、それぞれのチャンクから内容を認識してテキスト化します。最終的に、認識した内容はテキストファイルとして保存できます。まず始めに、以下のコマンドで必要なモジュールをインストールしましょう。必要なモジュールのインストールpydub のインストールpip install pydub上記コマンドを実行すると、次のような成功メッセージが表示されます。Collecting pydub Downloading https://files.pythonhosted.or
-
Pythonのascii()関数とは?使い方と実行例をわかりやすく解説
このチュートリアルでは、Pythonの組み込み関数であるascii()について詳しく解説します。ascii()は、オブジェクトをASCII文字だけで表現できる文字列に変換したいときに便利な関数です。 ascii(object)の基本構文 ascii(object)関数は引数を1つ受け取り、そのオブジェクトの「印字可能な(printable)表現」を文字列として返します。 具体的には、文字列やリストなどのオブジェクト内に含まれる非ASCII文字(アクセント記号付きのアルファベット、特殊記号など)を、エスケープシーケンス(\x、\u など)に自動的に置き換えて返します。ASCII文字のみで構成され
-
Python×OpenCVで学ぶ画像の算術演算:加算と減算の基本
はじめに本チュートリアルでは、PythonのOpenCVを使って、画像同士の算術演算(加算・減算)を行う方法を解説します。まずはOpenCVモジュールをインストールする必要があります。以下のコマンドを実行して、OpenCVモジュールをインストールしましょう。pip install opencv-python==4.1.1.26上記のコマンドを実行すると、次のような成功メッセージが表示されます。Collecting opencv-python==4.1.1.26 Downloading https://files.pythonhosted.org/packages/1f/51/e0b9cef23
-
Pythonのas_integer_ratio()メソッドでfloat値を既約分数に変換する方法
このチュートリアルでは、指定した浮動小数点数(float)と同じ比率を持つ2つの整数を求めるプログラムの作成方法を解説します。Pythonには、この目的を簡単に実現できるas_integer_ratio()という便利なメソッドが用意されています。as_integer_ratio()メソッドとはas_integer_ratio()は、float型のオブジェクトに対して呼び出すことができる組み込みメソッドです。このメソッドは、元の浮動小数点数と完全に一致する値を持つ分数を表す、(分子, 分母) のタプルを返します。返される分数は常に既約分数(これ以上約分できない形)になります。実行例まず、具体的な
-
PythonとOpenCVで画像の算術演算を行う方法|加算・減算のコード例付き解説
はじめに このチュートリアルでは、OpenCVを使った画像の算術演算について学びます。画像に対しては、加算・減算・ビット演算など、さまざまな操作を適用することが可能です。ここでは、実際のコード例を交えながら、画像への演算処理の方法をわかりやすく解説していきます。 OpenCVのインストール 画像に対して演算を行うには、OpenCVモジュールが必要です。まずはターミナルまたはコマンドラインで、以下のコマンドを実行してOpenCVをインストールしましょう。 pip install opencv-python==4.1.1.26 上記のコマンドを実行すると、次のような成功メッセージが表示されます。
-
【Python】PandasのDataFrameで列の文字列を大文字に変換する方法
このチュートリアルでは、PandasのDataFrame(データフレーム)内の特定の列(例えば名前の列)をすべて大文字に変換する方法を解説します。主な方法は2つあり、それぞれコード例と実行結果とともに紹介します。方法1:str.upper() を使う方法Pandasでは、文字列型(object型)の列に対して .str アクセサを使うことで、Python標準の文字列メソッドを各要素に一括適用できます。大文字への変換には str.upper() を使用します。コード例# pandasパッケージをインポート import pandas as pd # DataFrame用のデータ data =
-
【Python】Pandas DataFrameの全行に関数を適用するapply()メソッドの使い方
このチュートリアルでは、PandasのDataFrameのすべての行に対して関数を適用できるapply()メソッドについて解説します。 apply()メソッドとは apply()は、DataFrameの各行(または各列)に対して任意の関数を適用するためのメソッドです。例えば、各行の数値同士を乗算した結果を新しい列として追加したい場合などに非常に便利です。axis=1を指定することで行方向への適用が可能になります(axis=0の場合は列方向に適用されます)。ここでは、いくつかの実装方法を順番に見ていきましょう。 例1: 自作関数をラムダ式で適用する まず、独自に定義した関数をlambda式経