を返すあなたはここに2つのオプションがあり、どちらかの代わりに単にあなたのtransmitter
機能でprint
のreturn
を使用するか、または単にprint
を呼び出すことなく、あなたのtransmitter
を呼び出します。ここで何が起こっているのは、関数のreturn
であるNone
(戻り値を指定しないので、デフォルトではNone
を返します)と、関数内のprint
です。
守っ:あなたの例に、より密接に
>>> def transmitter():
... print (2)
...
>>>
>>>
>>> transmitter()
2
>>> print(transmitter())
2
None
>>>
を、あなたが値にtransmitter
を割り当てるときに何が起こるか見て:
>>> newval = transmitter()
2
>>> print(newval)
None
>>>
だから、あなたのコードに関して、あなたは
を行う必要があります
def transmitter():
return 2
これは実際にコードを内部に作成しますvaluepullup
ははるかに意味をなさない。実際に2
をnewval
に格納することを検討しています。だから 関数から2
を返す必要があります。newval
が実際に2
を保持しています。あなたのコードには、transmitter
の戻り値が保持されるので、None
を保持します。説明したようにNone
です。だから、あなたのコードは今は次のようになります。今
from OpenUSB import transmitter
def valuepullup():
newval = transmitter()
print(newval)
def transmitter():
return 2
valuepullup()
、あなたがnewval
を印刷するとき、それは実際には2
機能(暗黙的に)復帰 'NONE'になります。あなたは 'return newval'(' valuepullup'に)と 'return 2'(' transmitter'に)を含めることができます。 – MSeifert