简介Python是GuidoVanRossum于1991年创立的编程语言,这几年越来越多的公司开始使用Python进行项目开发,主要是因为其简单的语法和许多方便的第三方库。本文主要是对Python中的一些概念进行抽象。理解和使用它们可以大大提高你的编码能力。上下文管理器上下文管理器允许我们以最佳方式为上下文分配和释放资源。对于一些资源的管理,如果处理不当,可能会出现一些非常奇怪的现象,让人百思不得其解。上下文管理器确保资源在使用后被正确释放。一般我们主要通过with关键字来使用。使用上下文管理器的最常见用例是操作文件。对文件执行操作后,需要正确关闭它,上下文管理器可以通过跳过细节轻松地为我们完成此操作,例如:withopen('myfile.xtx','r')asf:content=f.read()观察上面的代码,我们并没有显式调用f.close()方法。上下文管理器自动为我们处理文件关闭。类型提示类型提示帮助我们编写干净、可解释的代码。应用它的方法是“注释”参数的类型和函数的返回值。例如,我们要验证用户的文本输入始终是一个整数。为此,我们编写了一个根据我们的验证defvalidate_integer(user_input)返回True或False的函数:...现在我们知道了这个函数的作用,通过查看定义就很容易理解了。但是,如果没有上面的描述,光看上面函数的声明,也不是那么容易理解的。user_input参数的类型是什么?它从哪里来的?它已经是一个整数了吗?通过将代码重构为以下形式,我们可以通过声明来回答这些问题:defvalidate_integer(user_input:str)->bool:...我们观察上面函数的声明,它很容易解释,即使对于第一次阅读这段代码的人。浅拷贝和深拷贝是新开发者常被误认为的概念。我们来看一个例子,假设我们创建了一个列表a,然后将这个列表赋值给一个新的变量b:>>>a=[1,2,3]>>>b=a在中插入一个新值,然后打印两个列表:>>>b.append(4)>>>print(b)[1,2,3,4]>>>print(a)[1,2,3,4]很多人会觉得奇怪新值已插入到两个列表中!发生这种情况主要是因为在Python中分配列表时,除非另有说明,否则不会复制列表。上面的列表b只是对列表a的引用,是一个浅拷贝。上面例子的说明解释如下:上面的说明表示两个变量中的操作将反映在同一个列表中。如果我们确实相应地生成了列表a的副本,此时就需要使用深拷贝,即使用.copy()方法进行相关操作:>>>a=[1,2,3]>>>b=a.copy()>>>b.append(4)>>>print(b)[1,2,3,4]>>>print(a)[1,2,3]以上就是本次分享的全部内容,现在欢迎想要学习编程的朋友们关注Python技术大本营,获取更多技能和教程。
