在许多语言(和地方)中,都有一种不错的做法,即通过创建一个像这样的块来创建本地范围。
void foo()
{
... Do some stuff ...
if(TRUE)
{
char a;
int b;
... Do some more stuff ...
}
... Do even more stuff ...
}
我该如何在python中实现此功能而又不会出现意外的缩进错误,也不会使用某种_if_
技巧 _:_
在Python中,作用域分为三种类型:全局,局部和类。您可以创建专门的“作用域”词典以传递给exec /
eval()。另外,您可以使用嵌套作用域(在另一个作用域中定义一个函数)。我发现这些在我的所有代码中就足够了。
正如道格拉斯·里德(Douglas
Leeder)所说,在其他语言中使用它的主要原因是变量作用域,而这在Python中并没有真正发生。另外,Python是我使用过的最具可读性的语言。进行诸如if-
true的技巧(这就是您要避免的内容)之类的操作会影响可读性。在那种情况下,我认为最好的选择是将您的代码重构为多个函数,或者使用单个作用域。我认为Python中可用的作用域足以覆盖所有可能发生的情况,因此,本地作用域并不是真正必要的。
我希望这有帮助。
我对tries和DAWGs(直接无环字图)很感兴趣,我已经读了很多关于它们的东西,但我不明白输出trie或DAWG文件应该是什么样子。 null 我也会很感激一个DAWG和Trie的输出。 我不想看到带有相互链接的气泡的图形表示,我想知道一旦一组单词被转换为try或dawgs后的输出对象。
有一个创建工作流的指南,但老实说没有那么大的帮助。 https://www.jetbrains.com/help/youtrack/standalone/workflow-guide.html 它创建问题实体,但不创建sprint。我找不到,我如何添加属性(日期-范围,名称,板)到新的sprint。
问题内容: 我正在打印星空金字塔,我无法打印新行。 问题答案: 使用换行符。 您还可以拥有多个: 但是,如果将其呈现为HTML,则需要将HTML标签用于换行符: 源代码中的字符串如下所示: 该字符串在HTML源代码中将如下所示: HTML页面将以换行符的形式呈现给查看该页面的用户,只是将文本拖放到源代码的下一行(如果在HTML页面上)。
问题内容: 我经常在Objective-C中使用局部作用域来使命名更清晰。 我试图像这样在Swift中重写此代码: 这使我得到以下错误: 那么如何在Swift中创建本地作用域呢? 问题答案: 更新: 在Swift 2.0中,您只需使用关键字: 这对于Swift 2.0之前的版本是正确的: 您可以定义与此类似的内容: 然后使用如下代码: (受Scala的 Predef 对象启发。)
问题内容: 如何使用Python在Linux中创建用户?我的意思是,我了解子流程模块,并考虑过调用“ adduser”并立即传递所有参数,但是“ adduser”命令会询问一些问题,例如密码,全名,电话和其他东西。我将如何使用子流程回答这个问题?我在以下问题中看到了名为pexpect的模块:我可以将Python用作Bash的替代品吗?。还有其他标准模块吗? 问题答案: 使用,它不会提出任何问题,但
我想在我的游戏日期控制器中使用find_or_create方法。当参数在game_date_params时,我不知道如何在创建动作中使用该方法。任何建议如何从game_date_params中提取日期? 这是POST操作的输出: 2016-04-01 10:21:44 0200开始POST“/game_dates”127.0.0.1由GameDatesController#创建为HTML参数:{“