繁体   English   中英

来自VB.Net的Subs in Python

[英]Subs from VB.Net in Python

在VB.NET中,您可以执行此操作。

 Private Sub RandomSub()
     'blablabla
 End Sub


 Private Sub Button1_Click(Byval.. Byref..) As Button1.Click
      RandomSub()
 End Sub

您如何在python中制作subs并在需要时调用它们? 我知道DEF的内容,但这是吗?

在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

我阅读了wilbur答案下面的对话,但是我想我将添加一个直接解决该问题的答案,仅用于将来的stackoverflow读者。

在VB中SubFunction不同。 Sub是不返回任何内容的可重用代码块,而Function是返回值的代码块。 在Python(和大多数其他编程语言)中,“函数”是一段代码,可以选择返回一个值。 因此,在Python中,您可以使用def代替VB的SubFunction

另外,在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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM