是否有类似于VB. NET或C#中提供的实例的Python等效语句?
直接替换为if
/elif
/else
。
然而,在许多情况下,在Python中有更好的方法。请参见“Python中开关语句的替换?”。
在Python3.10中,他们引入了模式匹配。
来自Python留档的示例:
def http_error(status):
match status:
case 400:
return "Bad request"
case 404:
return "Not found"
case 418:
return "I'm a teapot"
case _:
return "Something's wrong with the internet"
虽然官方留档很乐意不提供开关,但我已经看到了使用字典的解决方案。
例如:
# define the function blocks
def zero():
print "You typed zero.\n"
def sqr():
print "n is a perfect square\n"
def even():
print "n is an even number\n"
def prime():
print "n is a prime number\n"
# map the inputs to the function blocks
options = {0 : zero,
1 : sqr,
4 : sqr,
9 : sqr,
2 : even,
3 : prime,
5 : prime,
7 : prime,
}
然后调用等效开关块:
options[num]()
如果你严重依赖于失败,那么它就会开始崩溃。
问题内容: 我想知道,是否有Python等效的case语句,例如VB.net或C#上可用的示例? 问题答案: 例如: 然后,调用等效的开关块: 如果你严重依赖失败,就会开始崩溃。
问题内容: Python 3等效于什么? 问题答案: 从文档: 该模块已合并到Python 3.0中。将源转换为3.0时,2to3工具将自动适应导入。 因此,您的命令是,或者取决于您的安装,它可以是:
问题内容: 请提出与Shell脚本等效的Python命令。 有没有办法打印/记录Python执行的每个源文件行? 问题答案: 您可以使用跟踪模块: 上面的命令行将在执行代码时显示每一行代码。
问题内容: LINQ的Java等效项是什么? 问题答案: 现在使用Java 8向我们介绍了Stream API,这在处理集合时是类似的事情,但与Linq不太一样。 如果它是您正在寻找的ORM,例如Entity Framework,那么您可以尝试Hibernate
问题内容: 有Swift的等效项吗?在中,我们通常使用: 如何在Swift中实现相同目标?我发现了一个功能: 但是,它很长,根本不方便。 问题答案: 将在斯威夫特的世界同样存在。 的,和参数均标有 该装置的同时调用该函数我们可以忽略这些参数的关键字。在这种情况下,将使用其默认值。 这得出一个结论,该方法调用可以简化为: Swift 5- 没什么变化,仍然可以这样工作。
问题内容: 在Objective-C中,我使用以下代码删除所有子视图: 但是如何迅速使用它呢?我看到苹果文档迅速使用了该方法 但是当我尝试它时,出现错误: 有什么方法可以快速删除子视图? 问题答案: 已针对Swift 2.0(Xcode 7)更新 用途: 或像这样: