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

Python“ with”语句的作用是什么?

戚衡
2023-03-14
问题内容

我试图理解python中的with语句。我到处都在谈论打开和关闭文件,并打算替换try-
finally块。有人也可以发布其他示例吗?我只是尝试烧瓶,里面有大量的语句。绝对要求某人对此进行澄清。


问题答案:

有一个非常好的解释这里。基本上,with语句在关联的对象上调用两个特殊的方法。__enter__和__exit__方法。enter方法返回与“
with”语句关联的变量。在语句执行后执行任何清理(例如关闭文件指针)后调用__exit__方法。



 类似资料:
  • 问题内容: 我今天是第一次遇到Python 语句。我已经使用Python几个月了,甚至不知道它的存在!考虑到它的地位有些晦涩,我认为值得一问: 语句旨在用于什么? 你用它来做什么? 我需要了解任何陷阱,还是与其使用相关的常见反模式?有什么比这更好用的情况吗? 为什么没有更广泛地使用它? 哪些标准库类与之兼容? 问题答案: 我相信这已经在我之前的其他用户那里得到了回答,因此我仅出于完整性的考虑而添加

  • 问题内容: 我试图了解这些之间是否存在差异,以及该差异可能是什么。 选项一: 选项二: 我知道,对于选项一,with块之后处于闭合状态。 问题答案: 我不知道为什么没有人提到这一点,因为这是工作方式的基础。与Python中的许多语言功能一样,在后台调用特殊方法,这些方法已经为内置Python对象定义,并且可以由用户定义的类覆盖。在特定情况下(和上下文管理器),方法是和。 请记住,在Python中,

  • 本文向大家介绍Python 的 with 语句详解,包括了Python 的 with 语句详解的使用技巧和注意事项,需要的朋友参考一下 一、简介 with是从Python 2.5 引入的一个新的语法,更准确的说,是一种上下文的管理协议,用于简化try…except…finally的处理流程。with通过__enter__方法初始化,然后在__exit__中做善后以及处理异常。对于一些需要预先设置,

  • 问题内容: 在python中创建多行的干净方法是什么?我想在一个内打开多个文件,但它足够靠右,足以在多行上显示。像这样: 不幸的是,这是一个。所以我尝试了这个: 也是语法错误。但是,这可行: 但是,如果我想发表评论怎么办?这不起作用: s的位置也没有任何明显的变化。 有没有一种干净的方法来创建允许多行注释的多行语句? 问题答案: 这在Python 3.9中已修复! https://github.c

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

  • 问题内容: 似乎与 使用open .. as代替f =有什么好处?只是语法糖吗?仅保存一行代码? 问题答案: 为了与语句版本等效,您编写的代码应如下所示: 虽然这看起来像语法糖,但可以确保您释放资源。通常,这个世界比这些人为的例子要复杂得多,如果您忘记了一个案例或无法处理一个极端案例,那么您将面临资源泄漏。 该语句使您免于那些泄漏,使编写干净的代码更加容易。有关完整的说明,请参阅PEP 343 ,

  • 问题内容: 什么是语句的简单基本解释是什么,如何在中使用它? 它和语句之间有什么区别? 问题答案: 该函数在控制台中写入一个字符串,即“打印”。该语句使您的函数退出并将值返回给其调用者。通常,功能的要点是接受输入并返回某些内容。当函数准备向其调用者返回值时使用该语句。 例如,这是一个同时使用和的函数: 现在,您可以运行调用的代码,如下所示: 如果将其作为脚本(例如.py文件)而不是在Python解

  • 问题内容: 这是将python“ with”语句与try-except块结合使用的正确方法吗? 如果是这样,请考虑使用旧的处理方式: 这里的“ with”语句的主要好处是我们可以摆脱三行代码吗? 对于这个用例,这 似乎并不吸引我(尽管我知道“ with”语句还有其他用途)。 编辑:以上两个代码块的功能是否相同? EDIT2:前几个答案大体上谈及使用“ with”的好处,但是这里似乎没有什么好处。我