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

大家好,我是菜鸟哥!

为扎赉诺尔等地区用户提供了全套网页设计制作服务,及扎赉诺尔网站建设行业解决方案。主营业务为成都网站建设、做网站、扎赉诺尔网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

 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招数!
文章URL:http://www.gawzjz.com/qtweb2/news47/9847.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联