Python: как создать функцию, которая принимает несколько объектов одного класса в качестве входного параметра?

Я работаю со связанным списком в python.

Вот два класса, которые я написал для создания связанного списка:

class node:
    
    def __init__(self, value):
        self.value = value
        self.next = None

class linkedList:
    
    def __init__(self):
        self.head = None

# Two linked lists are being created:
l1 = linkedList() #1st linked list
l1.head = node(1)
new_node1 = node(2)
l1.head.next = new_node1

l2 = linkedList() #2nd linked list
l2.head = node(10)
new_node2 = node(20)
l2.head.next = new_node2

Теперь я хотел бы создать функцию внутри класса linkedList, которая будет принимать два связанных списка и выполнять над ними различные задачи, такие как: сравнение, объединение связанных списков и т. д.

Но главная проблема в том, что я не совсем уверен, как построить функцию, которая принимает несколько объектов одного класса в качестве входного параметра?

Ваша помощь будет очень признательна.

Заранее спасибо!

def compare(l1: linkedList, l2:linkedList) -> int: ...
Samwise 25.12.2020 16:03

В чем проблема? Написать функцию, которая принимает более одного параметра (технически вы написали это уже в коде) или проверить класс объекта?

Michael Butscher 25.12.2020 16:05
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
188
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
class linkedList:
    
    #create function of linkedList class which takes exactly 2 linkedList objects:

    def function(obj1: linkedList, obj2: linkedList):
        pass #do whatever you need to do with those objects

то вы можете применить эту функцию:

linkedList.function(LL1, LL2)

или, альтернативно, вы можете сделать это:

class linkedList:
    
    def function(self, obj: linkedList):
        pass

это применит функцию к объекту, из которого она была вызвана, и другому объекту, переданному в качестве аргумента:

LL1.function(LL2)

Другие вопросы по теме