【发布时间】: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