zoukankan      html  css  js  c++  java
  • python中的各个模块

    collection模块:python中的扩展数据模块
    #namedtuple: 生成可以使用名字来访问元素内容的tuple
    '''from collections import namedtuple
    Point=namedtuple('point',['x','y']) #必须起名字 point
    p=Point(1,2)
    print(p.x) #表示坐标中的x点
    print(p.y)
    print(p) #point(x=1, y=2) 表示坐标'''
    #deque 双端队列,快速的从另外一侧追加和推出对象 适用于队列和栈
    #队列queue:先进先出 FIFO 堆栈:先进后出 list是线性存储
    '''from collections import deque
    q=deque([1,2])#创建一个队列,队列里面放一个列表
    q.append('d')#从后面放数据
    q.appendleft('e')#从前面放数据
    q.insert(1,4)#插队
    # q.pop()#从后面去数据
    # q.popleft()#从前面取数据
    print(q.pop())
    print(q.popleft())'''
    #OrderedDict:有序字典---》保持key的顺序
    '''from collections import OrderedDict
    d=dict([('a',1),('b',2),('c',3)])
    print(d)#c此时无序
    d1=OrderedDict([('a',1),('b',2),('c',3)])
    print(d1)#OrderedDict([('a', 1), ('b', 2), ('c', 3)])此时有序'''
    # counter:计数器,用来计数 无序的容器类型

    #defaultdict:带有默认值得字典
    '''from collections import Counter
    c=Counter('vcbdjsihguirehgslkjfsdkfjiugh')
    print(c)
    #Counter({'j': 3, 's': 3, 'i': 3, 'h': 3, 'g': 3, 'd': 2, 'u': 2, 'k': 2, 'f': 2, 'v': 1, 'c': 1, 'b': 1, 'r': 1, 'e': 1, 'l': 1})
    '''
    #给集合排序 大与某个值的和小于某个值的存放在两个key下面
    '''from collections import defaultdict
    dic=[11, 22, 33,44,55,66,77,88,99,90]
    d1=defaultdict(list)
    for i in dic:
    if i>66:
    d1['k1'].append(i)
    else:
    d1['k2'].append(i)
    print(d1) #defaultdict(<class 'list'>, {'k2': [11, 22, 33, 44, 55, 66], 'k1': [77, 88, 99, 90]})'''
    #时间模块
    #导入时间模块
    #常用的方法
    # 1.time.time() 获取当前时间
    # 2.time.sleep(secs) 推迟的时间戳
    #表示时间的三种方式
    #时间戳:时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型
    # 元组(struct_time):
    # 格式化的时间字符串Format String ‘1999-12-06’
    '''import time
    #时间戳
    x=time.time()
    print(x)
    #时间字符串
    y=time.strftime("%Y-%m-%d %X")
    print(y)'''
    #时间元组:localtime将一个时间戳转换为当前时区的struct_time

    #print(time.localtime())
    #time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24,tm_hour=13, tm_min=59, tm_sec=37, tm_wday=0, tm_yday=205, tm_isdst=0)
    #时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的*****************
    #三种方式之间的转换

    #random模块
    import random #随机数
    #随机小数
    '''x=random.random() #大于0且小于1之间的小数
    print(x)
    x1=random.uniform(12,23)#大于12小于23的小数
    print(x1)
    #随机整数
    y=random.randint(1243,6567) #首尾都baokuo
    y1=random.randrange(1,10,2) # 大于等于1且小于10之间的奇数 #不包括wei
    print(y)
    print(y1)
    #随机选择多个返回
    z=random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合
    print(z)
    #打乱列表顺序
    item=[1,23,5,7,97]
    x=random.shuffle(item)
    print(item)'''
    #生成随机验证码


    '''def v_code():

    code = ''
    for i in range(5):

    num=random.randint(0,9)
    alf=chr(random.randint(65,90))
    add=random.choice([num,alf])
    code="".join([code,str(add)])

    return code

    print(v_code())'''
    #os模块(操作系统模块):与操作系统交互的一个接口
    #sys模块:与python解释器交互的一个接口
    #******
    # 序列就是字符串
    # 序列化的应用
    # 写文件(数据传输)
    # 网络传输
    # 序列化模块:将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。
    # 序列化:内存中的对象转换为字节序列(字符串)
    # 反序列化:将字节序列转换为内存中的对象
    # 序列化的目的:
    # 1.以某种存储形式是自定义对象持久化
    # 2.将对象从一个地方传递到另一个地方
    # 3.使程序更具有维护性
    #
    # json模块:通用的序列化格式 只有很少的一部分数据类型通过json转化为字符串
    #可以进行序列化的:数字 字符串 元组 列表 不能转集合
    # 1.dumps() 序列化方法
    '''dic={'a':'1',"b":'2'}
    print(type(dic),dic)
    import json
    str_dic=json.dumps(dic)
    print(type(str_dic),str_dic)
    #2.loads反序列化方法
    dic_d=json.loads(str_dic)
    print(type(dic_d),dic_d)'''


    #格式化输出
    '''import json
    data = {'username':['李华','二愣子'],'sex':'male','age':16}
    json_dic2 = json.dumps(data,sort_keys=True,indent=2,separators=(',',':'),ensure_ascii=False)
    print(json_dic2)
    结果;
    {
    "age":16,
    "sex":"male",
    "username":[
    "李华",
    "二愣子"
    ]
    }'''

    #3.dump和load 不加s 和文件相关的操作
    import json
    # dic={'a':'1',"b":'2'}
    # f=open('fff','w',encoding='utf-8')
    # json.dump(dic,f)
    # f.close()
    # f=open('fff')
    # res=json.load(f)
    # print(type(res),res)

    # pickle模块:所有的python中的数据类型都可以转化 但只有pyth理解,且部分反序列化依赖代码
    # shelve模块:序列化句柄 直接操作,方便
  • 相关阅读:
    06 Python类、对象
    05 Python DNS域名轮询业务监控
    04 Python字符串
    03 Python函数
    02 Python循环
    执行config文件时,config.log中报错xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist, use xcode-select to change
    浏览我的php网页时,出现的都是网页的代码
    php
    [转载]用c写PHP的扩展接口(php5,c++)
    PHP扩展编写示例
  • 原文地址:https://www.cnblogs.com/lxx99/p/11772608.html
Copyright © 2011-2022 走看看