400-616-5551

您所在位置: 首页> 学习课程> python培训:新手必会的 9 个 Python 技巧

python培训:新手必会的 9 个 Python 技巧

发布百知教育 来源:学习课程 2020-04-07

有很多介绍Python中各种很酷的功能(如变量拆包、偏函数、枚举可迭代对象)的文章,但说到Python时,还有很多东西可以谈论,这里我将尝试展示我所知道和使用的一些特性,我还没有在其他地方看到有人提到过它们。我们开始吧。


1.清理字符串输入


对用户输入进行清理的问题几乎适用于您编写的所有程序。通常情况下,将字符转换为小写或大写就足够了,有时您可以使用Regex来完成这项工作,但对于复杂的情况来说,可能有更好的方法:


python培训



在本例中,您可以看到空白字符“\n”和“\t”已被单个空格替换,而“\r”已被完全删除。这是一个简单的例子,但是我们可以更进一步,使用unicodedata包和它的combining()函数来生成并进行映射,从而生成更大的重新映射表,我们可以使用它来删除字符串中的所有重音。


2.对迭代器进行切片


如果您尝试对一个迭代器进行切片,您会得到一个TypeError,这说明生成器对象是不可下标访问的,但有一个简单的解决方案可以解决这个问题:


python培训


使用itertools.islice我们可以创建一个islice对象,它是一个会生成所需项的迭代器。需要注意的是,这将消耗slice开始之前的所有生成器项,以及islice对象中的所有项。


3.跳过可迭代对象的开始部分


有时您必须处理那些以您不想要的可变数量的行(如注释)开始的文件。itertools再次为这个问题提供了简单的解决方案:


python培训


这代码段只生成初始注释部分之后的行。如果我们只想在可迭代对象的开头丢弃一些项目(本例中是一些行),并且不知道有多少个项目,那么这种方法是很有用的。


4.只带有关键字参数(kwargs)的函数


在使用以下这样的函数时,创建只接受关键字参数的函数来提供(强制)更多的清晰性是很有帮助的:

python培训



正如您所看到的,这可以通过在关键字参数之前放置单个*参数来轻松解决。如果我们把位置参数放在*参数之前,位置参数显然也会存在。


5.创建支持with语句的对象


例如,我们都知道如何使用with语句来打开文件或获取锁,但是我们可以实现自己的with语句吗? 当然,我们可以使用__enter__和__exit__方法来实现上下文管理协议:

python培训



这是在Python中实现上下文管理最常见的方法,但是还有更简单的实现方法:


python培训


上面的代码片段使用contextmanager管理器装饰器实现了内容管理协议。在进入with块时,tag函数(在yield之前)的第一部分会被执行,然后该with块被执行,最后,tag函数的其余部分会被执行。





上一篇:大数据培训:为什么大数据会如此受欢迎?

下一篇:深圳java程序员待遇怎么样,就业机会多吗

相关推荐

关闭

立即申请

www.baizhiedu.com