Python培训
400-996-5531
本着博采众家之长的想法,前几天买了几本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内功是很难做到的。
那么问题来了,Python内功应该怎么修炼呢?有没有啥宝典或者秘笈?答案是肯定的。继《Python程序设计基础》《Python程序设计(第2版)》《Python可以这样学》系列图书之后,董付国老师在清华大学出版社出版的《Python程序设计开发宝典》已于2017年8月1日在亚马逊、京东、当当、互动出版网和各地新华书店全面上架。
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved