Python

 Computer >> コンピューター >  >> プログラミング >> Python
  1. PythonのzipfileモジュールでZIPアーカイブを操作する方法

    ZIP形式は、複数のファイルをまとめるアーカイブと圧縮の両方に使える、最も広く普及しているファイル形式のひとつです。MS-DOSの時代から長く使われており、有名なPKZIPアプリケーションでも採用されてきました。Pythonの標準ライブラリに含まれるzipfileモジュールは、ZIPアーカイブの作成・展開・読み込み・書き込みを簡単に行うためのクラスを提供しています。この記事では、zipfileモジュールの基本的な使い方をコード例とともに解説します。ZipFile()でアーカイブを開くZipFile()関数は、第1引数に指定したファイルからZipFileオブジェクトを返します。ファイル名は文字列

  2. Pythonのgetpassモジュールとは?パスワード入力とユーザー名取得の基本を解説

    Pythonの標準ライブラリには、ターミナル上で動作するアプリケーションにおいて、ユーザーの認証情報を検証してから処理を実行したい場合に役立つgetpassモジュールが用意されています。このモジュールには主に2つの関数が定義されており、セキュリティを意識したコマンドラインツールの開発に欠かせない存在です。 getpass() 関数:パスワードを安全に入力する getpass()関数は、ユーザーにパスワードの入力を促すための関数です。デフォルトでは、ターミナルに入力されたキーは画面に表示(エコー)されないため、第三者にパスワードを盗み見られる心配がありません。 また、プロンプトとして表示される

  3. Pythonのcmdモジュールで行指向コマンドインタープリタを作る方法

    Pythonの標準ライブラリに含まれるcmdモジュールには、Cmdという1つのクラスだけが定義されています。このクラスは、行指向(ラインオリエンテッド)のコマンドラインインタープリタを自作するためのフレームワークの基底クラスとして利用されます。対話型のシェルやCLIツールを手軽に実装したい場合に非常に便利です。 Cmdクラスとは Cmdクラス、またはそのサブクラスのオブジェクトは、行指向インタープリタの枠組みを提供します。サブクラスが継承する重要なメソッドについて、以下で順に解説します。 cmdloop()メソッド cmdloop()メソッドを呼び出すと、オブジェクトは対話ループに入り、ユ

  4. Pythonのargparseモジュールでコマンドライン引数を解析する方法

    はじめにコマンドラインからPythonスクリプトを実行する際、引数を渡す必要がある場面は非常に多くあります。しかし、必要なパラメータが指定されない、あるいは数・型・順序が合わない場合、スクリプトは例外を発生させます。そこで重要になるのが、コマンドライン引数を適切に解析(パース)する仕組みです。Python標準ライブラリのargparseモジュールは、とても使いやすいコマンドラインインターフェース(CLI)を作成するためのツール群を提供します。sys.argvリストから引数を取り出して解析する処理、ヘルプメッセージの自動生成、無効なオプションが指定されたときのエラー表示などを自動的に担ってくれま

  5. Pythonのdecimalモジュールを使った正確な10進数・浮動小数点演算の完全ガイド

    Pythonにおける浮動小数点数の落とし穴Pythonを含む多くのプログラミング言語では、浮動小数点数はメモリ上で基数2(バイナリ)の分数として表現されます。この仕組みが原因で、浮動小数点演算の結果はときに直感に反するものになります。その典型例が、次のような計算です。>>> 0.1 + 0.2 0.30000000000000004「0.3」になるはずの計算結果に、見慣れない誤差が含まれています。これはPython特有のバグではなく、バイナリ浮動小数点表現の本質的な性質によるものであり、あらゆるプログラミング言語で共通して発生する現象です。decimalモジュールとはこうした

  6. Pythonのitertoolsモジュールで効率的なイテレータを作成する方法

    多くのプログラミング言語と同様に、Pythonにもwhile文とfor文というループ構造が用意されています。特にfor文は、リスト・タプル・文字列などのイテラブル(反復可能オブジェクト)を走査する際に非常に便利です。さらにPythonの標準ライブラリにはitertoolsモジュールがあり、より高速で効率的な反復処理ツールが定義されています。これらのイテレータ構成要素は、HaskellやSMLといった関数型プログラミング言語における類似ツールの「Pythonらしい(Pythonic)」実装です。 itertoolsモジュールの関数は3種類 itertoolsモジュールに含まれる関数は、以下の3つ

  7. Pythonのmarshalモジュールで内部オブジェクトをシリアライズする方法

    Python標準ライブラリのmarshalモジュールは、pickleモジュールと同様にオブジェクトのシリアライズ(直列化)機能を提供します。しかし、一般的なデータ永続化やソケット経由でのPythonオブジェクト送受信といった用途にはあまり向いていません。このモジュールが主に使われるのは、Python自身によるコンパイル済みPythonモジュール(.pycファイル)の読み書き処理です。実は、marshalモジュールが使用するデータ形式はPythonのバージョン間(マイナーバージョン間でさえも)互換性がないため、あるバージョンでコンパイルされたPythonスクリプト(.pycファイル)は、別のバー

  8. Pythonのoperatorモジュール徹底解説:標準演算子を関数として使う方法

    はじめにプログラミングにおける「演算子(オペレーター)」とは、加算・減算・比較などの特定の操作を実行するためにあらかじめ定義された記号(キー)のことです。Pythonには、算術演算、比較、ビット演算、メンバーシップ判定など、カテゴリ別に分類された豊富な組み込み演算子が用意されています。Pythonの標準ライブラリにはoperatorモジュールが含まれており、このモジュールは組み込み演算子に対応する関数を提供します。関数名は対応する演算子の種類に沿って命名されており、例えば + 演算子に対応するのが add() 関数です。ダンダーメソッドとの関係PythonのObjectクラスには、各演算子記号

  9. Pythonオブジェクトのシリアル化(Pickle)徹底解説|pickleモジュールの基本と使い方

    オブジェクトのシリアル化とはオブジェクトのシリアル化(serialization)とは、オブジェクトの状態をバイトストリーム(バイト列)に変換するプロセスを指します。一度生成されたバイトストリームは、ファイルに保存したり、ソケット経由で送信したりすることができます。逆に、バイトストリームから元のオブジェクトを復元する処理はデシリアル化(deserialization)と呼ばれます。Pythonでは、シリアル化のことを「ピクル化(pickling)」、デシリアル化のことを「アンピクル化(unpickling)」と呼びます。標準ライブラリに含まれるpickleモジュールは、シリアル化用の関数 du

  10. Pythonのpprintモジュール徹底解説:データ構造を美しく整形するプリティプリンター

    pprintモジュールとはpprintモジュール(lib/pprint.py)は、Pythonの標準ディストリビューションに同梱されている標準ライブラリの一部です。名前の「pprint」は「pretty printer(プリティプリンター)」の略で、その名の通りPythonのデータ構造を美しく見やすい形で出力するための機能を提供します。Pythonインタープリタが正しく解析できる任意のデータ構造は、このモジュールによって整然とフォーマットされます。フォーマットされた式は可能な限り1行に収められますが、出力幅(widthパラメータ)を超える場合は自動的に複数行に折り返されます。pprint出力の

  11. Pythonで疑似乱数を生成する方法|randomモジュールの使い方を徹底解説

    多くのコンピュータアプリケーションでは、乱数の生成が必要になります。しかし、コンピュータが生成できるのは「真の乱数」ではなく、あくまで規則性に基づいた疑似乱数です。 Pythonも他のプログラミング言語と同様に疑似乱数ジェネレーターを使用しており、その基盤となっているのは「メルセンヌ・ツイスタ(Mersenne Twister)」というアルゴリズムです。このアルゴリズムは53ビット精度の浮動小数点数を生成し、高速かつスレッドセーフであることが特徴ですが、暗号化用途には適していません。 Pythonの標準ライブラリには random モジュールが含まれており、乱数を扱うためのさまざまな関数が定義

  12. 【Python】doctestモジュールでインタラクティブなコード例を自動テストする方法

    Pythonの標準ディストリビューションには「doctest」モジュールが含まれています。このモジュールを使うと、インタラクティブなPythonセッションのように見えるテキストを自動的に検索し、そのセッションを実際に実行して、表示どおりの結果になるかどうかを確認できます。 テスト対象となる例は、クラス、モジュール、または関数内のdocstring(ドキュメンテーション文字列)から抽出されます。また、別途用意したテキストファイルからdoctestを実行することも可能です。 docstringとは何か Pythonにおける「docstring」とは、クラス、関数、またはモジュールの先頭に記述される

  13. Pythonのatexitモジュールでプログラム終了時の処理を登録する方法

    Pythonのatexitモジュールとは Python標準ライブラリに含まれるatexitモジュールは、register()とunregister()という2つの関数を提供しています。いずれも既存の関数を引数として受け取ります。ここで登録された関数は、インタプリタのセッションが正常に終了した際に自動的に実行されます。 複数の関数が登録された場合、それらは登録された順序と逆の順番で実行される点に注意してください。たとえば、f1()、f2()、f3()の順に関数を登録すると、実際にはf3()、f2()、f1()の順に呼び出されます。 unregister()関数を使うと、自動実行対象のリストから指

  14. Pythonのtimeitモジュールで小さなコードの実行時間を測定する方法

    Python標準ライブラリのtimeitモジュールには、Timerクラスや便利な関数が用意されており、小さなPythonコードの断片が実行されるのにかかる時間を測定するための仕組みを提供しています。このモジュールはコマンドラインインターフェースも備えており、プログラム内から関数を呼び出して使うことも可能です。実行時間を測定する最も簡単な方法は、次の便利な関数を使うことです。timeit()関数timeit()関数はTimerクラスのオブジェクトを返します。主に以下の2つのパラメータを指定します。stmt ― 実行時間を測定したい有効なPythonステートメントを含む文字列。setup ― 主に

  15. Pythonデバッガー(pdb)の使い方を徹底解説!基本コマンドからブレークポイントまで

    Pythonデバッガー(pdb)とはソフトウェア開発の分野では、プログラム内のエラー(バグ)を発見し修正するプロセスを「デバッグ」と呼びます。Pythonの標準ライブラリにはpdbモジュールが含まれており、これはPythonプログラムをデバッグするための一連のユーティリティを提供します。デバッグ機能はPdbクラスとして定義されており、このモジュールは内部的にbdbおよびcmdモジュールを利用しています。コマンドラインからの起動方法pdbモジュールには非常に便利なコマンドラインインターフェースが用意されています。Pythonスクリプトの実行時に-mスイッチを使ってインポートすることで、デバッガー

  16. Pythonのcontextlib徹底解説:with文によるコンテキスト管理の基本と実践

    contextlibモジュールとは Pythonの標準ライブラリ「contextlib」は、プログラム内のリソースを適切に管理するためのコンテキストマネージャ(ContextManager)関連のユーティリティを提供するモジュールです。Pythonにはコンテキストマネージャと連携して動作するwith文が用意されており、これを活用することでリソースの取得と解放を安全かつ簡潔に記述できます。 代表的な例がファイル操作です。組み込み関数open()が返すファイルオブジェクトはコンテキストマネージャAPIをサポートしているため、ファイルを扱う際にはwith文がよく使われます。 従来の書き方との比較

  17. Pythonの__name__と__main__を徹底解説!トップレベルスクリプトとインポート時の動作の違い

    Pythonのモジュールオブジェクトには、さまざまな属性が定義されています。これらの属性名は、前后がダブルアンダースコア(__)で囲まれているのが特徴です。中でも特に重要なのが__name__属性です。Pythonがトップレベルのコードとして実行されているとき、つまり標準入力から読み込まれた場合・スクリプトとして実行された場合・対話型インタプリタ(インタラクティブシェル)から実行された場合には、__name__属性には「__main__」という文字列が設定されます。対話モードでの__name__の確認まず、対話型インタプリタで確認してみましょう。>>> __name__ __

  18. Pythonの組み込みオブジェクト(builtins)とは?仕組みと使い方を解説

    builtinsモジュールとはPythonにはという名前の特別なモジュールが用意されています。このモジュールは、Pythonインタープリタが起動するたびに、トップレベルの実行環境としてでも対話セッションとしてでも、必ず自動的にロードされます。builtinsモジュールには、以下のようなPythonの中核的な要素がすべて定義されています。objectクラス:すべてのPythonオブジェクトの基底クラス組み込みデータ型:数値(int、float)、文字列(str)、リスト(list)、辞書(dict)などBaseExceptionクラス:すべての組み込み例外(ValueError、TypeErro

  19. PythonのpwdモジュールでUnix/Linuxパスワードデータベースにアクセスする方法

    はじめにPythonの標準ライブラリに含まれるpwdモジュールは、Unix/Linuxオペレーティングシステム上のユーザーアカウントに関するパスワードデータベース(/etc/passwdなど)へのアクセス機能を提供します。なお、このモジュールはUnix系OS専用であり、Windows環境では利用できない点に注意してください。パスワードデータベースの各エントリは、タプルのようなオブジェクトとして格納されます。その構造は、CPython APIのpwd.hファイルで定義されているpasswd構造体に対応しています。passwd構造体のフィールド一覧インデックス属性意味0pw_nameログイン名1p

  20. Pythonバイトコードの逆アセンブル:disモジュールの使い方徹底解説

    Python標準ライブラリのdisモジュールは、Pythonバイトコードを人間が読みやすい形式へ逆アセンブルし、解析するための多彩な関数を提供しています。バイトコードを解析することで、プログラムの最適化を効率的に行えます。なお、バイトコードはインタープリタのバージョンごとに異なる実装の詳細である点に注意してください。 dis()関数 dis()関数は、モジュール、クラス、メソッド、関数、コードオブジェクトなど、あらゆるPythonコードソースの逆アセンブル結果を生成します。 >>> def hello(): print(hello world) >>>

Total 8994 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:83/450  20-コンピューター/Page Goto:1 77 78 79 80 81 82 83 84 85 86 87 88 89