Python编程技巧十则

发布时间:2020-11-09编辑:脚本学堂
本文介绍了python编程的十个小技巧,有关python编程的经验总结,有需要的朋友参考下。

开始学习python时,就开始自己总结一个python小技巧的集合。后来当我什么时候在Stack Overflow
或者在某个开源软件里看到一段很酷代码的时候,我就很惊讶:原来还能这么做!,当时我会努力的自己尝试一下这段代码,直到我懂了它的整体思路以后,我就把这段代码加到我的集合里。

这篇博客其实就是这个集合整理后一部分的公开亮相。如果你已经是个python大牛,那么基本上你应该知道这里面的大多数用法了,但我想你应该也能发现一些你不知道的新技巧。而如果你之前是一个c,c++,java的程序员,同时在学习python,或者干脆就是一个刚刚学习编程的新手,那么你应该会看到很多特别有用能让你感到惊奇的实用技巧,就像我当初一样。

每一个技巧和语言用法都会在一个个实例中展示给大家,也不需要有其他的说明。我已经尽力把每个例子弄的通俗易懂,但是因为读者对python的熟悉程度不同,仍然可能难免有一些晦涩的地方。所以如果这些例子本身无法让你读懂,至少这个例子的标题在你后面去google搜索的时候会帮到你。

整个集合大概是按照难易程度排序,简单常见的在前面,比较少见的在最后。

1.1 拆箱
 

复制代码 代码示例:

>>> a, b, c = 1, 2, 3
>>> a, b, c

(1, 2, 3)

>>> a, b, c = [1, 2, 3]
>>> a, b, c

(1, 2, 3)

>>> a, b, c = (2 * i + 1 for i in range(3))
>>> a, b, c

(1, 3, 5)

>>> a, (b, c), d = [1, (2, 3), 4]
>>> a
1
>>> b
2
>>> c
3
>>> d
4

1.2 拆箱变量交换
 

复制代码 代码示例:

>>> a, b = 1, 2

>>> a, b = b, a
>>> a, b

(2, 1)
 

1.3 扩展拆箱(只兼容python3)
 

复制代码 代码示例:

>>> a, *b, c = [1, 2, 3, 4, 5]
>>> a
1
>>> b

[2, 3, 4]
>>> c
5

1.4 负数索引
 

复制代码 代码示例:

>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> a[-1]
10

>>> a[-3]
8

1.5 切割列表
 

复制代码 代码示例:

>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> a[2:8]

[2, 3, 4, 5, 6, 7]

1.6 负数索引切割列表
 

复制代码 代码示例:

>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> a[-4:-2]

[7, 8]

1.7指定步长切割列表
 

复制代码 代码示例:

>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> a[::2]

[0, 2, 4, 6, 8, 10]

>>> a[::3]

[0, 3, 6, 9]

>>> a[2:8:2]

[2, 4, 6]

1.8 负数步长切割列表
 

复制代码 代码示例:

>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> a[::-1]

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

>>> a[::-2]

[10, 8, 6, 4, 2, 0]

1.9 列表切割赋值
 

复制代码 代码示例:

>>> a = [1, 2, 3, 4, 5]

>>> a[2:3] = [0, 0]
>>> a

[1, 2, 0, 0, 4, 5]

>>> a[1:1] = [8, 9]
>>> a

[1, 8, 9, 2, 0, 0, 4, 5]

>>> a[1:-1] = []
>>> a

[1, 5]

1.10 命名列表切割方式
 

复制代码 代码示例:

>>> a = [0, 1, 2, 3, 4, 5]

>>> LASTTHREE = slice(-3, None)
>>> LASTTHREE

slice(-3, None, None)
>>> a[LASTTHREE]

[3, 4, 5]