乐趣区

关于python:yyds干货盘点提升Python编码能力的三个重要概念

  1. 引言
    Python 是由 Guido Van Rossum 于 1991 年创立的一种编程语言。在过来的几年里,越来越多的公司开始应用 Python 进行我的项目开发,次要是因为它语法简略,有很多方便使用的第三方库。本文次要对 Python 中一些概念进行形象总结,了解并应用它们能够极大地晋升大家的编码能力。
  2. 上下文管理器
    上下文管理器容许咱们以最佳形式调配和开释上下文的资源。对于某些资源的治理上,如果处理不当,可能会产生一些十分奇怪的景象,让人摸不着头脑。上下文管理器能够确保资源在应用结束后失常开释。
    一般来说,咱们次要通过应用 with 关键字来应用它。应用上下文管理器最常见的情景是操作文件。对文件执行操作后,须要将其正确敞开,上下文管理器能够通过跳过具体细节来轻松地为咱们实现相应的操作,举例如下:
with open('myfile.xtx', 'r') as f:
    content = f.read()

察看上述代码,咱们并没有显示调用 ​​f.close()​​ 办法。上下文管理器会主动为咱们解决文件敞开的操作。

  1. 类型提醒
    类型提醒能够帮忙咱们可能编写洁净、可解释性强的代码。利用它的形式是“注明”参数的类型和函数的返回值。例如,咱们要验证用户的文本输出始终是整数。为此,咱们编写了一个函数,该函数依据咱们的验证返回 True 或 False
def validate_integer(user_input):
    ...

既然咱们晓得了这个函数的作用,那么通过查看定义就很容易了解了。然而,如果没有下面的形容,只看上述函数的申明,想要弄懂它并不是那么容易。user_input 参数的类型是什么?它从何而来?它曾经是一个整数了吗?通过将代码重构为以下模式,咱们能够通过申明来答复这些问题:

def validate_integer(user_input: str) -> bool:
    ...

咱们察看上述函数的申明,就非常容易解释了,即便是第一次读到这段代码的人。

  1. 浅拷贝和深拷贝
    对于新入门的研发人员来说,这是一个常常弄错的概念。咱们来看个例子,假如咱们创立了一个列表 a,而后将此列表调配给一个新变量 b:
>>> a = [1, 2, 3]
>>> b = a

接着,咱们尝试在列表 b 中插入一个新值,而后打印两个列表:

>>> 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 技术大本营,获取更多技能与教程。

退出移动版