Skip to main content
 Web开发网 » 编程语言 » Python语言

分享12个python使用技巧,助你轻松掌握Python高效开发

前言:

欢迎大家收看分享12个python使用技巧,助你轻松掌握Python高效开发!部分代码用图片的方式呈现出来,方便各位观看与收藏,要是喜欢的话,记得一定不要忘记点赞关注嗷!

内容如下:

1. 隐藏特性 1,函数unpack

def foo(x, y): print x, y alist = [1, 2] adict = {'x': 1, 'y': 2} foo(*alist) # 1, 2foo(**adict) # 1, 22. 隐藏特性 2, 链式比较操作符

>>> x = 3>>> 1 < x < 5True>>> 4 > x >=3True3. 隐藏特性 3,函数的默认参数

分享12个python使用技巧,助你轻松掌握Python高效开发  Python开发技巧 第1张

更安全的做法是:

>>> def foo(x=None):... if x is None:... x = []... x.append(1)... print x ...>>> foo() [1]>>> foo() [1] >>>4. 隐藏特性 5,带关键字的格式化

>>> print "Hello %(name)s !" % {'name': 'James'} Hello James !>>> print "I am years %(age)i years old" % {'age': 18} I am years 18 years old更新些的格式化:

>>> print "Hello {name} !".format(name="James") Hello James !5. 隐藏特性 6,切片操作的步长参数

可以用步长 -1 来反转链表:>>> a = [1, 2, 3, 4, 5]>>> a[::2] [1, 3, 5]>>> a[::-1] [5, 4, 3, 2, 1]>>>6. 隐藏特性 7,嵌套列表推导式

[(i, j) for i in range(3) for j in range(i)] [(1, 0), (2, 0), (2, 1)]列表推导构造permutation:可以用 itertools.permutations 来实现。

In[47]: a = 'abcd'In[48]: [i+j+k for i in a for j in a.replace(i,'') for k in a.replace(i,'').replace(j,'')]Out[48]: ['abc', 'abd', 'acb', 'acd', 'adb', 'adc', 'bac', 'bad', 'bca', 'bcd', 'bda', 'bdc', 'cab', 'cad', 'cba', 'cbd', 'cda', 'cdb', 'dab', 'dac', 'dba', 'dbc', 'dca', 'dcb']7. 隐藏特性 8,print 重定向输出到文件

注意打开的模式: “w+” 而不能 “w” , 当然 “a” 是可以的

>>> print >> open("somefile", "w+"), "Hello World"8. 隐藏特性 9, Python3中的元组unpack

分享12个python使用技巧,助你轻松掌握Python高效开发  Python开发技巧 第2张

9. 隐藏特性 10,pow的第三个参数其实第三个参数是来求模的: pow(x, y, z) == (x ** y) % z,注意,内置的 pow 和 math.pow 并不是一个函数,后者只接受2个参数。

>>> pow(4, 2, 2)0>>> pow(4, 2, 3)110. 隐藏特性 11,enumerate还有第二个参数enumerate 很赞,可以给我们索引和序列值的对, 但是它还有第二个参数,这个参数用来: 指明索引的起始值。

>>> lst = ["a", "b", "c"]>>> list(enumerate(lst, 1)) [(1, 'a'), (2, 'b'), (3, 'c')]11. 优化循环每种编程语言都会强调需要优化循环。当使用Python的时候,你可以依靠大量的技巧使得循环运行得更快。然而,开发者经常漏掉的一个方法是:避免在一个循环中使用点操作。

例如,考虑下面的代码:

分享12个python使用技巧,助你轻松掌握Python高效开发  Python开发技巧 第3张

12. Zipping and unzipping lists and iterables>>> a = [1, 2, 3]>>> b = ['a', 'b', 'c']>>> z = zip(a, b)>>> z [(1, 'a'), (2, 'b'), (3, 'c')]>>> zip(*z) [(1, 2, 3), ('a', 'b', 'c')]以上就是本文内容啦!

最后,小编想说一句话:我是一名python开发工程师,整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习,面试宝典,面试宝典,面试宝典。想要这些资料的可以关注小编,并在后台私信小编:“07”即可领取

评论列表暂无评论
发表评论
微信