素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

IT

投稿日: 2019年1月14日
最終更新日:

【Python3】os.environで取得した環境変数の文字列型(str)の値を数値方(int)に変更するやり方【キャスト方法】

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2025/01/05 12:56:12時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

ペヤング ソースやきそば 120g×18個

created by Rinker
ペヤング
¥3,280 (2025/01/05 12:33:38時点 Amazon調べ-詳細)

とりあえず保存食として買っておけば間違いなし!

レッドブル エナジードリンク 250ml×24本

created by Rinker
Red Bull(レッドブル)
¥4,000 (2025/01/05 12:33:39時点 Amazon調べ-詳細)

翼を授けよう!

モンスターエナジー 355ml×24本 [エナジードリンク]

created by Rinker
モンスター
¥4,718 (2025/01/05 12:33:40時点 Amazon調べ-詳細)

脳を活性化させるにはこれ!

ドラゴンクエスト メタリックモンスターズギャラリー メタルキング

created by Rinker
スクウェア・エニックス(SQUARE ENIX)
¥3,940 (2025/01/05 12:41:47時点 Amazon調べ-詳細)

みんな大好き経験値の塊をデスクに常備しておこう!

Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK

created by Rinker
Bauhutte(バウヒュッテ)
¥15,855 (2025/01/05 12:09:12時点 Amazon調べ-詳細)

メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!

BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール

created by Rinker
BANDAI SPIRITS(バンダイ スピリッツ)
¥10,429 (2025/01/05 12:09:13時点 Amazon調べ-詳細)

もう一人の僕を呼び覚ませ!!

スポンサーリンク

336×280




文字列で取れてしまう

お手軽に環境変数を扱える

Pythonを使ってAWSのLambda関数やツールを作成していると、環境変数に設定した値を取得して利用したいというケースが少なからず発生すると思います。

Python3での環境変数の値の取り方は以下のようにとても簡単です。
試しにPYTHONPATHと言う環境変数を取得してみます。

存在しない環境変数を指定した場合はNoneが取得されます。

数値はそのままは使えない

ただ、数値を環境変数にもたせている場合はそのまま使おうとすると以下のようになってしまいます。

これは、os.environで取得した値がint型ではなくstr型で取得されるPythonの仕様のため、そのままではrange関数の引数に使えない、と言う現象になります。

ですので、int型にキャストする必要があるのですが、Python3では簡単にキャストをすることが出来るのでご紹介致します。

手順

int関数を利用

Pythonには文字列を数値に変換するintメソッドが用意されています。

これを利用することで簡単に文字列数字を数値に直すことができます。

標準出力上は変わりませんが、しっかりとrange関数に渡せるようになりましたね♪

半角文字列数値以外をint関数に渡すとどうなる?

では、実装ミス等が原因でint関数に文字列数字以外を渡してみましょう。

アルファベットの場合

まずはアルファベットの場合です。

予想通りエラーが出ましたね。

全角数値の場合

では、次は全角数値の場合です。

なんと動いてしまいました・・・・!
これは予想外でしたね。

あまり使うケースはないとは思いますが、このケースは念頭に入れておいた方が良いかもしれませんね。

終わりに

以上のように、知っておかないとバグが発生してしまいます。

近年はサーバーレスアーキテクチャや人工知能などでPythonが活躍出来る場が増えてきているので、覚えておくと良いでしょう♪

336×280




336×280




CATEGORIES & TAGS

IT, , , , , , ,

blogenist

Author: blogenist

関連記事

YouTubeも見てね♪