Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在方法之间共享值_Python_Python 3.x_Return_Return Value - Fatal编程技术网

Python 在方法之间共享值

Python 在方法之间共享值,python,python-3.x,return,return-value,Python,Python 3.x,Return,Return Value,我想我知道如何在Python中使用return,但是出现了一些问题,我不明白 class Projet(object): def pathDirectory(self): pathDir= str(QFileDialog.getExistingDirectory(ui.pathTab1, 'Select Path','', QFileDialog.ShowDirsOnly)) return pathDir def

我想我知道如何在Python中使用return,但是出现了一些问题,我不明白

    class Projet(object):
       def pathDirectory(self):
           pathDir= str(QFileDialog.getExistingDirectory(ui.pathTab1, 'Select Path','', QFileDialog.ShowDirsOnly))
           return pathDir

       def goFunc(self, pathDir):

         # do function
         # HERE pathDir is a boolean and not a str with the path directory

   if __name__ == "__main__":
       p = Projet()
       pathDir = p.pathDirectory()
       p.goFunc(pathDir) ## This is the line where it begins
所以我有一个函数,它在变量中获取路径目录并返回它。 我想在其他函数中使用path目录,但当我调用它时,它不再是一个字符串,而是一个布尔值(
pathDir

更新:抱歉,伙计们,输入错误,它是pathDir而不是path,但仍然返回False

您有一个输入错误

   def pathDirectory(self):

       path= str(QFileDialog.getExistingDirectory(ui.pathTab1, 'Select Path','', QFileDialog.ShowDirsOnly))

       return pathDir
应该是:

   def pathDirectory(self):

       pathDir = str(QFileDialog.getExistingDirectory(ui.pathTab1, 'Select Path','', QFileDialog.ShowDirsOnly))

       return pathDir
实际上,您正在设置
路径
,然后不返回它

def pathDirectory(self):

       path= str(QFileDialog.getExistingDirectory(ui.pathTab1, 'Select Path','', QFileDialog.ShowDirsOnly))

       return path #edited

您应该将
return
语句更改为
returnpath
,因为
path
将值存储在前一行中。

这应该有效。您可以创建类的成员变量,而不是不必要地传递变量。此变量可以由任何其他函数更新和重用,而无需担心传递参数

class Projet(object):

    def pathDirectory(self):
        print "- - in pathDirectory - -"
        self.pathDir= str(QFileDialog.getExistingDirectory(ui.pathTab1, 'Select Path','', QFileDialog.ShowDirsOnly))

    def goFunc(self):
        print "- - In goFunc - -"
        print self.pathDir

if __name__ == "__main__":
    p = Projet()
    p.pathDirectory()
    p.goFunc()

您设置了
path=…
但随后返回
pathDir
,我看不到定义了pathDir您正在
pathDirectory
中返回
pathDir
。我想你想回到那里。这就是为什么我说-不要喝酒和编码。您初始化了路径,但返回了pathDir。@AdityaJoshi哈哈!哎呀,我的错误(键入错误),但当我尝试在另一个应用程序中使用pathDir时,它仍然是错误的function@AnindyaDutta是的,很抱歉这是一个键入错误,但问题仍然存在,仍然返回FAlseYep抱歉,我的错,我犯了一个键入错误,但当我尝试在另一个函数中使用pathDir时,尽管我这样做了,但仍然得到一个假值,很抱歉,这是一个键入错误,但每当我尝试在另一个函数中使用pathDir时,仍然会得到一个False