Является ли это идеальным способом автоматизации создания объектов с помощью функций? - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь разработать функцию на Python, которая создает множество объектов на основе пользовательского ввода.Я получил один, который работает, и он выглядит следующим образом

class Node(): ...

def initialise():
    binary_tree=[]
    opt=int(input("Enter the number of nodes you want\n"))
    for i in range(opt):
        a=Node()
        binary_tree.append(a)

, хотя я не уверен, что это идеальный способ сделать это.

Есть ли лучший способпрограммирование функции, подобной той, которую я описал, или приведенного выше метода достаточно для эффективности и ясности?

Любые ответы приветствуются, заранее спасибо.

1 Ответ

0 голосов
/ 27 февраля 2019

Ваш код работает нормально.

Существуют и другие варианты его форматирования;Например, вы могли бы использовать понимание списка, которое может быть немного быстрее, чем использование .append(), а также использовать немного меньше кода:

def initialise():
    opt = int(input("Enter the number of nodes you want\n"))

    return [
        Node()
        for _ in range(opt)]

Осторожно: этот (как и ваша версия) код может вызвать ValueError, если использование вводит строку, которую нельзя преобразовать в int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...