拙著『Excel VBAユーザーのためのPythonプログラミング入門』の、「第5章 変数とデータ型を意識しよう」で、PythonにはVBAの「Dim var As…」に相当する変数宣言のみのコードはないけれど、初期値の代入によって型が自動的に変化することなどを解説しています。
『Excel VBAユーザーのためのPythonプログラミング入門』p.85より
整数の代入に関して、最近のPythonではVBAより便利な書き方ができることも、知っておいていただきたいと思っています。
大きな数値を代入する際に、桁区切り記号として「_」(アンダーバー・アンダースコア)が使えるということです。
大きな整数の代入と確認
まず「_」を使わない、整数の代入と確認しましょう。
var1 = 6378137 print(var1, type(var1))
上記のコードを、拙著で多用しているIDLEのShellウィンドウで実行すると、下図のように「6378137」とint型であることが出力されます。
6378137 <class 'int'>
ちなみに、「6378137」とは地球の半径です。
「_」を使った整数の代入と確認
つづいて、「_」を使った代入とその結果を確認しましょう。
var2 = 6_378_137
上記のように一般的な3桁区切りで「,」を入れる箇所で「_」を入力します。
このとき「'6_378_137'」のようにクォーテーションでくくってはいけません。
「_」を使っていた変数var2の値とデータ型を出力すると
print(var2, type(var2))
先ほど「6378137」を代入した変数var1と同じ結果になります。
6378137 <class 'int'>
実務で使うコードの中で、大きな数値を直接書くということはそれほど無いと思いますが、テストや調査をするときには、大きな数値を変数に代入するということは割とあります。
そのようなときに、Python 3.6以降のPythonでは「_」を使って桁区切りを入れられ地味に便利だと私は感じています。
ちなみにVBAで「var = 6_378_137」という代入文を書いても、下図のように構文エラーになってしまいます。
リアル書店の在庫状況
拙著のリアル書店さんごとの在庫状況は、以下のリンクからご確認いただけます。
最終更新日時:2023-11-09 12:33
Home » 『Excel VBAユーザーのためのPythonプログラミング入門』 » Pythonでは桁区切りにアンダーバー・アンダースコアが使える