マガジンのカバー画像

Python基礎

25
Pythonの使い方をまとめます。対象者は完全な初心者向けではなくYoutubeや本を少しみたけどもう少し応用的なところを学びたい人向け(兼自分の備忘録)に作成しています。
運営しているクリエイター

記事一覧

Python基礎21:ビット演算

Python基礎21:ビット演算


1.概要 Pythonによるビット演算を学習していきます。ビット演算により下記が実現できます。

ビットシフトによる計算の高速化:特定の条件で条件分岐やループ処理を高速化することが可能

ビットマスクによるデータ操作:特定のビットを抽出したり、特定のビットを変更

ビットフラグ:複数の真偽値(True/False)を効率的に管理

圧縮や暗号化: ビット単位での操作が可能なため、データ圧縮や暗号

もっとみる
Python基礎20:ソケット通信(socket)

Python基礎20:ソケット通信(socket)


1.概要 低水準ネットワークインターフェースを扱うsocketモジュールを紹介をします。通信は素人のため学習内容も含めて記載しました。
 なお2台のPCで通信するため私はPC以外にRasberry Piを1台準備しました。

1-1.ソケット/ソケット通信とは

 インターネットでは通信プロトコル(通信のルール)としてTCP/IPを利用しており、その出入口がソケット (Socket)です。よって

もっとみる
Python基礎19:イテレータ生成(itertools)

Python基礎19:イテレータ生成(itertools)

1.概要 itertoolsはPythonの標準ライブラリの一つであり効率的なループの実行を支援するための「イテレータ」を作成する機能を提供します。
 イテレータとは要素を順番に取り出すことができるオブジェクトのことでありリストやタプルなどが該当します。これらのオブジェクトからデータを順番に取り出して処理を行うとき、itertoolsはその処理をより簡潔に効率的に書くことを可能にします。

2.i

もっとみる
Python基礎18:静的型チェック(mypy)

Python基礎18:静的型チェック(mypy)

1.概要 Pythonは動的型付け言語であり実行時に変数の型が決定されますが、コードの可読性/保守性が低下する原因にもなります。
 Python3.5以降では「型ヒント」の機能を追加することで変数や関数の引数、戻り値の型を明示的に示すことが可能になりました。

 mypyは型ヒントを利用してPythonコードの静的型チェックを行うツールです。開発者はmypyを用いてコードに存在する潜在的な型エラー

もっとみる
Python基礎17:ログ出力(logging)

Python基礎17:ログ出力(logging)


1.概要 Pythonのloggingモジュールはプログラムの動作について詳細な情報をログとして記録することができます。これはデバッグやエラー解析、システムの監視などの場面で有用です。

2.loggingの用途2-1.print()とlogging()の違い

 コードの中で何かを出力したい時はprint関数を使用しますが下記問題があります。

情報の消失:printで出力した情報は実行終了後

もっとみる
Python基礎16:並列タスク(concurrent.futures)

Python基礎16:並列タスク(concurrent.futures)


1.概要 Pythonの標準ライブラリである”concurrent.futures"モジュールを使って並列化を行うことができます。並列化はコンピューティングタスクを同時に処理することで、プログラムの実行時間を大幅に短縮することができます。

2.基礎知識2-1.並行処理と並列処理の違い

 まず初めに並行処理(Concurrency)と並列処理(Parallelism)の概念を理解することが重要

もっとみる
Python基礎15:サブプロセス管理(subprocess)

Python基礎15:サブプロセス管理(subprocess)

1.概要1-1.subprocessとは

 Pythonのsubprocessモジュールは、新しいプロセスを生成、プロセスの入出力管理、プロセスの終了コードを取得できます。つまりsubprocessモジュールを使用すると、Pythonスクリプト内から他のプログラムやコマンドを起動することができます。例えばテキストファイルを開いたり、ディレクトリ内のファイル一覧を取得したり、ウェブサイトからデータ

もっとみる
Python基礎14:コマンドラインオプション(argparse)

Python基礎14:コマンドラインオプション(argparse)

1.概要 Pythonの標準ライブラリである”argparse”はコマンドラインオプションや引数、サブコマンドのパーサを生成しそれらをパースする機能を提供します。argparseを使用することで、Pythonスクリプトはコマンドラインからの引数を簡単に取り扱うことができます。

2.基礎用語 モジュール説明の前に基本的な用語を紹介します。

コマンドライン: テキストベースのインターフェースでユー

もっとみる
Python基礎13:正規表現(regular expression):re

Python基礎13:正規表現(regular expression):re

0.概要 Pythonの標準ライブラリである"re"を使用して正規表現を扱います。標準ライブラリのため環境構築などは不要です。

 なお文字列操作は完全に理解しているものとして進めます。

0-1.サンプルデータ

 本記事で使用するサンプルデータとして下記使用しました。

【データ1:AV女優のリスト】

データ数は最大8個であり(年齢、身長、カップ数、バスト、ウエスト、ヒップ、血液型、出身地)

もっとみる
Python基礎12:日付型および時間型の操作(datetime)

Python基礎12:日付型および時間型の操作(datetime)

0.概要 Pythonの標準ライブラリであるdatetimeを使用して日付型や時間型の操作をします。標準ライブラリのため環境構築などは不要です。

1.datetimeの概要1-1.UNIX時間と日本標準時

 時刻表現には複数種類あり、Pythonではtimeモジュール:UNIX、datetimeモジュール:日本標準時 (JST)(※正確には使用している環境により異なる)となります。

[IN

もっとみる
Python基礎11:Zipファイル操作(zipfile)

Python基礎11:Zipファイル操作(zipfile)

1.概要 Pythonの標準ライブラリであるzipfileを使用してZIPファイル操作をします。
標準ライブラリのため環境構築などは不要です。

 サンプル用のZipファイルは何でも問題ないですが本記事では下記Githubから”deep-learning-from-scratch-master.zip”を使用しました。

2.Zipファイルの確認2-1.ファイルの一覧取得:ZipFIle.name

もっとみる
Python基礎10:仮想環境(venv/pipenv/conda)

Python基礎10:仮想環境(venv/pipenv/conda)

1.緒言 (多言語でも同じですが)PythonではPython本体やライブラリ同士のVersion管理が必須でありVersionが異なると動作しないものがたくさんあります。
 例としてDeepLearningで有名なPytorchのVersion1.10系はPython 3.10がサポート対象外です。よってPythonのVersionを最新のものにしたとたんに動かなくなったりします。

 このよう

もっとみる
Python基礎9:デバッグ

Python基礎9:デバッグ

1.緒言 Pythonのデバッグに関して紹介します。一般的には①スクリプト実行・エラー発生、②エラー文確認、③エラーの原因分析、④コード修正、⑤再実行となります。
 特にエラーの原因分析を効果的に実行するための手法/ライブラリを紹介します。

2.assert文 assert文の紹介に関しては下記記事がわかりやすいです。

2-1.概要

 assert文は条件分岐でFalseが出たときに記載した

もっとみる
Python基礎8:モジュール/パッケージ

Python基礎8:モジュール/パッケージ

概要 Pythonの基礎としてモジュール及びパッケージを説明します。一般的な用語の説明は下記の通りです。

1.モジュール モジュールとはPythonコードが記載されたファイルです。Pythonコードをモジュール化することで再利用性・保守性が高まります。
 本章での説明用ファイル構成は下記の通りです。

1-1.モジュールの作成

 モジュールの作成はpyファイルにPythonコードを記載するだけ

もっとみる