WTF?能把?能把Python代码写得这么优雅的都是神仙程序员吧!代码写得这么优雅的都是神仙程序员吧!
“人生苦短,我用Python”,说的就是Python开发“快”的优势,相同的代码量能够完成其他语言数倍代码量的任务。一般情况
下,像C++、C、JAVA 、GO这类编译型语言要比PHP、Python、JavaScript这类解释性语言要快一些,但是各有各的优势。
Python以其开发方便、语言生态健全,乘着人工智能之风很快成为了一门明星语言。使用Python提升开发效率的同时,代码
的运行效率却没那么高。下面将介绍几种简单的方法,尝试提升代码的可读性、执行效率。
一、优化编程惯例一、优化编程惯例
1)用生成式生成列表:)用生成式生成列表:
假设我们正在编写爬虫,现在需要将解析到的信息生成列表。
不优雅的方法:
#假设有列表一
list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] #先定义一个空列表
list2 = [] for i in list1:
list2.append(i)
print(list2)
得到:[‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’]
用生成式更加优雅的完成:
#假设有列表一
list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] list2 = [i for i in list1] print(list2)
输出:[‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’]
2)使用使用enumerate进行迭代:进行迭代:
enumerate方法用于将一个可遍历的数据对象组合为一个索引序列,同时输出数据和数据下标,一般用于for循环之中,演示如
下:
不优雅的方法:
#假设有列表一
list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] list2 = [i for i in list1] print(list2)
输出:
0 张一鸣
1 马云
2 马化腾
优雅的方法,使用enumerate函数:
bat = ['张一鸣', '马云', '马化腾'] for n, i in enumerate(bat):
print(n,i) #输出结果同上
3)用用join方法生成字符串:方法生成字符串:
join()函数能够将序列中的元素按照给定的字符链接生成一个新的字符串。
不好的代码:
str1 = ['我', '在', '知', '了', '课', '堂', '学' , 'Python'] str2 = ''
for i in str1:
str2 = str2 + i + '-'
print(str2)
输出:我-在-知-了-课-堂-学-Python-
使用join方法:
str1 = ['我', '在', '知', '了', '课', '堂', '学' , 'Python'] str2 = '-'.join(str1)
print(str2)
输出:我-在-知-了-课-堂-学-Python
4)不适用临时变量交换两个值:不适用临时变量交换两个值:
a, b = b, a
评论0
最新资源