python模块基础知识 - GeHaha/PythonLibrary GitHub Wiki

1.python模块之binascii

  • a2b_* 函数接受只包含ASCII字符的Unicode字符串
3.3版本后:ASCII —— 现在只有unicode字符串被a2b_*接受,
  • a2b_uu(string)
将一行uuencode数据转换回二进制并返回二进制数据。每行通常包含45(二进制)字节,除了最后一行。
  • b2a_uu(data, *,backtick= False)
将二进制数据转换为一行ASCII字符,返回值为转换后的行,包括换行字符。
  • b2a_base64(data,newline = True)
将二进制数据转换为base64编码中的ASCII字符行。返回值是转换后的行,如果换行为true,则包括换行字符,该函数的输出符合RFC 3548
  • a2b_qp(data,header = False)
将可引用打印数据块转换回二进制数据并返回二进制数据。一次可以传递多个行。如果可选参数标头存在且为真,下划线将被解码为空格。
  • b2a_qb(data, quotetabs=False, istext=True, header=False)
将二进制数据转换为一行ASCII字符的可引用打印编码。返回值是转换后的行。如果可选参数quotetabs存在且为真,那么所有制表符和空格都将被编码。如果可选参数istext存在且为true,则不会对换行进行编码,但会对尾随空格进行编码。如果可选参数标头存在且为真,空格将被编码为每个RFC 1522的下划线。如果可选参数标头存在且为false,换行符也会被编码;否则,换行可能损坏二进制数据
  • a2b_hqx(string)
将binhex4格式的ASCII数据转换为二进制,无需进行rl解压。字符串应该包含完整的二进制字节,或者(对于binhex4数据的最后一部分)其余的字节为零
  • rledecode_hqx(data)
按照binhex4标准,对数据执行rl -解压缩。该算法使用字节后的0x90作为重复指示器,后面是计数.计数0指定字节值0x90.例程返回已解压缩的数据,除非数据输入数据以孤立的重复指示器结束,在这种情况下会引发不完整的异常。
  • crc32(data[,value])
计算CRC-32,数据的32位校验和,从初始值CRC开始,默认的初始CRC为0。该算法与ZIP文件校验和一致.由于该算法是为校验和算法而设计的,因此不适合作为一般的哈希算法使用。使用如下:

print(binascii.crc32(b"hello world"))

#Or, in two pieces:

crc = binascii.crc32(b"hello")

crc = binascii.crc32(b" world", crc)

print('crc32 = {:#010x}'.format(crc))

  • b2a_hex(data)/hexlify(data)
返回二进制数据的十六进制表示形式。将数据的每个字节转换为相应的两位数十六进制表示形式。因此返回的bytes对象是数据长度的两倍。
  • a2b_hex(hexstr)/unhexlify(hexstr)
返回十六进制字符串hexstr所表示的二进制数据。这个函数是b2a_hex()的倒数。hexstr必须包含偶数个十六进制数字(可以是大小写),否则会引发错误异常。

参见

  • base64
支持基于16、32、64和85的符合RFC的base64样式编码。
  • binhex
支持在Macintosh电脑上使用的binhex格式。
  • uu
支持在Unix上使用的UU编
  • quopri
支持MIME电子邮件消息中使用的可引用打印编码。

2.python 面向对象

构造函数

def__init__(self,[....):

析构函数(就是垃圾回收机制,当要消除函数可以调用)

def__del__(self,[....):

两个内建函数
  • dir() 返回对象的属性
  • type() 获取对象的类型

定义类的属性

直接在类里定义(这个类所有可以用)

class Programer(object): sex = 'male'

在构造函数里定义

class Programer(object): def init(self,name,age,weight): self.name = name---可以公开访问 self._age = age---这个类的私有属性,但是也可以访问 self.__weight = weight----实现了部分私有属性,类可以,但是这个类生生成的对象不可以