几招冷门!但是很有用的Python招数!

开发 后端
今天菜鸟哥给大家分享几招,平时不常用有点冷门,但是非常有用的招数,大家赶紧拿起电脑操练起来。

[[408046]]

大家好,我是菜鸟哥!

 Python 目前是最火最流行的语言之一。它以其简单的语法和强大的功能,受到很多同学的喜欢。最爽的是它有强大的库和社区支持,让你开发应用非常方便快捷。

今天菜鸟哥给大家分享几招,平时不常用有点冷门,但是非常有用的招数,大家赶紧拿起电脑操练起来。

01.Named Tuples

命名元组是易于创建的轻量级对象类型。它是 Python Collections模块中可用的工厂函数。如果你想要一个类来管理数据,你可以考虑使用命名元组作为替代。

用nametuple创建一个元组类既简单又直接,比起用重量级的class要方便很多,对于很多数据结构简单的类可以直接使用,非常轻巧。

2. For...Else 子句

平时我们太习惯用if/else语句了,但是我们很少或者不怎么习惯把for和else进行配合,这个组合也是Python独有的,有它的独特的使用场景。

在 For...else 子句中,如果for循环的迭代完成,则执行else子句。如果 for 循环中的迭代由于 break 语句而中断,在这种情况下,else子句不会被执行。

for/else的用法有点反人性,它的意思就是如果你的for循环是正常结束的,那么就来我else这边跑一下;

如果你的for没有完整的运行结束,中间有退出的break,那么else部分则不执行。我们在实际的项目里面搜索文件一般用的比较多。

例如:

3.参数的拆包

我们在设计函数的时候,有的时候需要带有多个参数进行传递,如果这样写会很丑,比如我们下面设计的add函数,其实就是把传入的参数进行相加。如果用add(*list)就可以方便的搞定。

当传递给函数时,Python 本身不会解压列表、元组或字典,必须使用*并且**必须成功地将它们传递给函数。

4.爱上pprint

我们大部分打印的时候用print,但是实际上还有一个非常有用的打印叫pprint,其实就是比print多一个p。它的好处在于你需要打印很多复杂的字典或者嵌套的很长的序列的时候用pprint打印会竖起来打印,然后我们观察结果非常清晰,很方便,在实际的项目中经常用到。

看一下输出结果:

第一种普通的打印就非常丑,很长,如果是复杂的嵌套字典我们debug观察的时候就非常费劲。

[{'status': 200, 'result': [1, 2, 3, 4, 5]}, {'status': 'OK', 'result': ['Hello', 'World']}, {'status': 404, 'result': 'Data not found'}]

第二种用了ppring去打印就非常人性化,直接竖起来显示,就很直观。

[{'result': [1, 2, 3, 4, 5], 'status': 200},

 {'result': ['Hello', 'World'], 'status': 'OK'},

 {'result': 'Data not found', 'status': 404}]

5. enum 枚举

枚举菜鸟哥玩Python这么多年都没有怎么用过,感觉这个知识点一般都是用在C语言里面比较多,今天才知道原来Python也可以用enum。

我们设计一个简单的枚举类型Season,给它赋值春夏秋冬,然后就可以非常方便的对其进行使用。当然你也可以这样使用:

用一个类来继承父类Enum,然后利用Enum的内置属性进行操作,算是借力打力。

好,以上就是今天分享的几个冷门的Python技巧,但是虽然说冷门其实还蛮实用的,大家在平时实战的项目中可以使用起来,会让你功力大增。

好,我们下一篇文章见。如果你喜欢我们的文章,欢迎持续关注「菜鸟学Python」,大家在留言区吱一声,记得给个三连哦! 

 

责任编辑:庞桂玉 来源: 菜鸟学Python
相关推荐

2016-12-14 19:19:19

Linuxgcc命令行

2016-12-14 20:53:04

Linuxgcc命令行

2021-02-07 19:26:31

App工具手机

2023-03-06 10:42:34

CSS前端

2022-03-12 20:12:08

希尔排序数组插入排序

2013-07-12 09:45:16

PHP功能

2023-08-02 16:14:04

2023-09-07 16:28:46

JavaScrip

2013-08-23 09:28:37

GitGit 命令

2013-08-15 09:52:45

开发框架开发工具开发脚本

2022-08-23 09:01:02

HTMLWeb

2015-10-27 11:02:06

Web开发CSS 库

2017-10-25 16:22:58

OpenStack操作Glance

2011-05-16 08:37:56

JavaScript库

2019-10-18 09:25:45

Python苹果公司算法

2014-09-09 09:32:50

项目管理管理工具

2014-06-13 11:26:53

CSS库Web开发

2020-03-06 08:35:45

GitHub设计浏览器

2018-04-10 16:20:38

Python性能优化

2013-10-29 09:24:47

Linux命令Shell脚本
点赞
收藏

51CTO技术栈公众号