Python 标准库

  1. 随机数random模块
    random.seed(10)
    random.random() #0.5714025946899135
    random.seed(10)
    random.random() #0.5714025946899135
    random.random() #0.4288890546751146
    #相同的seed种子,得到的随机数相同

     random.randint(10, 20)  #14
     random.uniform(10, 20)  #14.625805080929492
     random.randrange(10, 100, 3)  #random.randrange(start, end, step)  70
     random.sample("abcdefghijklmnopqrstuvwxyz", 3)  #随机n个字符  ['b', 'q', 'p']
     random.choice("abcd")  #随机一个字符  c
     random.shuffle(["a", "b", "c", "d", "e", "f"])  #随机打乱
    
  2. textwrap 字符串打包
    import textwrap
    wrapper = textwrap.TextWrapper(initial_indent=" ", subsequent_indent=" ")
    # 可以将长的字符串,截断成固定长度的列表(默认长度70,其中initial_indent是第一个字符串加的前缀,subsequent_indent是后边字符串加的前缀)
    a = wrapper.wrap("abcd\nefghfhsdkfhsdkfhksdhfjksdhfjksdhfjkhsdjkfhjksdfhjksdhfjksdhfjksdhfjksdjkfhjksdfhjksdfhjksdhfjkhsdjkfhjksdfhjksdhfjksdfhjksjkdfskdjfsdjk")
    # [' abcd efghfhsdkfhsdkfhksdhfjksdhfjksdhfjkhsdjkfhjksdfhjksdhfjksdhfj', ' ksdhfjksdjkfhjksdfhjksdfhjksdhfjkhsdjkfhjksdfhjksdhfjksdfhjksjkdfskd', ' jfsdjk']
    # php中的str_split(str, len=0)可以将字符串分成len长度的几个子字符串

  3. struct 格式化数据,返回bytes
    import struct
    NumberStruct = struct.Struct("<3h")
    #"<"表示使用little-endian字节顺序(一般都是用这种,Inter,AMD处理器都用),3表示后边三个数据要格式化
    # h指的有符号16位整型(大写的H代表无符号16位整型)
    # i指的有符号32位整型(大写同上)
    # q指的有符号64位整型
    # d指的有符号64位浮点数(等价于Python中的float)
    # f指的有符号32位浮点数
    # s指的字节字符串
    # ?指的布尔值
    data = NumberStruct.pack(1, -1, 2) # b'\x01\x00\xff\xff\x02\x00'
    ori = NumberStruct.unpack(data) # (1, -1, 2)

  4. pickle(腌渍(泡菜等))

    如果希望透明地存储 Python 对象,而不丢失其身份和类型等信息,则需要某种形式的对象序列化:它是一个将任意复杂的对象转成对象的文本或二进制表示的过程。同样,必须能够将对象经过序列化后的形式恢复到原有的对象。在 Python 中,这种序列化过程称为 pickle,可以将对象 pickle 成字符串、磁盘上的文件或者任何类似于文件的对象,也可以将这些字符串、文件或任何类似于文件的对象 unpickle 成原来的对象

     import pickle
     fb = open("a.pkl", "wb")
     a = pickle.dump([1, 2, 3], fb)
     fb.close()
     fb = open("a.pkl", "rb")
     b = pickle.load(fb)
     print(b)    #[1, 2, 3]
    
    class student:
       def __init__(self, id, name, age):
           self.__id = id
           self.__name = name
           self.__age = age
     @property
     def id(self):
         return self.__id
     @property
     def name(self):
         return self.__name
     @property
     def age(self):
         return self.__age
     @age.setter
     def age(self, age):
         self.__age = age
    
     class myclass(dict):
         def values(self):
             for id in self.keys():
                 yield self[id]
         def items(self):
             for id in self.keys():
                 yield (id, self[id])
         def __iter__(self):
             for id in sorted(super().keys()):
               yield id
         def keys = __iter__
    
     stu1= student(2, "喃喃", 12)
     stu2= student(1, "听雨", 13)
     cls = myclass()
     cls[stu1.id] = stu1
     cls[stu2.id] = stu2
    
     cls1 = pickle.dumps(cls)
     cls2 = pickle.loads(cls1)
    
  5. glob
    glob.glob("D://") #返回的是一个list,D盘的所有文件和目录
    glob.igblob("D://
    ") #返回一个迭代子

  6. sys
    sys.float_info.epsilon #最接近0的值
    sys.platform #平台名称

你可能感兴趣的:(Python 标准库)