2024-06-03 14:45:20 发布
网友
我用两个代码。我希望程序1从程序2接收值
文件1:
from OpenUSB import transmitter def valuepullup(): newval = transmitter() print(newval) valuepullup()
文件2:
def transmitter(): print (2)
我得到的结果是:
2 None
我很乐意使用刚刚送来的价值。就目前的情况而言,没有人会破坏它。 有没有办法阻止“无”和“2”一起出现
提前谢谢
您没有从def transmitter():返回任何内容。不是打印2,而是返回2
def transmitter():
这里有两个选项,要么在transmitter函数中使用return而不是print,要么只调用transmitter而不调用print。这里发生的是,您正在打印函数的return,即None(因为没有指定返回,默认情况下将返回None),以及函数内部的print
transmitter
return
print
None
观察:
>>> 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。所以,你的代码现在应该是:
valuepullup
2
newval
from OpenUSB import transmitter def valuepullup(): newval = transmitter() print(newval) def transmitter(): return 2 valuepullup()
现在,当你打印newval时,它实际上是2
您没有从
def transmitter():
返回任何内容。不是打印2,而是返回2这里有两个选项,要么在
transmitter
函数中使用return
而不是print
,要么只调用transmitter
而不调用print
。这里发生的是,您正在打印函数的return
,即None
(因为没有指定返回,默认情况下将返回None
),以及函数内部的print
观察:
更接近您的示例,看看将
transmitter
赋值时会发生什么:所以,关于你的代码,你应该
这实际上使得
valuepullup
中的代码更有意义。您希望实际将2
存储在newval
。因此,您应该从transmitter
函数返回2
,这样newval
现在就实际持有2
。在您的代码中,它持有None
,因为它将持有transmitter
的返回。如前所述,它是None
。所以,你的代码现在应该是:现在,当你打印
newval
时,它实际上是2相关问题 更多 >
编程相关推荐