2024-05-19 13:09:31 发布
网友
我会在函数内部的两个def之间传递一个变量。我该怎么办?我试过使用global,但没用
class example: def funz1(self,q,b): global queue queue = [] queue += [q] queue += [a] def funz2(self): return str(queue.pop())
但上面说排队是空名单
有几个是用这个代码发出的,首先,没有必要使用全局条,因为你可以访问self。另外,如果列表不为空,pop将引发异常,因此,您可以有以下内容:
class example: def __init__(self): self.queue = [] def funz1(self,q,b): self.queue.append(q) self.queue.append(b) def funz2(self): if len(self.queue) > 0: return str(self.queue.pop())
除此之外,如果您使用列表作为q,那么您还可以使用collections中的deque,该集合是为该用途而设计的:
必须使用self参数,该参数指向example实例本身:
self
example
class example: def funz1(self,q,b): self.queue = [] self.queue += [q] self.queue += [a] def funz2(self): return str(self.queue.pop())
阅读更多here。在
另外,作为补充说明,array += [item]是错误的,您应该使用array.append(item)
array += [item]
array.append(item)
有几个是用这个代码发出的,首先,没有必要使用全局条,因为你可以访问self。另外,如果列表不为空,pop将引发异常,因此,您可以有以下内容:
除此之外,如果您使用列表作为q,那么您还可以使用collections中的deque,该集合是为该用途而设计的:
^{pr2}$必须使用
self
参数,该参数指向example
实例本身:阅读更多here。在
另外,作为补充说明,
array += [item]
是错误的,您应该使用array.append(item)
相关问题 更多 >
编程相关推荐