Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 错误TypeError:init()缺少2个必需的位置参数的原因是什么:_Python 3.x - Fatal编程技术网

Python 3.x 错误TypeError:init()缺少2个必需的位置参数的原因是什么:

Python 3.x 错误TypeError:init()缺少2个必需的位置参数的原因是什么:,python-3.x,Python 3.x,我是python新手,python 3中的这段代码有一个错误,当我运行它时,会收到一条消息说: TypeError:init()缺少2个必需的位置参数:“pid” 和“记忆” 顺便说一句:这是一个复制ram的程序 有人能告诉我这个错误的原因吗 我的代码: class Node: def __init__(self, p, s, e, bh): self.p = None self.s = 400 self.e = None

我是python新手,python 3中的这段代码有一个错误,当我运行它时,会收到一条消息说:

TypeError:init()缺少2个必需的位置参数:“pid” 和“记忆”

顺便说一句:这是一个复制ram的程序 有人能告诉我这个错误的原因吗

我的代码:

class Node:
    def __init__(self, p, s, e, bh):
        self.p = None
        self.s = 400 
        self.e = None
        self.bh = True
        self.next = None

class LinkedList:
    def __init__(self,pid,memory):
        self.pid = pid
        self.memory = memory
        self.head = None
        self.numnodes = 0

    def insertFirst(self, p, s, e, bh):
        node = Node(p, s, e, bh)
        node.next = self.head
        self.head = node
        self.numnodes += 1

    def insertLast(self, p, m):
        node = Node(p, m)
        if self.numnodes == 0:
            self.head = node
            self.numnodes += 1
            return
        cur_node = self.head
        while cur_node.next != None:
            cur_node = cur_node.next
        cur_node.next = node
        self.numnodes += 1

    def remFirst(self):
        self.head = self.head.next
        self.numnodes -= 1

    def remLast(self):
        cur_node = self.head
        while cur_node.next != None:
            p_node = cur_node
            cur_node = cur_node.get_next()
        del cur_node
        p_node.next = None
        self.numnodes -= 1

    def getFirst(self):
        return self.head

    def getLast(self):
        cur_node = self.head
        while cur_node.next != None:
            cur_node = cur_node.next
        return cur_node

class Memory:
      def __init__(self,pid,memory):
            self.list = LinkedList()
            self.list.insertFirst(pid,memory)
            self.memory = memory
            self.pid = pid

      def allocate(self,pid,memory):
            temp_node=self.list.head
            while temp_node.bh != True:
                  temp_node.next = temp_node
                  if temp_node.next.bh == True:
                        temp_node.next.s=temp_node.e
                        temp_node.next.e=temp_node.next.s +memory
                        temp_node.bh = False
                  if temp_node.next == None:
                        break
                  while temp_node.e + memory +1 < 2560 :

                        self.list.insertLast(self, p, s, e, bh)
                        self.p += 1
                        self.s = temp_node.e
                        self.e = temp_node.e + memory
                        self.bh = True

            else: print("no space")


      def terminate(self,pid):
            temp_node=self.list.head
            while temp_node.pid != pid: 
                  temp_node.next = temp_node
                  if temp_node.next == None:
                        print("no such processs")
类节点:
定义初始值(self、p、s、e、bh):
self.p=None
self.s=400
self.e=无
self.bh=True
self.next=无
类链接列表:
定义初始化(自、pid、内存):
self.pid=pid
self.memory=记忆
self.head=无
self.numnodes=0
def insertFirst(自身、p、s、e、bh):
节点=节点(p、s、e、bh)
node.next=self.head
self.head=节点
自结点+=1
def insertLast(自身、p、m):
节点=节点(p,m)
如果self.numnodes==0:
self.head=节点
自结点+=1
返回
cur_node=self.head
而cur_node.next!=无:
cur_node=cur_node.next
cur_node.next=节点
自结点+=1
def remFirst(自我):
self.head=self.head.next
自结点-=1
def remLast(自我):
cur_node=self.head
而cur_node.next!=无:
p_节点=当前节点
cur\u node=cur\u node.get\u next()
德尔库鲁节点
p_node.next=无
自结点-=1
def getFirst(自我):
回头
def getLast(自我):
cur_node=self.head
而cur_node.next!=无:
cur_node=cur_node.next
返回cur_节点
类内存:
定义初始化(自、pid、内存):
self.list=LinkedList()
self.list.insertFirst(pid,内存)
self.memory=记忆
self.pid=pid
def分配(自身、pid、内存):
临时节点=self.list.head
而temp_node.bh!=正确:
temp_node.next=temp_node
如果temp_node.next.bh==True:
temp_node.next.s=temp_node.e
temp_node.next.e=temp_node.next.s+内存
temp_node.bh=False
如果temp_node.next==无:
打破
当温度节点e+内存+1<2560时:
self.list.insertLast(self、p、s、e、bh)
自我保护p+=1
self.s=temp_node.e
self.e=临时节点.e+内存
self.bh=True
其他:打印(“无空间”)
def终止(自我,pid):
临时节点=self.list.head
而temp_node.pid!=pid:
temp_node.next=temp_node
如果temp_node.next==无:
打印(“无此类处理”)
m=内存()


m、 allocate(1400)

它可能来自
self.list=LinkedList()
请参阅此类的_init方法中的参数它可能来自
self.list=LinkedList()
请参阅此类的_init方法中的参数