我使用 2 个代码。我希望程序 1 从程序 2 接收值。
文件 1:
from OpenUSB import transmitter
def valuepullup():
newval = transmitter()
print(newval)
valuepullup()
文件 2:
def transmitter():
print (2)
我得到的结果是:
2
None
我很乐意使用刚刚发送过来的值。由于目前的情况,None 破坏了它。 有没有办法阻止 none 与 2 一起出现。
提前致谢
最佳答案
这里你有两个选择,要么简单地在你的 transmitter
函数中使用 return
而不是 print
,或者只调用你的 transmitter
而不调用 print
。这里发生的是,你们都在打印函数的 return
,它是 None
(因为没有指定 return,将返回 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
中。所以,您应该从您的transmitter
函数中返回2
,这样newval
实际上就包含2
现在。在您的代码中,它包含 None
,因为它将保留 transmitter
的返回值。正如所解释的那样,它是 None
。所以,您的代码现在是:
from OpenUSB import transmitter
def valuepullup():
newval = transmitter()
print(newval)
def transmitter():
return 2
valuepullup()
现在,当您打印 newval
时,它实际上是 2。
关于python - 已收到 2 个值,一个数字和一个无,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45121791/