stack = []
for x in range(1,6):
stack.append(x) # 入栈
print('push', x, end=' ')
print(stack)
print('Now stack is', stack)
while len(stack)>0:
print('pop', stack.pop(), end=' ') # 出栈
print(stack)
from collections import deque
queue = deque() # 创建空队列
for x in range(1,6):
queue.append(x) # 入队
print('push', x, end=' ')
print(list(queue))
print('Now queue is', list(queue))
while len(queue)>0:
print('pop', queue.popleft(), end=' ') # 出队
print(list(queue))
4、单例模式
每个类只有一个实例存在
使用模块
使用初始化方法(看不懂,不会无限迭代吗?)
class Singleton(object):
_instance = None
def __new__(cls, *args, **kw):
if not cls._instance:
cls._instance = super(Singleton, cls).__new__(cls, *args, **kw)
return cls._instance
class MyClass(Singleton):
a = 1
5、全局变量
global 和 globals() 是不同的,global 是关键字用来声明一个局部变量为全局变量。globals() 和 locals() 提供了基于字典的访问全局和局部变量的方式