【Python】数字を0埋めする方法
公開:
Pythonで数字や文字列を0埋めする方法は、データ整形や表示の一貫性を保つため、頻繁に使用される機能です。
数字や文字列を0埋めする方法として、以下3つが挙げられます。
上記3つについて、簡単に解説していきます。
zfill()メソッドで数字を0埋めする方法
【サンプルコード】
x = "123"
padded_x = x.zfill(5)
print(padded_x) # 00123
x = "123"は文字列として、数字"123"を変数xに代入しています。
padded_x = x.zfill(5)はzfill()メソッドを使用して、文字列xを5桁の0埋めした結果をpadded_xに代入しています。
print(padded_x)では、0埋めされた結果"00123"を出力しています。
zfill()メソッドのメリット・デメリット
zfill()メソッドは主に、数字の文字列を指定された長さにゼロで埋めるため使用されます。
実装は簡単ですが、zfill()はゼロ埋めの機能しか提供されていません。
さらに、このメソッドは数字の文字列に特化しているため、他のデータ型や文字列への適用が難しいです。
format()メソッドおよび関数で数字を0埋めする方法
【サンプルコード】
num = 123
formatted_num = format(num, '05d')
print(formatted_num) # 00123
num = 123は、整数123を変数numに代入しています。
formatted_num = format(num, '05d')は、format()関数を使用して、整数numの0埋めした結果をformatted_numに代入しています。
print(formatted_num)では、0埋めされた結果"00123"を出力しています。
format()メソッドおよび関数のメリット・デメリット
format()メソッドおよび関数は、文字列や数字、日付など様々なデータ型の書式設定に対応できます。
シングルの文字列内に複数の変数や値を組み込める上に、書式指定が明確であるため理解しやすいメリットがあります。
しかし、書式指定のシンタックスを習得する必要があり、学習曲線は少し急かもしれません。
また、Pythonのバージョンによって、動作が異なる場合があるので、注意が必要です。
%演算子で数字を0埋めする方法
【サンプルコード】
num2 = 123
padded_num2 = '%05d' % num2
print(padded_num2) # 00123
num2 = 123は、整数123を変数num2に代入しています。
padded_num2 = '%05d' % num2は、%演算子を使用して、整数num2の0埋めした結果をpadded_num2に代入しています。
print(padded_num2)では、0埋めされた結果"00123"を出力しています。
%演算子のメリット・デメリット
%演算子は古いバージョンで使用されていた方法であり、短いコードで単純なフォーマットを実現できます。
現代のPythonプログラミングにおいて、format()メソッドの登場以降、%演算子はあまり推奨されていません。
その理由として、format()に比べて書式のオプションが限られており、フォーマット文字列と引数の数やタイプが一致しない場合、エラーが発生しやすいという点が挙げられます。
古いバージョンを修正する場合、%演算子も理解しておいたほうが良いので、バージョンなどケースバイケースで0埋めする方法を理解しておくことをおすすめします。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。






