如何避免在Python类方法中使用self ?



我正试图在Python中实现LinkedList,下面是我为此编写的代码。

from linkedlists.Node import Node

class LinkedList:
def __init__(self):
self.head = None
def insert_at_beginning(self, data):
temp = Node(data)
if self.head is None:
self.head = temp
else:
temp.next = self.head
self.head = temp
def insert_at_end(self, data):
temp = Node(data)
if self.head is None:
self.head = temp
else:
curr = self.head
while curr.next is not None:
curr = curr.next
curr.next = temp
def insert_at_position(self, pos, data):
temp = Node(data)
if self.head is None:
self.head = temp
else:
curr = self.head
i = 1
while i < pos:
curr = curr.next
i += 1
temp.next = curr.next
curr.next = temp
def traverse_list(self):
if self.head is None:
print('List is empty')
else:
curr = self.head
while curr.next is not None:
print(curr.data)
curr = curr.next

if __name__ == '__main__':
ll = LinkedList
ll.head = Node(1)
ll.insert_at_beginning(10)
ll.traverse_list()
当我运行代码时,我看到运行时异常:
TypeError: insert_at_beginning() missing 1 required positional argument: 'self'

那是因为我在方法定义中有一个方法参数self。我不能删除self参数,因为我在构造函数中将头初始化为self

无论如何,我可以调用没有self的方法,或者如果我可以构建我所有的逻辑没有使用self?如有任何帮助,不胜感激。

要创建一个类的新对象,必须在类名后使用圆括号(圆括号)
Change:

ll = LinkedList

:

ll = LinkedList()

最新更新