zoukankan      html  css  js  c++  java
  • 软件的开发规范以及部分模块的使用方法

    1. 规范化开发.
      一个py文件中,
    2. 文件加载问题.
    3. 代码可读性差,查询,麻烦.
      要将一个py文件分开,合理的分成多个py文件.
      配置文件:

    settings.py:配置文件(存放一些静态变量,轻易不改变的变量,引用)

    src.py:主逻辑函数,存放核心逻辑功能

    common.py:公共组件部分,装饰器,log日志(),(辅助功能的函数)

    starts.py(程序启动的开关):为什么单独设置开关?放在明显的位置,便于开启程序,项目启动文件

    register(数据库文件):注册表,用户信息,访问记录等

    log:日志文件

    bin:放入starts.py文件

    conf:放入settings.py文件

    core:放入src.py文件

    db:放入register.py文件

    lib:放入common.py文件

    log:放入access.log文件

    1. time模块
      与时间相关的模块:
      三种形式:

    2. 时间戳: time.time() 时差,计时......

    3. 人类看得懂的时间,格式化时间. 2019-6-28 12:00

      time.strftime("%Y-%m-%d %X")
      '2017-07-24 13:54:37'
      time.strftime("%Y-%m-%d %H-%M-%S")
      '2017-07-24 13-55-04'
      
    4. 结构化时间: python语言使用的,解释器使用的.

    5. 时间的转化

      # 格式化时间 ---->  结构化时间
      ft = time.strftime('%Y/%m/%d %H:%M:%S')
      st = time.strptime(ft,'%Y/%m/%d %H:%M:%S')
      print(st)
      # 结构化时间 ---> 时间戳
      t = time.mktime(st)
      print(t)
      
      # 时间戳 ----> 结构化时间
      t = time.time()
      st = time.localtime(t)
      print(st)
      # 结构化时间 ---> 格式化时间
      ft = time.strftime('%Y/%m/%d %H:%M:%S',st)
      print(ft)
      
    6. datetime模块

      # datatime模块
      import datetime
      now_time = datetime.datetime.now()  # 现在的时间
      # 只能调整的字段:weeks days hours minutes seconds
      print(datetime.datetime.now() + datetime.timedelta(weeks=3)) # 三周后
      print(datetime.datetime.now() + datetime.timedelta(weeks=-3)) # 三周前
      
      
      current_time = datetime.datetime.now()
      # 可直接调整到指定的 年 月 日 时 分 秒 等
      
      print(current_time.replace(year=1977))  # 直接调整到1977年
      print(current_time.replace(year=1989,month=4,day=25))  # 1989-04-25 18:49:05.898601
      
      # 将时间戳转化成时间
      print(datetime.date.fromtimestamp(1232132131))  # 2009-01-17
      
    7. random模块

      >>> import random
      #随机小数
      >>> random.random()      # 大于0且小于1之间的小数
      0.7664338663654585
      >>> random.uniform(1,3) #大于1小于3的小数
      1.6270147180533838
      #恒富:发红包
      
      #随机整数
      >>> random.randint(1,5)  # 大于等于1且小于等于5之间的整数
      >>> random.randrange(1,10,2) # 大于等于1且小于10之间的奇数
      
      #随机选择一个返回
      >>> random.choice([1,'23',[4,5]])  # #1或者23或者[4,5]
      #随机选择多个返回,返回的个数为函数的第二个参数
      >>> random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合
      [[4, 5], '23']
      
      #打乱列表顺序
      >>> item=[1,3,5,7,9]
      >>> random.shuffle(item) # 打乱次序
      >>> item
      [5, 1, 3, 7, 9]
      >>> random.shuffle(item)
      >>> item
      [5, 9, 7, 1, 3]
      

      计算时间差

      import time
      true_time=time.mktime(time.strptime('2017-09-11 08:30:00','%Y-%m-%d %H:%M:%S'))
      time_now=time.mktime(time.strptime('2017-09-12 11:00:00','%Y-%m-%d %H:%M:%S'))
      dif_time=time_now-true_time
      struct_time=time.gmtime(dif_time)
      print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(struct_time.tm_year-1970,struct_time.tm_mon-1,
                                             struct_time.tm_mday-1,struct_time.tm_hour,
                                             struct_time.tm_min,struct_time.tm_sec))
      
      计算时间差
      

      生成随机验证码

      import random
      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())
      
  • 相关阅读:
    leetcode:Swap Nodes in Pairs
    leetcode:Coin Change
    leetcode:Odd Even Linked List
    算法的时间复杂度和空间复杂度
    linux学习之centos(三):网卡配置
    VMware虚拟机中的常用文件介绍
    leetcode:Partition List
    REST简析
    数据结构与算法之——五大查找
    Lepus经历收获杂谈(二)——QT
  • 原文地址:https://www.cnblogs.com/-777/p/11104055.html
Copyright © 2011-2022 走看看