PythonでNone判定をしてNoneでなければその変数をif分の中で処理するには


Pythonで

[code]

    def aaa(bbb)
    　 if bbb == "ccc":
           return "ddd"
       return
    
    if aaa(bbb) is not None:
       print aaa(bbb)
    
[/code]

というプログラムがあり、aaa(bbb)がNoneでなければaaa(bbb)の内容を表示させたいと思っていますが、aaa(bbb)の関数が2回呼ばれるが気持ち悪いと感じております。

例えば、if文の中でNone判定をしてNoneでなければ、ある値に結果を入れておいてif文の中でその変数を使って処理のようなことはできないのでしょうか。

もしくはもっと効率のいい方法でも結構です。ご存知の方、是非ご教示お願いします。




Pythonでは、条件式の内部で代入を行えません。

公式チュートリアルの[データ構造のページ](https://docs.python.jp/3.3/tutorial/datastructures.html#more-
on-conditions)のには、以下のように書かれています。

> Python では、C 言語と違って、式の内部で代入を行えないので注意してください。 C 言語のプログラマは不満に思うかもしれませんが、この仕様は、 C
> 言語プログラムで遭遇する、式の中で == のつもりで = とタイプしてしまうといったありふれた問題を回避します。

そのため変数を使って書くのが一般的です。

[code]

    a = aaa(bbb)
    if a is not None:
        print(a)
    
[/code]




Pythonでは、条件式の内部で代入を行えません。

公式チュートリアルの[データ構造のページ](https://docs.python.jp/3.3/tutorial/datastructures.html#more-
on-conditions)のには、以下のように書かれています。

> Python では、C 言語と違って、式の内部で代入を行えないので注意してください。 C 言語のプログラマは不満に思うかもしれませんが、この仕様は、 C
> 言語プログラムで遭遇する、式の中で == のつもりで = とタイプしてしまうといったありふれた問題を回避します。

そのため変数を使って書くのが一般的です。

[code]

    a = aaa(bbb)
    if a is not None:
        print(a)
    
[/code]

