【问题标题】:Function in class returns "None" [duplicate]类中的函数返回“无”[重复]
【发布时间】:2021-01-04 19:39:36
【问题描述】:

所以我尽我所能,但我仍然不知道为什么它返回 None 有人可以帮我吗?

class TextEditor:
commandCaller = ""
    def text_size(self, word=str, options='upper' or 'lower'):
    try:
        self.commandCaller = 'text_editor()'
        if options.lower() == 'upper':
            updated = '{}'.format(word).upper()
        elif options.lower() == 'lower':
            updated = '{}'.format(word).lower()
        else:
            pass
        print(updated)
    except UnboundLocalError:
        print("You typed something wrong or without a logic")

textEditor = FriendlyLanguage.TextEditor()
textEditor.text_size('hello')

这就是它返回的内容:

None
HELLO

【问题讨论】:

  • 函数没有显式返回任何东西,Python默认返回None
  • 如果您使用“options”作为参数调用函数,请说“lower”。它仍然不起作用吗?似乎它流入了 else,因此更新从未初始化。更好的解决方案可能是也在 else 语句中初始化更新。或者在所有条件之前使用默认值初始化它。
  • 你的缩进被破坏了,else 是干什么用的?此外,如果 updated 未定义,您将收到错误消息。

标签: python class return return-value return-type


【解决方案1】:

Python 中的默认函数总是返回 None,除非你添加了 return 语句。

【讨论】:

    猜你喜欢
    • 2015-06-06
    • 2022-08-17
    • 1970-01-01
    • 2014-09-06
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    相关资源
    最近更新 更多