文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

22个Python实用技巧分别是什么

2023-06-05 00:54

关注

本篇文章给大家分享的是有关22个Python实用技巧分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能。那么今天或许我能够让你学到一些新技巧。

Python的发展:

“人生苦短,我用 Python”,Python 的经典 slogan 讲究争分夺秒,自 20 世纪 90 年代初首次录入 TIOBE,Python 花了 10 年才首次进入指数前 10 名,随着它的不断应用与发展,Python 逐渐在网络安全与数据科学等领域大放异彩。

Python 最初是 Perl 的继承者,用于编写构建脚本,并且作为一种胶水语言,它被广泛用于连接各种软件组件。但随着不断应用与发展,Python 逐渐进入了其它领域,比如网络安全与数据科学。如今,在大型嵌入式系统中运行 Python 也变得非常普遍,并且随着人工智能与数据分析等领域的大热,Python 也得到了前所未有的高度关注,相信它也会保持向前。

目前在全球范围内它已经是大学的首选编程语言,同时也征服了工业界。越来越多人使用 Python,反映在 TIOBE 指数上就是它稳扎稳打地一步步向上爬,从前 10 到前 5,如今终于进入了前 3。

Python的必备技巧:

简洁的表达式

22个Python实用技巧分别是什么

点评:Python因为简洁高效而出名,就是因为语法非常简单,而且内置了很多强大的数据结构:

比如我们可以大量用推导列表来生成很多简洁的代码

比如我们可以用if else组合,本来需要2-3行代码写的,一行搞定!

排序

忽略想起了一句台词,“有人的地方就有江湖”,那么有数组这样的数据结构一定涉及到排序,取最大值,取最小值。

22个Python实用技巧分别是什么

点评:这个heapq库非常好用,尤其是我们在取一些列表的头部数据,比如最大几个,最小几个经常用到,很实用的一招!啥也不说了,赶紧背下来!

查询

排序和查询都是好基友,长的数据结构里面(字典,列表)里面我们一定会有查询,过滤的需求。有的时候,我们需要从一个很长的列表里面,找到某一个或者某一类的元素,怎么办,很简单,用高级函数filter :

1).用lambda配合filter过滤

22个Python实用技巧分别是什么

点评:lambda是一个非常简洁的函数表达方式,短小精悍,加上配合filter一起使用,非常漂亮。比如我们通过 字符串里的startswith内置函数,非常方便的过滤出列表里面我们需要的数据!(Python3稍微改一下再filter之外再加一个list,不然生成的是迭代器地址)

22个Python实用技巧分别是什么

点评:正则是一个非常不错的过滤方法,有的时候好的正则顶的上几十行代码,精通正则对玩数据分析,数据清洗是必需的技能!

碾平list

有的时候我们会遇到复杂的数据结构,比如列表里面套列表,层层嵌套,非常麻烦。可以碾平的方法:

传统方法

22个Python实用技巧分别是什么

点评:这里面就是用递归来解决的,思路非常简单清晰,但是递归一定要有出口,设计的时候要注意。

另外还有两种高手的写法,理解起来比较复杂,这里就不过多说明,感兴趣的可以找一找。

带条件的推导列表

推导列表应该是我最喜欢的一种Pythonic方式,它的演变有很多手法,这几种都是非常常见的,多读几遍,背下来!

22个Python实用技巧分别是什么

漂亮的添加字典的方法

设计数据结构的时候,字典是必须的!很多时候我们会用带下面的字典更新的方法,当然更好的是collections模块里面的defaultdict!

22个Python实用技巧分别是什么

点评:dict.update还是比较平易近人的,这个dict(dict,**options)用法我第一次看到的时候也是楞了一些,什么鬼,现在见多了,也就习惯了!

Python的精选技巧:

all 或 any

Python 如此受欢迎,原因之一是因为它具有可读性和可表达性。

人们经常开玩笑说 Python 是“可执行的伪代码”,但是当你可以这样编写代码时,你就很难反驳了。

bashplotlib

你想在控制台(console)上绘制图形吗?

1$ pip install bashplotlib

这样你在控制台中就可以绘制图形了。

集合

Python 内置默认的数据类型,但有时它们的使用效果会不尽如人意。

幸运的是,Python 的标准库提供了 collections 模块,这个方便的附加库提供了更多的数据类型。

from collections import OrderedDict, Counter

x = OrderedDict(a=1, b=2, c=3)

y = Counter("Hello World!")

dir

你是否曾经有过深入 Python 对象内部并且观察它具备哪些属性的想法呢?

输入下述命令行:

22个Python实用技巧分别是什么

以交互式运行 Python 时,这是一个非常实用的特征,并且可以动态地搜索正在使用的对象和模块。

emoji

Python 包含 emoji 模块,在这里!

$ pip install emoji

别以为我不知道你会偷偷下载...

原地交换两个数字

Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例:

x,y= 10,20print(x,y)x,y= y,xprint(x,y)#1 (10, 20)#2 (20, 10)

赋值的右侧形成了一个新的元组,左侧立即解析(unpack)那个(未被引用的)元组到变量和 。

一旦赋值完成,新的元组变成了未被引用状态并且被标记为可被垃圾回收,最终也完成了变量的交换。

from _future_import

Python 流行的一个结果是新版本总是在开发中。新版本意味着新功能——除非版本已经过时

不过别担心。_future_module 允许用户通过函数导入新版本 Python 的功能。这就像是时间旅行,或是奇异魔法之类......

from __future__ import print_function

print("Hello World!")

为什么不导入花括号呢?

geopy

地理(Geography)对于程序员来说可能是一个具有挑战性的领域。但是 geopy 模块让它变得异常简单。

$ pip install geopy

它通过抽取一系列不同地理编码服务的 API 来工作,使用户获取一个地方的完整街道地址、纬度、经度,甚至海拔高度。

另外一个有用的功能是距离:它可以用你喜欢的度量单位计算出两个位置之间的距离。

链状比较操作符

比较操作符的聚合是另一个有时很方便的技巧:

n= 10result= 1< n< 20print(result)# Trueresult= 1> n<= 9print(result)# False

howdoi

受困于编程问题并且不记得之前看到过的解决方法?用户需要使用 StackOverflow ,但是不想离开终端?

那么需要使用这个非常使用的命令行工具 howdoi

$ pip install howdoi

无论你有什么问题,它都会帮你解答。

22个Python实用技巧分别是什么

但是请注意,它会从 StackOverflow 的最高票答案中抓取代码,这意味着它的回答并不总是最有用的。

$ howdoi exit vim

inspect

Python 的 inspects 模块对于理解背后的原理是非常有帮助的。用户甚至可以在 inspect 模块上调用其方法!

下述代码示例使用

inspect.getsource()

来打印它的源代码。同时它也使用

inspect.getmodule()

来打印定义它的模块。

最后一行代码打印出自身的行号。

22个Python实用技巧分别是什么

当然,除去这些简单的用途之外,inspect 模块对于理解代码的作用也非常有用。你也可以使用它来写自编文档代码。

交互环境下的 “_” 操作符

这是一个我们大多数人不知道的有用特性,在 Python 控制台,不论何时我们测试一个表达式或者调用一个方法,结果都会分配给一个临时变量: _(一个下划线)。

>>> 2+ 13>>> _3>>> print_3

List Comprehensions

关于 Python 编程,我最喜欢的事情之一是它的列表生成式(List Comprehensions),

这些表达式可以很容易编写出简洁的代码,读起来几乎就像自然语言一样。

22个Python实用技巧分别是什么

Jedi

Jedi 库是一个自动完成和代码分析的库。它能够使编写代码更为快速、更为高效。

除非你正在开发自己的 IDE,否则你可能对使用 Jedi 作为编辑器插件最感兴趣。幸运的是,现在加载这个插件已经可以用了!不过,你可能已经用上Jedi 了。IPython 项目的代码自动完成功能就是使用Jedi来实现的。

map

Python 通过许多内置功能支持函数式编程。map() 函数是最有用的函数之一——特别是当它与 lambda 函数结合使用时。

22个Python实用技巧分别是什么

在上面的例子中,map() 将一个简单的 lambda 函数应用于 x 中的每个元素。它返回一个 map 对象,该对象可以被转换成可迭代的对象,如列表或元组。

**kwargs

在学习任何语言的过程中,都会遇到许多里程碑。使用Python,理解神秘的 **kwargs 语法可能就是其中之一。

dictionary 对象前面的双星号允许您将该 dictionary 的内容作为命名参数传递给函数。

dictionary 的键是参数名,值是传递给函数的值。你甚至不需要叫它 kwargs!

22个Python实用技巧分别是什么

当你想编写可以处理未预先定义的命名参数的函数时,这就非常有用了。

以上就是22个Python实用技巧分别是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯