質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

414閲覧

pythonにおけるif文の解釈について

fukufuku555

総合スコア26

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/11/18 07:12

以下のpythonのコードの解釈について質問なのですが、
if文の条件で変数のみ記載されている場合、どういう解釈になるのでしょうか?

#incoming_test変数にOSの環境変数TEST_Prefixをセットする incoming_test_ = os.environ['TEST_Prefix'] if incoming_test: object_path = (incoming_test + "/" + message_id) else: object_path = message_id

以下の通り解釈したのですが、

もし、incoming_testが「」の場合は object_path変数に (incoming_test + "/" + message_id)をセットする それ以外場合は object_path変数にmessage_idをセットする

「」の部分が理解できません。
初歩的な質問で申し訳ございませんが、御教示お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

8. 複合文 (compound statement) — Python 3.9.0 ドキュメント

if 文は、式を一つ一つ評価してゆき、真になるまで続けて、真になった節のスイートだけを選択します (真: true と偽: false の定義については、 ブール演算 (boolean operation) 節を参照してください);

6. 式 (expression) — Python 3.9.0 ドキュメント

ブール演算のコンテキストや、式が制御フローの文で使われる際には、次の値は偽だと解釈されます: False 、 None 、すべての型における数値の 0、空の文字列、空のコンテナ (文字列、タプル、リスト、辞書、集合、凍結集合など)。 それ以外の値は真だと解釈されます。

投稿2020/11/18 07:16

編集2020/11/18 07:22
ozwk

総合スコア13553

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fukufuku555

2020/11/18 07:26

ご回答ありがとうございます。ブール演算という概念がわからず、 つまづいていました。頂いたURLを参考にいたします。
guest

0

真理値判定

オブジェクトは、デフォルトでは真と判定されます。ただしそのクラスが bool() メソッドを定義していて、それが False を返す場合、または len() メソッドを定義していて、それが 0 を返す場合は偽と判定されます。

なのでおおまかにいうと「os.environ['TEST_Prefix']の値がNoneではなく、その値(文字列)が空でなければ」でよいかと思います。

投稿2020/11/18 07:22

can110

総合スコア38341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fukufuku555

2020/11/18 07:27

ご回答ありがとうございます。分かりやすく説明して頂き理解出来ました。 助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問