当前位置: 首页 > 面试题库 >

“ with”语句中变量的范围?

柳正志
2023-03-14
问题内容

我只firstline使用python从python中读取:

with open(file_path, 'r') as f:
    my_count = f.readline()
print(my_count)

我对变量my_count的范围感到困惑。虽然打印效果很好,但是最好先my_count = 0用语句在外部做一些事情(例如,在C中用于做int
my_count = 0


问题答案:

一个with语句也 不能创建一个范围 (比如ifforwhile不要么创建一个范围)。

结果,Python将分析代码并看到您在with语句中进行了赋值,从而使变量成为局部变量(在实际范围内)。

在Python中,变量不需要在 所有代码路径都进行 初始化
:作为程序员,您有责任确保在使用变量之前已为其分配了变量。这可能会导致代码更短:例如,如果您确定一个列表至少包含一个元素,则可以循环分配。在Java中,不认为在循环中进行分配是安全的(因为可能从未执行循环的主体)。
__for``for

从声明之后我们可以安全地假定变量存在的意义上来说,在范围 之前 进行初始化with可以更安全with。另一方面,如果变量 应该
with语句中分配,而不是在with语句实际导致其他检查之前不对其进行初始化:如果以某种方式在语句中跳过了分配,Python将出错with

with语句仅用于上下文管理。它会(通过语法)强制您在中打开的上下文with在缩进结束时关闭。



 类似资料:
  • 我想显示基于某个选择条件为true的表1中的所有结果,并根据表2的某个满足条件将表1中的每个结果设置一个变量为0或1。 如何将所有这些都转换为一个SQL调用? 我想看到的例子是: 表1: 表2:所以在这里是存在的,,而不仅仅是存在的 要从单个SELECT语句获得的SQL结果:

  • 问题内容: 我在VBA中有以下代码: newvalue和tempvalue都是全局变量,并且已经被设置为值。语法上,这有意义吗?还是我缺少引号? 问题答案: 试试这个: 如果是 数字 : If是 字符串 (如果/不包含单引号): If是 字符串 (如果/包含单引号,如): 如果是 日期 : 感谢@HansUp在注释中指出, MID是函数的名称,因此在SQL语句中将该字段名称放在方括号或别名中会更安

  • 好吧,我正在使用字典,例如: 然后我想做的基本上是说,如果“用户”(一个参数)的名称前面有“@”,那么将变量前缀分配为“@”,如果他们的名称前面有“~”,则将变量前缀分配为“~”,如果他们有“ 然后我想说,如果用户的名字前面有“%”,则将前缀变量设置为“%”,否则将其设置为“”(因为这些值只有两个键)。为此,我需要一个if语句,并将其与self进行比较。声音的价值。 分配前缀变量的当前代码 目前,

  • 本文向大家介绍理解Python中的With语句,包括了理解Python中的With语句的使用技巧和注意事项,需要的朋友参考一下 With语句是什么? 有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。 如果不用with语句,代码如下: 这里有两个问

  • 问题内容: 我正在尝试创建一个查询,该查询将针对中的每个服务器中特定数据库中的特定表执行一次。 对于每个我想知道的内容。 所以我需要的是这样的: 然而,在似乎并不工作。 有什么建议吗?感谢您与我一起思考。 问题答案: 您必须使用动态sql: 这是有关exec的更多信息。

  • 行动时间 - SQL语句作为变量 unlang的一个非常强大的功能是它允许您通过sql模块执行SQL查询。查询实际上是一个变量,此查询的返回值是变量的值。我们现在将修改上一个练习以从数据库中获取时间并将其添加到Reply-Message值。 要执行SQL查询,您需要包含并配置FreeRADIUS以使用sql模块。 sql模块还需要在至少一个部分中使用,例如,授权或记帐部分。 1.在FreeRADI