zoukankan      html  css  js  c++  java
  • 模块collections,time,random,sys模块

    一、collections模块

    # from collections import OrderedDict
    # d = OrderedDict()
    # d['a'] = 1
    # d['z'] = 2
    # d['b'] = 3
    # print(d)
    #
    # d['z'] = 0
    # print(d)

    # {'apple':100,'computer':10000}

    # 默认字典
    # 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],
    # 将所有大于 66 的值保存至字典的第一个key中,
    # 将小于 66 的值保存至第二个key的值中。
    # dic = {}
    # l = [11,22,33,44,55,66,77,88,99,90]
    # for i in l:
    # if i>66:
    # if dic.get('k1'):
    # dic['k1'].append(i)
    # else:
    # dic['k1'] = [i]
    # elif i<66:
    # if dic.get('k2'):
    # dic['k2'].append(i)
    # else:
    # dic['k2'] = [i]
    # print(dic)

    from collections import defaultdict

    # d = defaultdict(set)
    # print(d)
    # print(d['a'])
    # d['b'] = 10
    # print(d)


    # defaultdict(list) # callable
    # l = []
    # dic = {'k1':l,'k2':l}

    # d = defaultdict(list) #{1:''}
    # print(d)
    # print(d[1])
    # print(d)

    # {} 默认的value是5
    # from collections import defaultdict
    # d = defaultdict(lambda : 5)
    # print(d[1])
    # print(d)

    # from collections import defaultdict
    # d = defaultdict(list)
    # l = [11,22,33,44,55,66,77,88,99,90]
    # for i in l:
    # if i>66:
    # d['k1'].append(i)
    # elif i<66:
    # d['k2'].append(i)
    #
    # print(d)

    # 默认字典最大的好处就是 永远不会在你使用key获取值的时候报错
    # 默认字典 是给 字典中的value设置默认值

    # from collections import Counter
    # c = Counter('abcdeabcdabcaba')
    # print(c)

    # class Configparser:
    # def __init__(self,section,option):
    # self.section = section
    # self.option = option
    # def write(self,f):
    # f.write(self.section,self.option)
    #
    #
    # f = open('test','w')
    # config = Configparser('a','b')
    # config.write(f)
    #
    #
    # import configparser
    # configparser.ConfigParser.write()

    二、time模块
    import time
    # 时间
    # 计算执行代码的时间 time.time() # 1524536396.9483523
    # 让程序停在这里一段时间 sleep

    # 记录时间的格式:
    # 给人看的
    # 给机器看的
    # 计算用的

    import time
    # 时间戳时间
    # print(time.time()) # 时间戳时间 # 计算时间差 精准的运算
    #格式化时间
    # print(time.strftime('%Y-%m-%d %H:%M:%S'))# 字符串格式化时间 # 记录下来给人看
    # print(time.strftime('%y-%m-%d'))# 字符串格式化时间
    # print(time.strftime('%x %X'))# 字符串格式化时间
    # print(time.strftime('%c'))# 字符串格式化时间
    #结构化时间
    # print(time.localtime())# 本地结构化时间 # 时间戳时间转格式化时间的中间件
    # 对应项的简单计算
    # print(time.gmtime()) # 英国的结构化时间

    # 2015-8-8
    # p = time.strptime('2015-8-8','%Y-%m-%d')
    # print(p)
    # print(time.mktime(p))
    # print(time.time()-time.mktime(p))

    # print(time.time())
    #
    # ret = time.localtime(1500000000)
    # print(ret)
    # print(time.strftime('%Y-%m-%d %H:%M:%S',ret))

    # ret = time.localtime(2000000000)
    # print(ret)
    # print(time.strftime('%Y-%m-%d %H:%M:%S',ret))

    # ret = time.localtime(3000000000)
    # print(ret)
    # print(time.strftime('%Y-%m-%d %H:%M:%S',ret)) #2033 2065 32

    # ret = time.localtime(0)
    # print(ret)
    # print(time.strftime('%Y-%m-%d %H:%M:%S',ret)) #1970 1 1 8
    #
    # ret = time.gmtime(0)
    # print(ret)
    # print(time.strftime('%Y-%m-%d %H:%M:%S',ret)) #1970 1 1 0


    # print(time.strftime('%c'))
    # print(time.ctime(1500000000))

    # ret = time.localtime(2000000000)
    # print(ret)
    # print(time.asctime())
    # print(time.asctime(ret))

    # 作业
    # y-m-d h:M:S
    # 从当前时间开始 比起y-m-d h:M:S过去了多少年 多少月 多少天 多少h,多少m,多少s

    三、random模块
    import random
    # 随机 打乱顺序有关的

    # print(random.random()) # 0-1随机小数
    # print(random.uniform(1,4))

    # print(random.randint(1,1000)) # 包含1,2
    # print(random.randrange(1,2)) # 不包含2
    # print(random.randrange(1,20,2)) # 包含所有奇数

    # print(random.choice([1,'23',[4,5]])) #随机取一个元素

    # print(random.sample([1,'23',[4,5]],2)) #随机取两个元素

    # item=[1,3,5,7,9]
    # import random
    # random.shuffle(item) #打乱排序
    # print(item)

    # 要求 生成随机验证码
    # 基础需求: 6位数字验证码 数字可以重复
    # 进阶需求: 字母+数字 4位验证码 数字字母都可以重复

    四、sys模块
    # sys.argv           命令行参数List,第一个元素是程序本身路径
    # sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1)
    # sys.version 获取Python解释程序的版本信息
    # sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
    # sys.platform 返回操作系统平台名称

    # import sys
    # print('*'*6)
    # sys.exit() #退出程序,正常退出时exit(0),错误退出sys.exit(1)
    # print('-'*6)

    # import sys
    # print(sys.version)

    # import sys
    # print(sys.platform)

    # import sys # *****
    # print(sys.path)

    # 内存
    # 程序在运行起来的时候
    # 启动解释器 加载一些基础的内容 内置函数 内置模块 -->内存里
    # sys.path 系统的路径 import
    # import os,sys

    # import sys
    # print(sys.argv) # 列表 列表的第一项是当前文件所在的路径
    # if sys.argv[1] == 'alex' and sys.argv[2] == '3714':
    # print('登陆成功')
    # else:
    # sys.exit()
    # user = input('>>>')
    # pwd = input('>>>')
    # if user == 'alex' and pwd == '3714':
    # print('登陆成功')
    # else:
    # sys.exit()
    # print('我能完成的功能')


    # 执行一个程序
    # debug
    # 直接执行
    import sys
    import logging
    inp = sys.argv[1] if len(sys.argv)>1 else 'WARNING'
    logging.basicConfig(level=getattr(logging,inp)) # DEBUG
    num = int(input('>>>'))
    logging.debug(num)
    a = num * 100
    logging.debug(a)
    b = a - 10
    logging.debug(b)
    c = b + 5
    print(c) # 3000

  • 相关阅读:
    Spring事务管理
    Java GC算法
    内连接,左连接,右连接
    ThreadLocal相关
    @Autowired 与 @Resource的区别
    spring注解
    BZOJ 1040 ZJOI 2008 骑士 树形DP
    HDU 5575 Discover Water Tank 并查集 树形DP
    BZOJ 3571 画框 KM算法 最小乘积最大权匹配
    ZOJ 3256 Tour in the Castle 插头DP 矩阵乘法
  • 原文地址:https://www.cnblogs.com/zzw731862651/p/8933330.html
Copyright © 2011-2022 走看看