1. 分片的步长,默认为值1,表示为 xx[s:t:v] ----从索引s到索引t,每隔v,取对应索引位置的值
xx = 'hello,world' #从索引0-10,共11个字符 xx[2:] #从索引2直到最后所有的值 Out[2]: 'llo,world' xx[1:5:2] #从索引1到5,即xx[1:5]='ello',注意此时不含xx[5]的值,从xx[1]开始,每隔2取一个值,即取xx[1],xx[3] Out[3]: 'el' xx[::2] #对整个序列,此时序列包含末尾值,从xx[0]开始,每隔2取一个值,即取xx[0],xx[0+2],xx[2+2],xx[4+2],xx[6+2],xx[8+2] Out[4]: 'hlowrd' ##注意:python索引是从0开始
2. 步长为负数时,有时候很有用,例如用于序列反转
##注意:python在负数索引时,序列的最后一位索引为-1,因此从右往左,依次是-1,-2,-3, ... xx[::-1] #可以理解为先取整个序列,然后从索引0开始,依次取xx[0-1]也就是xx[-1],xx[-1-1]也就是xx[-2],xx[-3],...的值,也就是反转序列 Out[6]: 'dlrow,olleh' xx[7:2:-1] #从索引7开始,每次-1,反转子序列,即xx[7],xx[6],...,但是同样不包含xx[2]的值 Out[7]: 'ow,ol'
3. 字符串转数字,数字转字符串
int('30') #'30'本身是一个字符串 Out[9]: 30 float('30') Out[10]: 30.0 str(30) Out[11]: '30'
4. 字符与ASCII码转化
ord('a') #ord函数获取字符的ASCII码值 Out[12]: 97 chr(97) #chr函数获取ASCII对应的字符 Out[13]: 'a'
5. 复数表示
2+-4j #一般用下面一种方法比较容易看,都可以得到复数2-4j Out[14]: (2-4j) 2-4j Out[15]: (2-4j)
6. 按位与、按位或
1 & 2 #二进制:0001 & 0010 = 0000 Out[18]: 0 1 & 1 # 0001 & 0001 = 0001 Out[19]: 1 1 | 2 # 0001 | 0010 = 0011 Out[21]: 3
7. 除法(/)与floor除法(//)
5/3 #直接除法 Out[16]: 1.6666666666666667 5//3 #floor除法结果,取小于1.66666666666666667的最大整数,也就是1 Out[17]: 1 5//-3 #取小于-1.66666666666666667的最大整数,也就是-2 Out[22]: -2
## 注:'%'对应数字时是取余数操作
8. math.floor和math.ceil函数
import math math.floor(5/3) #同floor除法的解释 Out[25]: 1 math.floor(5/-3) Out[28]: -2 math.ceil(5/3) #取大于1.666666666667的最小整数 Out[26]: 2 math.ceil(5/-3) #取大于-1.6666666666667的最小整数 Out[27]: -1