在VB.NET中你可以这样做.. 你有一个这样的子:
Private Sub RandomSub()
'blablabla
End Sub
Private Sub Button1_Click(Byval.. Byref..) As Button1.Click
RandomSub()
End Sub
如何在python中创建subs并在需要时调用它们?我知道的 DEF 的事情,但是它呢?
答案 0 :(得分:1)
在Python中,你可以像你所说的那样使用def
关键字定义函数或方法,但是没有办法真正做到Sub
在VB.Net中做的事情。您应该从函数返回任何相关值,并将它们分配给调用函数中的变量。
def RandomSub():
rndstring = "something"
return rndstring
def Button1_Click(param1, param2):
rndstring = RandomSub()
# use rndstring here
您还可以从函数中返回元组并将其解压缩到赋值语句
中def RandomSub():
var1 = "something"
var2 = "something"
var3 = "something"
return var1,var2,var3
def Button1_Click(param1, param2):
rndstring1,rndstring2,rndstring3 = RandomSub()
# use rndstrings here
答案 1 :(得分:0)
我在wilbur的回答下面阅读了对话,但我想我会添加一个直接解决问题的答案,仅供将来的stackoverflow读者使用。
在VB中Sub
与Function
不同。 Sub
是一个无法返回任何内容的可重用代码块,而Function
是一个返回值的代码块。在Python(和大多数其他编程语言)中,"函数"是一段可以选择返回值的代码块。因此,在Python中,您使用def
代替VB Sub
和Function
。
此外,在VB中,您必须声明Function
的返回类型,而在Python中则不是。
因此:
Private Sub RandomSub()
'Do something
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
RandomSub()
End Sub
在Python中会是这样的:
def _random_sub():
# Do something
def _button1_click(sender, e):
_random_sub()