Python

スポンサーリンク
本格超入門

リストの生成 | リストの定義と操作 | Python本格超入門

リストの生成Pythonにおけるリスト(list)は、複数のデータを1つの変数にまとめて順序通りに管理するための、最も頻繁に使われるデータ構造(配列)です。リストは、文字列、数値、真偽値、さらには別のリストや辞書など、あらゆるデータ型を柔軟に格納できます。本記事では、基本的なリストの生成方法から、インデックスによる要素...
本格超入門

集合演算 | 集合の応用 | Python本格超入門

集合演算Pythonのデータ構造の一つである集合(set)は、重複する値を持たない一意の要素を管理するだけでなく、数学的な「集合論」に基づいた高度なデータ処理を高速に行うことができます。複数のデータ群を比較し、共通するユーザーを抽出したり、重複を排除して統合したり、特定のデータだけを差し引いたりする操作を集合演算と呼び...
本格超入門

変数のスコープ | クラス変数とインスタンス変数 | Python本格超入門

変数のスコープPythonにおける変数には、その変数がプログラムの中のどこから参照・書き換え可能かという有効範囲があります。これをスコープ(Scope)と呼びます。オブジェクト指向プログラミング(クラス設計)の文脈においては、クラスブロックの中で定義される変数に「クラス変数」と「インスタンス変数」という2つの巨大な概念...
スポンサーリンク
本格超入門

ルーティングとビュー | Flaskの基本 | Python本格超入門

ルーティングとビューPythonでWebアプリケーションを構築する際、世界中で広く使われている軽量フレームワークがFlask(フラスク)です。Flaskは必要最小限の機能に絞って設計されており、直感的にWebサーバーの仕組みを学ぶことができます。Webアプリ開発の土台となるのが、「ルーティング」と「ビュー」という2つの...
本格超入門

パフォーマンス向上の期待 | Python 4.0の可能性 | Python本格超入門

パフォーマンス向上の新常態Pythonの歴史において、長年「実行速度の遅さ」や「マルチコアCPUを活かしきれない制限」は最大の課題とされてきました。かつてはそれらの解決は「Python 4.0」という架空のメジャーアップデートを待つしかないと噂されていましたが、現在のPython開発コミュニティはバージョン4.0への移...
本格超入門

テーブルの作成 | SQLiteの基本操作 | Python本格超入門

SQLiteでテーブルを作成する方法Pythonで手軽にリレーショナルデータベース(RDB)を扱いたい場合、最も有力な選択肢となるのがSQLiteです。SQLiteはファイルベースの軽量なデータベースであり、外部サーバーを立てることなく、Pythonの標準ライブラリ sqlite3 を使うだけで構築・操作が可能です。デ...
本格超入門

リスト内包表記との違い | 高階関数 | Python本格超入門

リスト内包表記との違いPythonでリストの全要素を加工したり、特定の条件で抽出したりする際、実装方法は1つではありません。もっともPythonらしく直感的とされる「リスト内包表記」と、関数型プログラミングの思想を汲む「高階関数(map や filter)」が頻繁に使われます。どちらのアプローチを使っても全く同じ結果を...
本格超入門

リストのソート | リストのソートと検索 | Python本格超入門

リストのソートPythonのリスト(配列)に格納されたデータを特定の規則に従って並べ替える操作をソート(Sort)と呼びます。数値を大きさ順に並べたり、文字列を辞書順や文字数順に整理したりする処理は、データ分析やアプリケーション開発で頻繁に行われます。Pythonには、リスト自体を直接書き換える sort() メソッド...
本格超入門

ファイルの読み込み、書き込み | ファイルの読み書き | Python本格超入門

ファイルの読み込み、書き込みPythonでプログラムの外部にあるデータを処理したり、計算結果をファイルとして保存したりする際、避けて通れないのがファイル操作(I/O:Input/Output)の技術です。Pythonでは標準機能として open() 関数が用意されており、テキストファイル(.txt や .csv など)...
本格超入門

データサイエンスとは何か | データサイエンス | Python本格超入門

データサイエンスとは何か現代のビジネスや研究において、意思決定のあり方を根本から変えつつある手法がデータサイエンス(Data Science)です。データサイエンスとは、社会やシステムから生み出される膨大なデータ(ビッグデータ)を収集・分析し、そこからビジネスの成長や課題解決に直結する「価値ある知識」や「予測・洞察」を...
本格超入門

再帰の仕組み | 再帰関数 | Python本格超入門

再帰の仕組みアルゴリズムを学ぶ上で、強力かつ美しい設計手法として知られるのが再帰(さいき:Recursion)です。再帰とは、ある関数がその処理の内部で「自分自身を呼び出す」ことを指します。一見すると無限ループになってしまいそうですが、大きな問題を小さな問題へと分解し、もっとも単純な状態まで到達した時点で処理を折り返す...
本格超入門

モジュールの単体テスト | モジュールのテスト | Python本格超入門

モジュールの単体テストプログラムが大きくなり、機能(モジュールや関数)が増えてくると、「一部のコードを修正したせいで、全く関係のない別の場所が動かなくなった」という先祖返りやデグレード(品質低下)のバグが発生しやすくなります。こうした事態を防ぎ、コードの品質を高い状態で担保し続けるために欠かせない開発プロセスが単体テス...
本格超入門

PyPIへの公開方法 | モジュールのテスト | Python本格超入門

PyPIへの公開方法自分が作成した便利なライブラリやモジュールを、世界中のPython開発者に使ってもらいたい場合、Pythonの公式パッケージ管理システムであるPyPI(Python Package Index)に公開するのが最適です。PyPIに登録することで、誰でもコマンドラインから pip install パッケ...
本格超入門

モジュールとは何か | 標準モジュールの活用 | Python本格超入門

モジュールとは何かPythonにおけるモジュール(Module)とは、関連する関数、クラス、変数などのプログラムコードを1つのファイル(.py ファイル)にまとめたものです。プログラムが大規模になるにつれて、すべての処理を1つのファイルに書き込むとコードの可読性が下がり、バグの発見や修正が困難になります。処理ごとにファ...
本格超入門

認証の仕組みと実装 | 認証とセキュリティ | Python 本格超入門 基本から発展へ

認証の仕組みと実装Webサービスやモバイルアプリの裏側で動くAPI(Application Programming Interface)を開発する際、セキュリティの担保は最優先で取り組むべき課題です。特に、誰がシステムにアクセスしているのかを確認する「認証」と、その人に実行権限があるかを制御する「認可」を適切に設計・実...
本格超入門

不変性と可変性の違い | リストとタプルの違い | Python本格超入門

不変性と可変性の違いPythonの変数を深く理解し、意図しないバグを防ぐために避けて通れない最重要概念が、オブジェクトの「可変性(ミュータブル:Mutable)」と「不変性(イミュータブル:Immutable)」の特性です。代表的な例が、配列(データのまとまり)を扱う「リスト」と「タプル」の違いです。見た目はよく似てい...