小白可能会混淆的4个Python观点虚拟情况

 行业新闻     |      2022-08-05 18:26

welcome|购彩中心

本文摘要:作为一个有货的法式员,话不多说,先说四个观点1.虚拟情况,2.字符串插值,3.惰性评估,4.明白学习一种新的编程语言并不容易,尤其是如果你以前没有编程履历的话。可是,可以说学习Python比学习其他几种语言更直接,因为它认可了初学者的REPL(阅读,评估,打印,循环)学习方法。简而言之,要学习Python,我们只能使用下令控制台。编写了Python代码(例如print(“Hello, World!”)),控制台将评估该代码并在适用时打印输出。

welcome购彩中心

作为一个有货的法式员,话不多说,先说四个观点1.虚拟情况,2.字符串插值,3.惰性评估,4.明白学习一种新的编程语言并不容易,尤其是如果你以前没有编程履历的话。可是,可以说学习Python比学习其他几种语言更直接,因为它认可了初学者的REPL(阅读,评估,打印,循环)学习方法。简而言之,要学习Python,我们只能使用下令控制台。编写了Python代码(例如print(“Hello, World!”)),控制台将评估该代码并在适用时打印输出。

这种REPL方法可提供有关Python中种种主题的实时反馈,从而使Python学习变得简朴明晰。只管有这种利便的学习方法,但有些观点可能会使Python初学者感应困惑。在本文中,我想着重澄清四个观点。

1.虚拟情况初学者在开始从事某些实际项目之前不会发现虚拟情况的观点相关。请接纳以下情形:在一个项目中,您使用一个特定的法式包(A),该法式包(A)依赖于法式包X的1.0版。可是,在另一个项目中,您使用的法式包B则取决于法式包X的版本1.5。这是您遇到的难题:如果安装X v1.0,则第二个项目将无法运行。

可是,如果安装X v1.5,则第一个项目将无法运行。这些项目是否必须使用两台差别的盘算机?固然,这种昂贵的方法会起作用,可是如果您有多个项目怎么办?为差别的项目配备单独的盘算机绝对是不切实际的。

为相识决差别项目之间可能存在的冲突,以前的Python法式员已经为我们开发了一个智能解决方案-虚拟情况。总体思路是,我们为每个项目建立隔离的事情情况,以使一个项目中的软件包版本不会与其他项目中相同软件包的其他不兼容版本发生冲突。有用于治理虚拟情况,如几种方法VENV和畅达。

为了向您提供观点证明,以下代码向您展示了使用venv模块对虚拟情况的常见操作,该模块是尺度Python库的一部门。当您导航到所需的目录,建立一个虚拟的情况中,运行在你的下令行工具的以下内容(如终端适用于Mac): python3 -m venv medium-env。请注意,medium-env指定要建立的情况。

它还假定您已经在盘算机上安装了Python 3。一旦虚拟情况的建立,你可以通过在你的Mac上运行下面的代码(注意,Windows激活使用情况差别的下令): source medium-env/bin/activate。

从现在开始,您将看到终端提示的前缀为(medium-env),这讲明您正在虚拟情况中事情。您可以做任何需要做的事情,例如安装新软件包。

完成事情后,只需运行即可脱离虚拟情况deactivate。如果您不熟悉虚拟情况,则可以通过安装Anaconda来举行设置,这会更容易,这将照顾您的Python解释器,保证理和虚拟情况。2.字符串插值(F字符串)需要以适用的花样准备字符串,以便我们可以显示它们是常见的任务。

根据老例,有两种方法可以花样化字符串-一种使用format函数,另一种使用C气势派头的基于%的花样化。一些简朴的示例如下所示:通例字符串花样如上面的代码片段所示,这两种方法将字符串文本与所需花样离开。例如,如果要按如下所示设置三个数字的花样,则将使用format函数执行以下操作。

您可能已经注意到,我们必须将每个变量映射到每种花样,如果我们遗漏了数字或变量,这可能会造成混淆。数字花样相比之下,Python 3.6中引入的字符串插值或文字字符串插值使字符串花样化越发容易,更重要的是更具可读性。要根据代码片段中所示的花样花样化数字,我们可以使用字符串插值技术执行相同的操作。

F弦我们用字母f表现正在建立f字符串。与该format函数类似,f字符串使用花括号指示要插入的变量。不像 format 函数,每个插值均具有变量和所需的花样,从而消除了它们之间的物理距离并使字符串更具可读性。

3.懒惰评估懒惰评估是盘算机编程术语,指的是直到被请求才获取/准备的数据(例如变量)。例如,在Swift中,我们可以使用lazy关键字来表现一个变量,以便在挪用它之前差池其举行盘算。

只管Python没有lazy作为关键字,可是Python中仍然可以使用相同的惰性求值。举一个例子,我们可以为自界说类实例提供惰性属性。

以下代码显示了我们如何使用property装饰器来实现此功效:使用属性的惰性属性在初始化方法(即__init__)中,我们将掩护的属性(_profile_data)设置为None,它只是用作占位符。在许多情况下,我们实际上不需要设置文件数据。

可是,如果确实需要获取设置文件数据,则可以将其包装在property装饰器周围。它将检查_profile_datais是否None存在,而且仅当我们没有该_profile_data属性的数据时才会运行昂贵的Web请求。再举一个例子,Python中的生成器也使用了惰性评估技术。如您所知,生成器是一种特殊的迭代器,可以在需要时渲染元素。

与通过列表和字典建立的一些常见迭代器差别,生成器没有将所有元素都加载到内存中,因此它们的内存效率很高。这是因为它们保留了迭代的状态,并“懒惰”地渲染下一个适用项。

以下代码显示了生成器的相关用法:发电机的影象效率我们使用所谓的生成器表达式来建立一个渲染正方形的简朴生成器。与列表副底细比,生成器仅占列表占用巨细的一小部门(96字节对9,000字节)。可是,两者都到达相同的效果-两者之和相等4.明白力Python的一项很酷的功效是明白技术。

纵然对于初学者,列表明白也可能是他们所听说的高级技术之一。使用列表明白的目的是以很是简练的方式使用迭代器建立列表工具。

实际上,我使用了上一节中的列表明白来建立这个正方形列表:清单明白列表明白具有以下语法:[expression for x in iterable]。在上面的示例中,我们使用range工具。如果我们不使用列表推导,则可以使用for循环来迭代range工具并将正方形附加到列表工具。最后,两个列表具有相同的项目。

可是,列表明白显然是建立列表工具的一种更简练的方法,而且如果我们以迭代器开始,则它应该是建立列表工具的首选方法。除了列表明白之外,Python还具有明白技术来建立字典和荟萃。以下代码段显示了用法:命题和荟萃明白字典明白具有以下语法:{key_expr: valu_expr for x in iterable}。荟萃明白具有以下语法:{expr for x in iterable}。

结论在本文中,我们回首了初学者可能会困惑的四个观点。以下是这些观点的概述:虚拟情况是我们可以为项目建立隔离的事情区的一种方式,这样它们可以具有差别的Python版本和差别的依赖要求。字符串插值在Python中被称为f字符串,这是通过将相关变量/表达式放在适用的花样设置旁边来建立花样字符串的一种更易读的方法。

惰性评估是一种编程技术,它使我们的法式能够尽可能地延迟昂贵的操作(例如,Web请求,盘算量大的盘算)。明白是一种使我们能够以越发简练的方式建立列表,字典和荟萃的技术,从而无需使用for循环。我是有货的法式员西电2013级网络工程结业,供职海内某猪厂会经常分享一些更适合初学者的Python知识关注我,学习Python不迷路!。


本文关键词:小白,可能,会,混淆,的,4个,Python,观点,虚拟,welcome购彩中心

本文来源:welcome购彩中心-www.zzlrz.com