Pythonに標準で付属するcollectionsモジュールには、両端の要素へのアクセスを高速に行えるコンテナであるdeque(デック)クラスが含まれている。その基本的な使い方を紹介する。
Pythonに標準で付属するcollectionsモジュールには名前付きタプルをサポートするnamedtuple関数がある。これを使って名前付きタプルを使用する方法を紹介する。
浅いコピーと深いコピーの違い、copyモジュールが提供するdeepcopy関数の使い方、深いコピーを作成する関数の実装例を紹介する。
pathlibモジュールが提供するPathクラスのabsoluteメソッドとresolveメソッドはどちらも絶対パスを得るためのものである。その違いや使い分けについて紹介する。
os.pathモジュールが提供するabspath関数で特定のパスの絶対パスを取得する方法や、その際に注意する点、pathlib.Path.absoluteメソッドとの振る舞いの違いなどを紹介する。
randomモジュールのrandint関数やchoice関数、choices関数とstringモジュールで定義されている定数を組み合わせてランダムな文字列を生成する方法を紹介する。
itertoolsモジュールのaccumulate関数やpandasのDataFrameオブジェクトが持つcumsumメソッドやcumprodメソッドで累積和や累積積を求める方法を紹介する。
dir関数とgetattr関数を組み合わせてオブジェクトの属性とその値を取得する方法やinspectモジュールが提供する関数を使って同様なことをさらに詳細に行う方法を紹介する。
base64モジュールが提供するb64encode関数とb64decode関数などを使って、文字列やバイナリファイルをBase64形式でエンコード/デコードする方法を解説する。
Pythonで何らかの値を一定の書式に従って文字列に変換するにはformat関数や文字列のformatメソッド、f文字列を使用する。このときに一定の書式を指定するのに使うのが書式指定子である。その指定方法をまとめて紹介する。
2つの自然数の最大公約数を求めるために使われるユークリッドの互除法の説明と、それに基づいて最大公約数を求める関数の実装を幾つか紹介する。
指定した整数までの素数を、エラトステネスのふるいと呼ばれる手法で求める方法を見たあと、それを関数として定義し、その関数を使って、指定した値が素数かどうかを判定する関数を定義してみよう。
整数を素因数分解するにはさまざまな方法がある。その中でも一番簡単な「試し割り法」と呼ばれる方法でこれを行う手順を紹介する。
Pythonでべき乗を計算するには**演算子、組み込みのpow関数、mathモジュールのpow関数を使える。それらの使い方と、振る舞いの違いを紹介する。
mathモジュールのmath.log関数、math.log1p関数、math.log2関数、math.log10関数を使って対数を求める方法と、それぞれの関数の違いを紹介する。
format関数/文字列のformatメソッド/f文字列で書式を指定して、浮動小数点数値を任意の有効桁数で文字列に変換する方法を紹介する。
qrcodeモジュールが提供するmake関数やQRCodeクラスを使ってQRコードを作成する方法を紹介する。また、作成したQRコードの内容を読み取る方法も簡単に紹介する。
プログラムで使用する各種設定を.envファイルに記述してあるときに、それらを基に環境変数を設定したり、辞書オブジェクトとして保持したりする方法を紹介する。
datetimeモジュールのdatetimeクラスやdateクラスのweekday/isoweekday/strftimeメソッド、calendarモジュールのweekday関数を使って日付から曜日を取得する方法を紹介する。
ビット単位のAND/OR/XOR/NOT演算とビットシフト演算について紹介し、それらによってビットパターンがどう変化するかを確認していく。
文字列とバイト列を相互に変換するには、文字列のencodeメソッドとバイト列のdecodeメソッドを使うか、str関数とbytes関数を使うのが簡単だ。それらの方法を紹介する。
7-Zip(.7z)形式のアーカイブを展開したり、そこに格納されているファイルを読み込んだり、各種情報を取得したりする方法を紹介する。
Pythonで7-Zip(.7z)形式のアーカイブを作成し、そこにファイルを書き出すにはpy7zrパッケージのSevenZipFileクラスを使うのが便利だ。その基本的な使い方を紹介する。
Pythonでまとまった量のテキストや文字列からPDFファイルを作成するにはReportLab Toolkitが提供するPlatypusモジュールを使うと便利だ。その方法をまとめる。
pdfminer.sixパッケージを用いて、PDFファイルからテキストや画像を抽出する方法を紹介する。
math.isnan関数やnumpy.isnan関数、pandas.DataFrame.isnaメソッド、numpy.sum関数、pandas.DataFrame.sumメソッドなどを使って、非数かどうかを判断したり、多次元配列やDataFrameに含まれるNaNの数をカウントしたりする方法を紹介する。
exec関数を使ってモジュールのトップレベルで動的に変数を定義したり、globals関数の返す辞書を使ってグローバル変数として動的に変数を定義したりする方法と、その注意点を紹介する。
ファイルパスをドライブ、ルート、それ以降に分割するにはos.pathモジュールのsplitroot関数を使える。その使い方、WindowsとUNIXでの動作の違い、Windowsと同様な分割結果を得るための方法などを紹介する。
Windowsではファイルパスにドライブ文字が含まれる場合がある。os.pathモジュールのsplitdrive関数を使って、ドライブ文字とその他に分割する方法や、UNIXでこれと同様な処理を行う方法などを紹介する。
os.pathモジュールのsplit関数はファイルパスを末尾の要素とそれ以外に分割する。その使い方と注意点を紹介する。
os.path.splitext関数は渡されたパスを拡張子とそれ以外の部分に分割する。その基本的な使い方と注意点、拡張子ごとに処理を切り分けるサンプルコードを紹介する。
Pythonでは整数値(int型)の値を16進数表現に変換するには幾つかの方法がある。その中からhex関数を使う方法と文字列の書式指定を使って変換する方法を紹介する。
Pythonで整数値(int型)の値を2進数表現に変換するには幾つかの方法がある。その中からbin関数を使う方法と文字列の書式指定を使って変換する方法を紹介する。
文字列に特殊な文字を含めるにはエスケープシーケンスを使用する。代表的なエスケープシーケンスの使用例を紹介する。
組み込みのabs関数、mathモジュールのfabs関数など、Pythonには絶対値を求める方法が幾つかある。それらの使用法やユーザー定義クラスのインスタンスの絶対値を求められるように__abs__特殊メソッドを定義する例を紹介する。
リストから重複する要素を取り除くには幾つかの方法がある。set関数を使った手軽なものから自前で重複要素を取り除くコードまで、それらの方法を紹介する。
2024年1月時点でのPythonの各バージョンのサポート期限と、bugfixやsecurity、end-of-lifeなど、サポート状態を示す用語、Pythonのバージョンとの関連についてまとめた。
PythonのオブジェクトをPyYAMLモジュールによってYAMLドキュメントへシリアライズする方法と、各種オブジェクトがどのようにシリアライズされるかを紹介する。
YAMLドキュメントをPythonオブジェクトに変換するためのPyYAMLモジュールの使い方と、YAMLドキュメントがどんな形でPythonオブジェクトに変換されるかを紹介する。
Pythonに標準付属のtomllibモジュールはTOMLファイルからの読み込みのみをサポートしている。そこで、tomli-wモジュールを使い、辞書形式のデータをTOML形式のデータとして書き出す方法を紹介する。
Python 3.11で追加されたtomllibモジュールでTOMLファイルを読み込む方法と、TOMLに関する基本をまとめた。
PythonにはZIPファイルを読み書きするためのzipfileモジュールが標準で付属している。これを使ってZIPファイルを展開したり、その内容を読み込んだりする方法を紹介する。
PythonにはZIPファイルを読み書きするためのzipfileモジュールが標準で付属している。これを使ってZIPファイルを作成する方法を紹介する。
print関数ではfileパラメーターにファイルオブジェクトを指定することで、ファイルへテキストを出力できる。その方法とwriteメソッドとの違いなどについて紹介する。
文字列のisupperメソッド/islowerメソッドを使って、文字列が大文字だけで構成されているか、あるいは小文字だけで構成されているかを調べる方法と考慮点を紹介する。
not演算子を使って整数の0と1を反転する方法と、~演算子を使ってビット幅で0と1を反転する方法を紹介する。
os.getcwd関数とPath.cwdメソッドでカレントディレクトリを取得したり、os.chdir関数でカレントディレクトリを移動したりする方法を紹介する。
Pythonではあるスコープの外側で定義されている変数の値を変更しようとするときには、nonlocal文でその変数にアクセスできるようにする必要がある。その方法や注意点を紹介する。
Pythonでは関数などの内部からグローバル変数の値を変更するにはglobal文でそれがグローバル変数であると宣言する必要がある。
globモジュールのglob関数を使うと、特定のパターンを指定して、それにマッチしたファイルやディレクトリのパス名を取得できる。その基本的な使い方を紹介する。
osモジュールのname属性や、sysモジュールのplatform属性、platformモジュールのplatform関数などを使って、プログラムを実行しているプラットフォームを判別する方法を紹介する。
collectionsモジュールのCounterクラスを使って、文字列やリストにどんな要素が何個含まれているかを簡単にカウントする方法を紹介する。
文字列のcountメソッドを使って、ある文字列の中に特定の文字列(部分文字列)が何個含まれているかを調べる方法を紹介する。
何らかのオブジェクトの型を知りたいときには、type関数とisinstance関数が使える。それらの使い方の基本を紹介する。
Pythonのassert文はプログラムの実行時に、特定の箇所で特定の条件が満たされているかどうかをチェックして、満たされていなければ例外を発生させる。その基本的な使い方を紹介する。
Pythonでは対話環境を終了するexit関数、sysモジュールが提供するexit関数、osモジュールが提供する_exit関数という3つのexit関数がある。これらの違いをまとめる。
Pythonコードを書くときに変数や関数、クラスなどの名前はどのように付けたらよいだろう。PEP 8で述べられているその基本をまとめた。
Pythonでは値がないことはNoneオブジェクトで表現される。ある変数の値がNoneかどうかを調べる方法やその際の注意点を紹介する。
timeitモジュールのtimeit関数は小規模なコードの実行時間を計測するのに使える。その基本的な使い方を紹介する。
timeモジュールのtime関数やperf_counter関数を使って、特定の処理の実行にかかった時間を計測する方法を紹介する。
構造的パターンマッチのシーケンスパターンではさまざまなサブパターンを駆使することで柔軟な条件分岐が可能だ。その例と注意点を紹介する。
Python 3.10で追加されたmatch文は条件分岐をより柔軟形で行える。その基本構文と記述可能なパターンをざっくりと紹介する。
dataclassesモジュールが提供するfield関数や__post_init__メソッドを使って、データクラスのインスタンスの初期化をより細かく制御する方法を紹介する。
dataclassesモジュールのdataclassデコレーターを使って、クラスの定義でさまざまな特殊メソッドを自動的に生成する方法を紹介する。
raise文を使って例外を送出する基本的な方法と例外の連鎖、例外の置き換えなどについて紹介する。
Pythonではエラーは例外として扱われる。プログラム実行時にtry文を使って例外を処理する基礎をまとめて紹介する。
Pythonに組み込みのall関数とany関数を使うと反復可能オブジェクトの要素が全て真であるか、および、そこに真な要素があるかを調べられる。not演算子と組み合わせることで全要素が偽であるか、偽な要素があるかどうかを調べられる。
Pythonがインストールされていない環境でもスクリプトを実行できると便利なことがある。PyInstallerを使ってこれを実現する方法を紹介する。
osモジュールが提供するenviron属性やgetenv/putenv関数などを使って、Pythonプログラム中で環境変数の値を取得/変更/削除する方法を紹介する。
集合の要素数を調べたり、集合と集合の包含関係を調べたり、集合と集合から和/差/交差/対称差からなる新たな集合を得たりする方法を紹介する。
集合に要素を追加したり、集合から要素を削除したりするのに使えるメソッドと演算子を紹介する。
Pythonで集合を作成するには波かっこやset関数や内包表記を使う。それらの方法と注意点を簡単に紹介する。
辞書のkeys/values/itemsメソッドを使ってビューオブジェクトを取得して、キーや値、それらの組を反復したり、特定のキーや値が辞書に含まれているかを確認したりする方法を紹介する。
辞書から要素を削除するにはdel文やclearメソッドなどを使える。また、辞書の要素を追加/上書きするには代入文やupdateメソッド、「|=」演算子を使える。これらの方法を一覧する。
辞書からキーに対応した値を取得するには幾つかの方法がある。それらの方法と注意点を紹介する。
Pythonで辞書を作成するには幾つかの方法がある。それらの方法と辞書を作成する際に注意する点を紹介する。
Pythonでタプルの要素を取り出すにはインデックスやスライスを使う方法と要素のアンパックを使う方法がある。これらを紹介する。
Pythonでタプルを作成するには幾つかの方法がある。それらの方法と注意点を紹介する。
input関数を呼び出すとユーザーからのキーボード入力を受け取れる。その基本と注意事項、文字列を数値に変換する方法を紹介する。
Pythonにはインクリメントを行う++演算子やデクリメントを行う--演算子はない。累算代入文やrange関数、enumerate関数などを使い1ずつ増加/減少する値を取り扱う方法を紹介する。
venvモジュールの--upgradeオプションと--clearオプションを使って、既存の仮想環境で使用するPythonのバージョンをアップグレードする方法を紹介する。
venvモジュールで仮想環境を構築した後でパッケージをインストールすると、pipを最新バージョンにするように推奨されることがある。これを避けるために、最初から最新バージョンのpipを仮想環境にインストールする方法を紹介する。
venvモジュールはPythonに標準で添付される仮想環境構築用のモジュールである。これを使って仮想環境を構築したり、その環境を有効化/無効化したりする方法を紹介。
自作のパッケージやGitHubなどのリモートリポジトリからクローンしたパッケージをpipコマンドでインストールする方法を紹介する。
pipはPyPIからだけではなく、GitHubで公開されているパッケージのリポジトリから直接インストールすることもできる。その方法を紹介する。
文字列を要素とするリストは、文字列のjoinメソッドを使って、その要素を1つの文字列へと結合できる。その方法と、要素が文字列以外の場合の対応方法を紹介する。
複数のリストを結合するには+演算子や+=演算子、extendメソッドやシーケンスをアンパックする*演算子を使用する方法がある。
Pythonの標準的なパッケージインストーラーであるpipコマンドを使ってパッケージをインストールしたりアンインストールしたり、インストールされているパッケージを調べたりする方法を紹介する。
os.pathモジュールのdirname/basename/split関数と、pathlibモジュールのPath.parent/Path.name属性を使ってパスからディレクトリ名やファイル名を取得する方法を紹介する。
pathlibモジュールのPathクラスが提供するjoinpathメソッドを使って相対パスや絶対パスを結合する方法を紹介する。
os.path.join関数を使って相対パスや絶対パスを結合する方法や、最後にパス区切り文字を付加する方法、Windowsのドライブ文字の扱いなどについて紹介する。
パスを、そこに含まれる拡張子とそれ以外の部分に分割したいことはよくある。これを行うにはsplitext関数やPath.stem/Path.suffix/Path.parent/Path.suffixes属性が使える。
os.pathモジュールのabspath関数やpathlibモジュールのPath.absoluteメソッドを使って、何らかの相対パスを絶対パスに変換する方法を紹介する。
exists関数に渡したパスが実際に存在するかどうかを確認したり、isdir/isfile関数と組み合わせて処理を振り分けたりする方法を紹介する。
pathlibモジュールのPathクラスが持つexistsメソッドを使って、パスが実際に存在するディレクトリやファイルを参照しているかを確認する方法を紹介する。
あるパスがディレクトリかどうかや、ファイルかどうかを調べるにはos.pathモジュールのisdir/isfile関数が使える。その使い方や、os.scandir関数と組み合わせて使う方法を紹介する。
PathlibモジュールのPathクラスが提供するis_dir/is_fileメソッドを使って、特定のパスがディレクトリ/ファイルを指しているかどうかを確認する方法を紹介する。
Pythonの外部ライブラリであるRequestsモジュールを使うと、人の目にも分かりやすい形式でWebページやWeb APIにアクセスし、その結果を取得できる。
ラムダ式は小規模で名前を持たない関数を簡潔に記述するのに使える。その記述方法や使う上で注意すべきポイントを紹介する。
filter関数を使って反復可能オブジェクトの要素の中で特定の条件に合致するものだけを抽出する方法を紹介する。
randomモジュールで定義されているrandint関数/randrange関数/random関数/uniform関数を使用して乱数を生成したり、乱数列を生成したりする方法を紹介する。
jsonモジュールが提供するload/dump関数でJSONファイルの読み書きを行ったり、loads/dumps関数でJSON形式のデータを含む文字列のエンコード/デコードをしたりする方法を紹介する。
Pythonに組み込みのmap関数を使って、反復可能オブジェクトの要素に対して、一括で何らかの処理を適用する方法を紹介する。
//演算子と%演算子、divmod関数を使って2つの値の商と余りを求める方法を紹介。被除数や除数に負数が含まれている場合についても見てみる。
shutilモジュールが提供するcopy/copy2/copytree関数を使って、ファイルやディレクトリをコピーする方法を紹介する
shutilモジュールが提供するmove関数を使って、ファイルやディレクトリの名前を変更したり、移動したりする方法を紹介する。
pathlibモジュールが提供するPath.renameメソッドを使って、ファイルやディレクトリの名前を変更したり、移動したりする方法を紹介する。
osモジュールが提供するrename関数とrenames関数を使って、ファイルやディレクトリの名前を変更したり、移動したりする方法を紹介する。
open関数とpathlib.Path.touch/write_textメソッドを使ってファイルを作成する方法と、os.remove関数とPath.unlinkメソッドを使ってファイルを削除する方法を紹介。
pathlibモジュールのPathクラスが提供するmkdir/rmdirメソッドを使って、Pythonのコードからディレクトリを作成/削除する方法を紹介する。
osモジュールのmkdir/rmdir/makedirs/removedirs関数とshutilモジュールのrmtree関数を使って、ディレクトリを作成/削除する方法を紹介。
enumモジュールのEnumクラスやIntEnumクラス、Flagクラスを継承して、列挙型を定義したり、そのメンバーを扱ったりする方法を紹介する。
文字列のstrip系のメソッド、replaceメソッド、maketrans/translateメソッド、splitメソッドを使って文字列から空白文字を削除する方法を紹介する。
range関数は整数値を要素とする等差数列を作成できるが、浮動小数点数値を要素として同様な数列を得る方法を紹介する。
f文字列の置換フィールドの内部にはさらに置換フィールドを記述できる。これを使って、複数の値を1つの置換フィールドに埋め込める。その使用例を紹介。
if文の条件として、複数の条件をand/or演算子を使ってひとまとめにして記述する方法や注意すべきポイントなどを紹介する。
Pythonで関数を定義する基本、位置引数やキーワード引数の渡し方と受け取り方、デフォルト引数値の指定、可変長引数の渡し方と受け取り方などを紹介する。
グラフオブジェクトが持つstyle属性に1〜48の値を設定することで、グラフのスタイル(見た目)を指定できる。そのバリエーションを画像で紹介。
OpenPyXLが提供するTrendlineクラスを使って、グラフに移動平均線を追加したり、その線色を変更したりする方法を紹介。
OpenPyXLが提供するStockChartクラスとBarChartクラスを使って、各種の株価チャート(ローソク足など、と棒グラフの組み合わせ)を作成する方法を紹介する。
DoughnutChartクラスを使って、ドーナツグラフを作成したり、そこにパーセンテージ表示を加えたり、同心円状に複数の系列のデータを表示したりする方法を紹介する。
OpenPyXLのRadarChartクラスを使って、Excelのワークシートにレーダーチャートを作成したり、その種類を変更したりする方法を紹介する。
OpenPyXLが提供するPieChartクラスとProjectedPieChartクラスを用いて、円グラフと補助グラフ付円グラフを作成する方法を紹介する。
2種類のデータの相関を見るのには散布図が便利だ。OpenPyXLを使ってこれを作成する手順を紹介する。
OpenPyXLを使って、Excelワークシートに折れ線グラフを描画し、その線やマーカーの設定を変更する方法を紹介する。
OpenPyXLでExcelワークシートに面グラフや3D面グラフを作成したり、グラフの種類を積み上げ面グラフ/100%積み上げ面グラフに変更したりする方法を紹介する。
OpenPyXLでExcelワークシートに棒グラフを作成し、その設定を行い、最後に行と列が入れ替わっているデータで同じグラフを作成したりする方法を紹介。
OpenPyXLを使って、Excelワークシートのフォント指定/塗りつぶし/けい線/文字そろえ/値の表示方法など、セルの書式設定を行う方法を紹介する。
openpyxlパッケージを使って、Excelのワークブックの作成/読み込み/保存やワークシートの作成、セルの値の読み取り/書き込みなどを行う方法を紹介する。
Pythonで単一継承する方法、メソッドをオーバーライドする方法、多重継承する方法、多重継承とMRO、協調的な多重継承について説明する。
インスタンス変数/インスタンスメソッド/クラスメソッド/スタティックメソッド/プロパティなどを含んだクラスの定義方法と注意点を紹介する。
外部パッケージであるClickは属性ベースでPythonスクリプトに与えられたさまざまな位置引数やオプションを手軽に解析できる。
argparseモジュールを使い、コマンドラインを通して渡される位置引数/オプション引数を処理する方法を紹介する。
sysモジュールのargv属性を使って、スクリプトファイルに与えられたコマンドライン引数を受け取り、それを処理する方法を紹介する。
mathモジュールのperm/comb関数、itertoolsモジュールのpermutations/combinations関数を使い、順列や組み合わせの総数や組を得られる。
ある年がうるう年かどうかを判定するには、calendarモジュールが提供するisleap関数を使うのが簡単だ。また、同じ動作をする関数のコードも紹介する。
sysモジュールとplatformモジュールが提供する属性や関数、あるいはpythonコマンドを使ってPython処理系のバージョンを確認する方法を紹介する。
datetimeクラスのstrptimeクラスメソッドを使って、文字列として表現されている日付や時刻からdatetime型のオブジェクトを作成する方法を紹介する。
datetimeクラスのisoformatメソッドとfromisoformatクラスメソッドを使って、datetimeオブジェクトをISO 8601形式の文字列表現に変換する方法と、その逆を行う方法を紹介する。
datetimeモジュールとtimeモジュールには、それらが提供する日付/時刻のデータを書式化するために使えるstrftime関数/メソッドがある。それらの使い方を紹介する。
Pythonに標準で付属するdatetimeモジュールとtimeモジュールを使って、現在の日付と時刻を取得する方法を紹介する。
ブロックコメント、インラインコメント、docstringを使ったコメントやドキュメントの基本的な記述方法を紹介する。
Pythonのwhile文を使って無限ループを記述する方法やその際の注意点、for文と無限イテレータを使って無限ループを記述する方法を紹介する。
Pythonには「何もしない」処理を行うpass文がある。その使いどころとちょっとした注意点を紹介する。
csvモジュール/NumPy/pandasを使って、CSVファイルを読み書きする方法を1ページにまとめて紹介。
pandas.DataFrameクラスのto_csvメソッドを使って、データフレームの内容をCSVファイルに書き込む方法を紹介する。
pandasが提供するread_csv関数を使って、CSVファイルなどからデータを読み込む方法を紹介する。
NumPyが提供するsavetxt関数関数を使って、CSVファイルなどにデータを書き込む方法を紹介する。
NumPyが提供するloadtxt関数とgenfromtxt関数を使って、CSVファイルなどからデータを読み込む方法を紹介する。
pandasやNumPyを使わずに、Pythonに標準で付属するcsvモジュールを使って、CSVファイルに書き込みを行う方法を紹介する。
pandasやNumpyを使わずに、Pythonに標準で付属するcsvモジュールを使って、CSVファイルから読み込みを行う方法を紹介する。
内包表記を使ってリストや辞書、集合を作成する方法、if句や条件式と組み合わせる方法などを1ページにまとめて紹介する。
集合内包表記を使って集合を作成する方法と、set関数との差、if句との組み合わせ、注意点などを紹介する。
辞書内包表記を使って、辞書を作成する方法と、zip関数と辞書内包表記を組み合わせる方法、注意点などを紹介する。
リストの内包表記の中でif句と条件式(if式)を利用して、より柔軟な形で新たなリストの要素を計算する方法を見る。if句と代入式を組み合わせる方法も紹介。
リスト内包表記を使って、リストを作成する基本と、enumerate関数やzip関数と組み合わせる例、for句をネストしたり内包表記をネストしたりする例を紹介。
バイナリファイルに対して文字列と整数を読み書きする方法、struct/pickle/shelveモジュールを使ってバイナリファイルに各種データを読み書きする方法を1ページにまとめて紹介。
テキストファイルに対する読み込みと書き込み、テキストファイルを読み書き両用でオープンする方法、エンコーディングの指定や検出の方法を1ページにまとめて紹介する。
shelveモジュールを使って、辞書と同じ使い勝手で外部ファイルにオブジェクトを永続化したり、そこからオブジェクトを復元したりする方法を紹介する。
pickleモジュールを使用して、Pythonのオブジェクトを直列化/復元(pickle化/非pickle化、シリアライズ/デシリアライズ)する方法と、その際の注意点を紹介する。
structモジュールを使って、一定の構造を持ったデータをバイナリファイルに対して読み書きする方法を紹介する。
バイナリファイルを読み書きする基本と、文字列および整数をバイナリファイルに書き込む方法を紹介する。
別環境で作られたテキストファイルの内容を読み込む際には、まずそのエンコーディングを調べる必要がある。chardetパッケージを使って、これを行う方法を紹介する。
open関数のencodingパラメーターでテキストファイルのエンコーディング方式を明示して、デフォルトエンコーディング以外の形式で符号化されているファイルを読み書きする方法を紹介する。
open関数のモードに'+'を付加すると、ファイルを読み書き両用にオープンできる。'+'を付加したときのopen関数の振る舞いやコード例を紹介する。
open関数でファイルを書き込み用にオープンし、ファイルに文字列を書き込む方法や書き込みのモード、pathlib.Pathクラスを使う方法などを紹介する。
open関数やpathlib.Pathクラスを使ってファイルをオープンし、その内容を読み込む方法、with文と組み合わせる方法、テキストファイルを反復的に処理する基本パターンを紹介する。
Pythonに組み込みのround関数による数値の丸め方とその注意点、Decimalクラス(10進実数)を使った数値の四捨五入のやり方を紹介する。
Pythonでは条件式を使うことで、単一の式として条件分岐を記述できる。if文を簡潔に記述したり、式しか書けないところで条件分岐したりするために条件式を使える。
正規表現を使って、文字列から特定の文字より後ろを抽出するときには、抽出したいパターンをかっこ「()」でグルーピングしておくとよい。
文字列が提供する各種メソッドを使って、指定した文字(文字列)の前後を抽出する方法を紹介。正規表現を使うシンプルな例も取り上げる。
文字列から特定の文字で囲まれている部分を抽出するには「開き文字」「囲まれている部分」「閉じ文字」というパターンに注目して正規表現を組み立てるとよい。
Pythonの正規表現モジュールが提供する関数を使って、文字列から数字だけを抽出する方法を紹介する。
Pythonの正規表現モジュール(re)が提供するre.search/re.match関数を使って、文字列からパターンにマッチした部分を抽出する方法を紹介する。re.Matchオブジェクトも簡単に取り上げる。
Pythonの正規表現モジュール(re)が提供するre.findall関数を使って、文字列からパターンにマッチした部分を抽出する方法を紹介する。同様な処理を行うre.finditer関数も取り上げる。
Pythonで文字列から部分文字列を抽出する幾つかの方法の中から、基本的といえるインデックス指定やスライス指定を行う方法を紹介する。
isalnumメソッドとisasciiメソッドと組み合わせて、あるいは正規表現を使って文字列が半角英数字のみで構成されているかどうかを調べる方法を紹介する。
正規表現を扱うためのreモジュールのfullmatch関数などを使用して、文字列が数字だけで構成されているかどうかを判定する方法を紹介する。
isdecimalメソッドを使って、文字列が数字だけで構成されているかどうかを判定する方法を紹介。isdigit/isnumericメソッドとの違いも取り上げる。
文字列の値を数値に変換する前に、それが変換できるかを調べる必要がある。例外を使ってこれを調べる方法と正規表現を使う方法の2つを紹介する。
文字列のisalphaメソッドを使うとそれが英字のみで構成されているかどうかを調べられる。その使い方と注意点、正規表現を使って同様な処理を行う方法を紹介する。
Pythonには文字列の内容を中央/左/右にそろえたり、0埋めを行ったりするためのメソッドがある。それらの使い方を紹介する。
文字列が持つ各種メソッドやreモジュールのsub関数を使って、文字列内にある特定の文字列を削除する方法を紹介する。
Pythonには文字列中の大文字/小文字を変換するための便利なメソッドがある。それらの使い方を紹介する。
文字列中の特定の部分文字列や特定の文字を、replace/translateメソッドを使って別の文字列や文字に変換する方法を紹介。タブ文字を空白文字に展開する方法も取り上げる。
文字列に特定の部分文字列が含まれているか、そのインデックスはどこか、何個含まれているかなどを調べる方法を紹介する。
Pythonに組み込みのint関数やfloat関数を使って文字列を数値に、逆にstr関数などを使って数値を文字列に変換する方法を紹介する。
Pythonのリスト(配列)の初期化、要素へのアクセス、要素の追加、要素の削除、要素の検索、要素の並べ替えを行う方法を1ページにまとめて紹介する。
sortメソッドやsorted関数でリスト(配列)の要素をソートしたり、reverseメソッドやreversed関数で要素を逆順に並べたりする方法を紹介する。
リスト(配列)に特定の値が含まれているか含まれていないか、特定の値が何個含まれているか、特定の値がどこにあるか、最大値と最小値は何かを検索するための方法を紹介する。
インデックスやスライス、各種のメソッドを使用してリストから要素を削除する方法を紹介する。
各種の演算子/メソッドを使って、リストの末尾に要素を追加したり、リスト内の指定した位置に要素を挿入したりする方法を紹介する。
インデックスやスライスを使って、リスト(配列)の要素を取得、削除、変更する方法を紹介する。
Pythonでは配列は「リスト」というデータ構造として実装されている。list関数やリスト内包表記などを使って、これを初期化する方法をまとめて紹介する。
range関数を使って連番や特定の初期値/最終値/差分で計算される等差数列を得る方法、for文との組み合わせ例、rangeオブジェクトなどについて説明する。
結合演算子/累算代入演算子/文字列のjoinメソッドを使って、複数の文字列を結合(連結)する方法を紹介。文字列以外を要素とするリストの要素を文字列として結合する方法も取り上げる。
splitメソッドを使って文字列を空白文字や特定の文字列を区切りとして複数の文字列へと分割する方法を見ていく。似た処理を行うrstripメソッドとstliplinesメソッドも紹介。
print関数を使って変数などの値を表示する方法と、その際に区切り文字や行末の改行を変更する方法、文字列と変数の値を組み合わせる方法などを紹介する。
if文の構文と、比較演算子や論理演算子を使用して条件分岐を行う典型的なコード例を紹介する。
for文で処理を繰り返し実行する際の典型的なコード例を紹介。range関数、enumerate関数、zip関数、break文とcontinue文についても触れる。
文字列やリストの要素数(長さ)を得るには組み込みのlen関数を使用する。if文やfor文で、len関数を使って要素数を調べなくてもよい場合についても説明。
Pythonで数値を0埋めして文字列化するには、f文字列、formatメソッド、format関数、%演算子などの方法がある。