首页 > 解决方案 > 在 Python 中调用要返回的对象的方法时应该使用什么返回语法?

问题描述

我想设置并返回我在程序中定义的输入流对象,如果可用的话,我想要更简洁的语法。

以下代码按预期运行,我查找了有关此的各种帖子,但没有人描述一种简洁地在对象上执行方法然后返回它的方法

def setup_input_stream(self) -> AbstractInputStream:

    self.midi_sender.connect(self.midi_note_reciever)

    input_stream: AbstractInputStream = None
    if (MidiInputStream.midi_input_avaliable()):
        input_stream = MidiInputStream(self.midi_sender)
    else:
        input_stream = KeyboardInputStream(self.midi_sender)

    input_stream.open()
    return input_stream

我想要类似下面的东西,但是 open() 方法不返回对象本身(尽管它们是自定义的,所以如果它不被认为是不好的样式,我可以定义 open 函数来执行此操作)

def setup_input_stream(self) -> AbstractInputStream:

    self.midi_sender.connect(self.midi_note_reciever)

    if (MidiInputStream.midi_input_avaliable()):
        return MidiInputStream(self.midi_sender).open()
    else:
        return KeyboardInputStream(self.midi_sender).open()

该程序基于 Python 3.7,因此它可以使用任何可用的新语法。谢谢!

标签: python

解决方案


推荐阅读