已收到2个值,数字和非数字

2024-06-03 14:45:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我用两个代码。我希望程序1从程序2接收值

文件1:

from OpenUSB import transmitter

def valuepullup():
    newval = transmitter()
    print(newval)


valuepullup()

文件2:

def transmitter():
    print (2)

我得到的结果是:

2
None

我很乐意使用刚刚送来的价值。就目前的情况而言,没有人会破坏它。 有没有办法阻止“无”和“2”一起出现

提前谢谢


Tags: 文件代码fromimport程序nonedef情况
2条回答

您没有从def transmitter():返回任何内容。不是打印2,而是返回2

这里有两个选项,要么在transmitter函数中使用return而不是print,要么只调用transmitter而不调用print。这里发生的是,您正在打印函数的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。因此,您应该transmitter函数返回2,这样newval现在就实际持有2。在您的代码中,它持有None,因为它将持有transmitter的返回。如前所述,它是None。所以,你的代码现在应该是:

from OpenUSB import transmitter

def valuepullup():
    newval = transmitter()
    print(newval)

def transmitter():
    return 2

valuepullup()

现在,当你打印newval时,它实际上是2

相关问题 更多 >