python 第39讲 新手求助
class Stack:def __init__(self, start=[]):
self.stack = []
for x in start:
self.push(x)
def isEmpty(self):
return not self.stack
def push(self, obj):
self.stack.append(obj)
def pop(self):
if not self.stack:
print('警告:栈为空!')
else:
return self.stack.pop()
def top(self):
if not self.stack:
print('警告:栈为空!')
else:
return self.stack[-1]
def bottom(self):
if not self.stack:
print('警告:栈为空!')
else:
return self.stack
def isEmpty(self):
return not self.stack
这是什么意思 没看懂,这个return返回有什么意义 不能直接使用isEmpty()吗{:10_243:}
isEmpty 这个方法是用于检查栈是否为空栈的,这里返回 not self.stack 就是将self.stack的布尔类型值进行取反
你要知道 Python 中 空列表、空字符串、空元组等布尔类型值都可以看作 False
而 如果这里是空栈 ,即 self.stack = [] 空列表,那么 self.stack 就可以看成 bool 类型值的 False
此时 调用 isEmpty 方法判断栈是否为空,即 return 返回 not self.stack 等价于返回 not False 等价于 True,所以最终表示栈为空
Twilight6 发表于 2020-11-15 16:00
isEmpty 这个方法是用于检查栈是否为空栈的,这里返回 not self.stack 就是将self.stack的布尔类型 ...
哦哦懂了,学了后面忘了前面的了
{:10_250:}
页:
[1]