介绍
大家好,欢迎来到Crossin的编程教室!对于许多刚开始学习代码的人来说,Python已经成为最佳的选择。它的语法非常简单,并且支持灵活的动态类型。另外,它的应用也十分广泛。在学习Python时,我们会逐渐熟悉它的数据结构、控制流、类、函数等基本知识,还免不了会遇到的是Python中的各种首字母缩写词。本文整理了十个这样的缩写。其中一些是通用的编程原理,而另一些则更特定于Python编码。来看看你是否了解它们呢?
1.OOP(面向对象编程)
我们应该知道的第一个缩写是OOP—面向对象编程,Python就是基于此进行设计的。我们知道编程本身是关于编码的,但是程序本身应该是关于数据的。我们的程序需要获取输入数据,过程中处理数据,最后输出数据。但请注意,此处讨论的数据是最一般意义上的数据,可以包括表格数据,字符串,用户操作(例如,单击按钮),图像以及具有信息的任何形式的数据。我们代码的工作是处理这些各种形式的数据,并以所需的方式呈现它们。
为了完成我们的工作,我们需要能够处理这些数据的代码,而现代编程语言(包括Python)中的一种常见设计模式就是采用OOP范式。这个想法非常直观-我们用特定的对象包装数据。更具体地的说,对象可以保存数据(例如,属性)并且可以操作数据(例如,方法)。例如,如果我们开发一个赛车游戏。我们可以构建汽车对象,每个对象都可以具有特定的属性,例如颜色,最大速度和重量。此外,这些对象还可以进行制动和加速等操作。这些数据的逻辑组织以对象(汽车)为中心。
让我们看一下Python中的一个示例。使用内置的str类包装字符串数据,我们可以使用字符串对象传递字符串数据,还可以改变字符串的表示方式。下面是一个简单的示例。
#Createavariableofstrtype...hello="HelloPython!"......#Sendthedatatoafunctioncall...print(hello)......#Manipulatethestringdatawithstringmethods...hello_lower=hello.lower()...hello_upper=hello.upper()...print(lowercased:,hello_lower)...print(uppercased:,hello_upper)...HelloPython!lowercased:hellopython!uppercased:HELLOPYTHON!2.DRY(Don’tRepeatYourself)
DRY(Don’tRepeatYourself)的原理每个程序员都应该实践。这个想法很简单-如果代码中有重复,则表明我们需要进行一些重构以最大程度地减少重复代码,或者尽可能消除重复。以下伪代码通过代码的重构展示了DRY原理。
defdo_something(item):pass#Repetativeworkdo_something(item0)do_something(item1)do_something(item2)#ApplyDRYforitemin(item0,item1,item3):do_something(item)
代码重构的另一种可能情况是,我们发现自己要处理一堆结构相同的数据。这时我们应该使用自己的类来处理这些数据,而不是使用一系列的字典,列表或元组来存储每个人的数据。这使代码不易出错,而且对后期维护也有好处。
3.PIP(PackageInstallerforPython)
可能是Python受欢迎的最重要因素是其开放源代码性质,这带来了大量免费的Python软件包集合。根据Wikipedia的介绍,在Python软件包索引(PyPI)中索引了,多个软件包。我们可以使用pip工具从PyPI安装任何软件包。该安装过程非常轻松,只需在命令或终端中使用一行代码即可。以下代码段总结了一些常用用法。
#installlatestversionpipinstallpackage_name#installaparticularversionpipinstallpackage_name==version_number#touninstallapackagepipuninstallpackage_name#toshowinstalledpackagespiplist#toshowtheinformationaboutaparticularpackagepipshowpackage_name#toinstallalistofdependencies,suchastocloneavirtualenvironmentpipinstall-rrequirements.txt
4.LEGB(Local,Enclosing,GlobalandBuilt-in)
LEGB规则引用Python中的变量查找顺序,如下图所示。具体来说,当解释程序尝试解析变量时,Python具有四层作用域。首先从局部作用域开始,该作用域可以是函数或类。如果解释器找到了变量的相应绑定值,它将停止查找并将变量与该特定值一起使用。
可变分辨率规则
否则,它将在更高层次上(封闭范围)进行查找。封闭范围仅存在于函数的嵌套结构中。具体来说,当在另一个函数中声明一个函数时,我们将内部函数称为内部函数,将外部函数称为外部函数。当解释器尝试解析内部函数范围内使用的变量时,如果无法在局部范围内解析,它将进入封闭范围,即外部函数的局部范围。
如果仍然无法解析封闭范围内的变量,它将进入全局范围。全局作用域通常是模块级别,通常是独立的Python文件。值得注意的是,当程序包导入到当前文件中时,来自导入的函数和类也将成为全局范围的一部分。内置作用域是在启动解释器时加载的函数,类和其他模块,以使这些最基本的对象始终可用(例如,theprint和其他内置函数)。
5.MRO(MethodResolutionOrder)
TheMethodResolutionOrder表示Python或其他编程语言如何解析方法或属性。与上面讨论的LEGB规则