首页 > 解决方案 > 对 python 中的 size() 函数感到困惑

问题描述

我正在通过代码在python中编写一个循环队列


class CircularQueue:

  # constructor for the class
  # taking input for the size of the Circular queue 
  # from user
  def __init__(self, maxSize):
    self.queue = list()
    # user input value for maxSize
    self.maxSize = maxSize
    self.head = 0
    self.tail = 0

  # add element to the queue
  def enqueue(self, data):
    # if queue is full
    if self.size() == (self.maxSize - 1):
      return("Queue is full!")
    else:
      # add element to the queue
      self.queue.append(data)
      # increment the tail pointer
      self.tail = (self.tail+1) % self.maxSize
      return True

让我困惑的部分是“入队”方法中的 self.size()

我查看了 python 文档,没有看到任何 size() 函数,只在 numpy.xml 中引用了 size() 。

通常你会想调用 len() 来获取列表的大小,但我知道你不能这样做 self.len()

写这样的东西背后的语法和逻辑的任何清晰/解释都会有帮助!

标签: pythonsize

解决方案


您需要定义自己的 size() 方法并返回当前队列中的项目数。


推荐阅读