将变量从一个函数传递给另一个类的另一个函数 - Python

Posted

技术标签:

【中文标题】将变量从一个函数传递给另一个类的另一个函数 - Python【英文标题】:Passing variable from a function to other function from other class - Python 【发布时间】:2015-01-04 15:50:59 【问题描述】:

我已经在我的问题中搜索了可能的答案/解决方案,但没有解决它,它不适用于我的程序。我不知道我的代码有什么问题,所以我想在这里问一下。我正在使用 Python 3,Qt。

这是我的代码:

main.py

> class Emp(QtGui.QWidget, Ui_Emp):
>     def __init__(self, parent=None):
>         #..
>     def getdata(self):
>         ename = str(self.emp_comboBox.currentText())
>         Perform.getrb(ename) 
      @QtCore.pyqtSignature("on_proceed_clicked()")
      def perform(self):
          self.a = Perform(self)
          self.a.show()
          self.close()
  class Perform(QtGui.QWidget, Ui_Perf):
>     def __init__(self, parent=None):
>         #..    
>     @QtCore.pyqtSignature("on_procbutton_clicked()")
>     def getrb(ename):
>         print(ename)

输出

> Fatima Cruz *prints the ename*  
> <__main__.Performa at 0x00000000036EC288>`

编辑: 以前,我的问题是将变量“ename”从 Emp 类传递给 Perform 类。我现在的问题是

> <__main__.Perform object at 0x00000000036EC288>

我不知道它是什么意思以及如何调试它。

我希望这一切都有意义。如果您需要澄清,请告诉我。欢迎对代码本身提出任何批评。提前致谢。

【问题讨论】:

您是否准确地确定了导致问​​题的线路? 您好,先生,我已经得到了“ename”,但我认为仍然存在错误。因为在'ename'之后,输出还有'<__main__.perform object at>'是什么意思? 您的代码不完整。它不能按原样运行,因此这里的人们只能推测。 【参考方案1】:

在您的第一个解决方案中,我认为您应该将 Perform.getrb(self, ename) 更改为 self.getrb(ename)

【讨论】:

我试过了,但我得到了相同的输出。谢谢回答。无论如何,我忘记了一些代码,我会编辑它,也许那部分有问题。请看:)【参考方案2】:

所以你不提供可运行代码的原因确实不好。但是对于你的问题:'这是什么意思'

如果你有一门课,让我们说:

#main.py
class A:
    #some methods

classA = A()
print class A

--> 输出:__main__.A object at 0x00...(更多数字) 如果你打印一个对象,Python 会告诉你它属于哪个类: __main__A --> 主模块中 A 类的对象 并且在 0x00... 告诉您它在内存中的存储位置。

因此,在您的代码中,您可能有打印对象的语句

【讨论】:

对不起。呵呵,不过谢谢! :)

以上是关于将变量从一个函数传递给另一个类的另一个函数 - Python的主要内容,如果未能解决你的问题,请参考以下文章

如何将一个类函数传递给同一个类中的另一个?

如何将“委托”函数的参数传递给从孩子到父母的另一个函数?

是否可以将输入函数传递给Polymer中的另一个组件

将数组从另一个类的构造函数传递给类函数

将 onclick 函数作为参数传递给 react/typescript 中的另一个组件

Python - 将一个函数传递给另一个函数