我觉得我知道如何在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
所以我有一个函数可以获取变量中的路径目录并返回它。 我想在其他函数中使用路径目录但是当我调用它时,它不再是一个字符串,而是一个布尔(当我打印{{时,我得到一个 False 1}})
更新:抱歉,输入错误,它是pathDir而不是路径,但仍然返回 False
答案 0 :(得分:1)
你有一个错字。
def pathDirectory(self):
pathDir = str(QFileDialog.getExistingDirectory(ui.pathTab1, 'Select Path','', QFileDialog.ShowDirsOnly))
return pathDir
应该是:
path
因为您正在设置import pika
host_ip = #host ip
channel = pika.BlockingConnection(pika.ConnectionParameters(host_ip,
5672,
"/",
credentials=pika.PlainCredentials("username","pwd"))).channel()
print "deleting queue..", channel.queue_delete(queue=queue_name)
然后不返回它。
答案 1 :(得分:1)
这应该有效。您可以创建该类的成员变量,而不是不必要地传递变量。此变量可以由任何其他函数更新和重用,而无需担心传递参数。
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()
答案 2 :(得分:0)
def pathDirectory(self):
path= str(QFileDialog.getExistingDirectory(ui.pathTab1, 'Select Path','', QFileDialog.ShowDirsOnly))
return path #edited
您应该将return
语句更改为return path
,因为path
正在将值存储在上一行中。