python个人手册


[TOC]

python个人手册

数据处理类

byte编码

decode:默认utf-8,将bytes直接转换成string

decode:同上,将string转换成bytes

所以,以上情况下只是简单的储存格式改变,但是如果用了别的编码格式就不一样了。

int函数

本来有个int函数的,可以转换成十进制整型,可以加上一个表示原来是几进制的数字,当然没有也可以。

这个是另外一种,但也不需要引入库。

bytes是要转换的十六进制;

byteorder:选’big’和’little’,以上例为例,其中big代表正常顺序,即f1ff。little反之,代表反序fff1;

signed:选True、Flase表示是否要区分二进制的正负数含义。即是否要对原二进制数进行原码反码补码操作。

s1 = b'\xf1\xff'  
print(int.from_bytes(s1, byteorder='big', signed=False))  
print(int.from_bytes(s1, byteorder='little', signed=True))  
#输出:
61951
-15

对齐函数

str.rjust(width,fillchar)

s1 = b'asf'  
print(s1.decode().rjust(10,'.')) 

#.......asf

ljust同理。

索引函数

list = [1,2,3,4,5,6]
ind = 2
print(list.index(ind))

#1

set函数

创造set数据,是一个无序不重复集合,以花括号表示,可以进行差集交集并集的操作,增删集合内元素用add和remove等来操作。

split函数

切割字符串形成数组,默认切割的是空格。

join函数

将数组的内容相连。

位运算符

  • &

按位与运算,只有同为1的时候输出的结果才为1.

1 & 1 = 1

1 & 0 = 0

0 & 0 = 0

常用语if语句,由于if只要大于零就算true进入循环,因此可以设置特定的数据,达到判断输入的数字的二进制位数哪一位是1,只要有一位满足要求就通过。

eg: 如果是0x80则只有第8位有可能为真,即检查第8位是否为1,是则进入if语句

  • |

按位或运算,只要两个数的相应位置有一个1就输出1

1 | 1 = 1

1 | 0 = 1

0 | 0 = 0

  • ^

按位异或,对应数位不同则输出1,相同则输出0

1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 0 = 0

  • ~

求反运算,是单目运算符,字面意思。

移位函数

>>是右移,相当于整除以2
<<是左移,相当于乘以2
>>=和<<=就是移位之后赋值

库函数

Crypto.Util.number

bytes_to_long

转换成ASCII码,一个字符占据一个字节。

eg: b’abc’ => 97 * 2^16 + 98 * 2^8 + 99 * 2^0 = 63821

gmpy2

gcd( xi )

可以放很多int数下去,求公因式

binascii

chr():把一个整形转换成ASCII码表中对应的单个字符
ord():把ASCII码表中的字符转换成对应的整形
hex():把十进制转换成16进制字符
oct():把十进制转换成八进制字符
bin():把十进制整形转换成二进制字符

还有别的感觉没啥用。

base64

感觉也是同上,其实这些库函数的名字都比较好识别,我自己基本上不会用到,但是有时候看别人的脚本可能还是现场查算了。

自动化类

map(function, iterable)

会返回一个迭代器,一般与list函数配合使用。

a = list(map(int, input().split()))

reduce(function, iterable)

是个python2的库函数,在python3被移到functools模块中,需要导入。

感觉和map差不多但是这个可以直接输出,比如配合add函数达到sum的效果×

itertools库

专门写一篇。

突然不想写了,世间事都那么无趣,总不是一句三分钟热度就有三分钟收获就可以自我安慰的。


文章作者: -v
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 -v !
  目录