前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如果把Python代码写成这样子就太难看了

如果把Python代码写成这样子就太难看了

作者头像
Python小屋屋主
发布2018-04-16 15:38:26
6830
发布2018-04-16 15:38:26
举报
文章被收录于专栏:Python小屋Python小屋

本着博采众家之长的想法,前几天买了几本Python爬虫、大数据和机器学习方面的书回来看,故步自封、闭门造车是绝对不行的。粗略翻看了一下,学到了不少的东西,但是也发现了不少的问题,最大的问题就是感觉很多代码不够优雅,仅仅是匆匆忙忙完成功能而已,没有做任何的优化,也没有发挥Python语言的优势,明显是Python内功不够深厚的表现。

随手举个例子,就不说是从哪本书里看的了。下面这段代码用来检查给定字符串是否是合法IP地址:

def checkIP(ipAddress):

if len(ipAddress.split('.')) == 4:

flag = ipAddress.split('.')[0] in map(str, range(256))

flag = flag and ipAddress.split('.')[1] in map(str, range(256))

flag = flag and ipAddress.split('.')[2] in map(str, range(256))

flag = flag and ipAddress.split('.')[3] in map(str, range(1, 255))

return flag

else:

return False

吐血三升后,我做了如下改写:

def checkIP2(ipAddress):

try:

ipAddress = map(int, ipAddress.split('.'))

ipAddress = list(filter(lambda item:0<=item<=255, ipAddress))

assert len(ipAddress)==4 and (ipAddress[3] not in (0, 255))

return True

except:

return False

Python代码素来以简洁和优雅著称,一个好的Python代码应该是漂亮的、优雅的,应该让人阅读时有身心愉悦的感觉,而不应该有发堵的感觉。而要写出足够优雅、足够Pythonic的代码,没有深厚的Python内功是很难做到的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档