2016-11-04 16 views
-2

値として印刷するのに問題があります。Python印刷なし

def a(b): 
    b = None 
    print b 

def c(a): 
    if a: 
     return True 
    else: 
     return False 

>>> a(1) 
None   # I need this "None" to show. 
>>> c(a(1)) 
None   # I don't want to print out this, but don't know how. 
False 

私の問題は、私は "印刷" のみの機能aを呼び出すことなしに持っている:

は、ここに私のpythonコードだと仮定します。

関数cを関数cに渡すと、 "None"が表示されないようにしたいと思います。

"return none"と入力すると、Pythonシェルは関数aに "None"を表示しません。そういうわけで、 "None"を表示したいのであれば "print"しか使えないと思ったのです。しかし、関数aを関数cに渡すと、 "None"も出力されます。 2番目の関数で "None"を表示せずに結果を秘密裏に取得する方法はありますか?

私の質問が意味をなさないことを願っています。

ありがとうございました。

答えて

0

c(a(1))は、a(1)を最初に実行し、次にc(a(1))を実行します。ここではa(1)を返していないので、c(a(1))、偽と評価されます。

次の取得理由です:

None 
False 

次のようにこれが返されますc(a)としての機能を呼び出してみてください。

True 

aが実行されていないので、これが起こると、それはいくつかの値をしていますそれに。

希望すると便利です。