python(time/random模块)

Posted mr-zy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python(time/random模块)相关的知识,希望对你有一定的参考价值。

一、Time模块

 1.时间戳

  • 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
  • 最早出现的UNIX操作系统考虑到计算机产生的年代和应用的时限综合取了1970年1月1日作为UNIX TIME的纪元时间(开始时间)

2.time.time()

  • 返回当前时间的时间戳
    import time
    print time.time()
    
    -->1572350849.07

      

3.time.localtime()

  • 当参数为默认值时,返回本地当前时间的时间元组
  • 当输入参数秒后,返回的是1970年1月1日早上8点后+参数秒数后的时间
    import time
    
    #不带参数
    
    print time.localtime()
    
    -->time.struct_time(tm_year=2019, tm_mon=10, tm_mday=29, tm_hour=20, tm_min=12, tm_sec=47, tm_wday=1, tm_yday=302, tm_isdst=0)
    
    #带参数
    
    print time.localtime(30)
    
    -->time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=30, tm_wday=3, tm_yday=1, tm_isdst=0)

       

4.time.asctime()

  • 接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串
  • 默认返回当前时间
    #带参数
    
    import time
    a = time.localtime(30)        #返回为时间元组
    print time.asctime(a)
    
    #不带参数
    
    import time
    print time.asctime()

     

5.time.strftime()

  • 函数接收以时间元组,并返回以可读字符串表示的当地时间,格式由参数format决定
  • 时间元组参数为默认值时,返回当前格式化后的时间
  • 时间元组参数为给定值时,返回的是给定的时间元组所转化成的格式化时间
    import time
    
    #默认返回的是格式化后的时间
    print time.strftime("%Y-%m-%d %H:%M:%S")
    
    #返回的是给定的时间元组所转化成的格式化时间
    import time
    a = time.localtime(30)
    print time.strftime("%Y-%m-%d %H:%M:%S",a)
    
    #封装返回当前格式化时间的函数
    import time
    def local_time():
         return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())

      

     

    python中时间日期格式化符号:

    • %y 两位数的年份表示(00-99)
    • %Y 四位数的年份表示(000-9999)
    • %m 月份(01-12)
    • %d 月内中的一天(0-31)
    • %H 24小时制小时数(0-23)
    • %I 12小时制小时数(01-12)
    • %M 分钟数(00=59)
    • %S 秒(00-59)
    • %a 本地简化星期名称
    • %A 本地完整星期名称
    • %b 本地简化的月份名称
    • %B 本地完整的月份名称
    • %c 本地相应的日期表示和时间表示
    • %j 年内的一天(001-366)
    • %p 本地A.M.或P.M.的等价符
    • %U 一年中的星期数(00-53)星期天为星期的开始
    • %w 星期(0-6),星期天为星期的开始
    • %W 一年中的星期数(00-53)星期一为星期的开始
    • %x 本地相应的日期表示
    • %X 本地相应的时间表示
    • %Z 当前时区的名称
    • %% %号本身

 

6.time.strptime(str,str_fmt)

  • 根据 str 的格式把时间字符串解析为时间元组
    #coding=utf-8
    
    import time
    A =  time.strftime("%Y-%m-%d %H:%M:%S")     #返回的是格式化后的时间
    print time.strptime(A,"%Y-%m-%d %H:%M:%S")  #将格式化后的时间转化为时间元组

     

7.time.mktime(tupletime)

  • 接收时间元组并返回时间戳
    #coding=utf-8
    
    import time
    A =  time.strftime("%Y-%m-%d %H:%M:%S")     #返回的是格式化后的时间
    B = time.strptime(A,"%Y-%m-%d %H:%M:%S")     #将格式化后的时间转化为时间元组
    print time.mktime(B)        #返回的是时间戳

     

8.time.sleep(s)  延时

print 1
time.sleep(3)   #暂停
print 2
time.sleep(3)
print 3

 

 二、Random模块

  • 注意:random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。

1.random.random()

  • 返回随机生成的一个[0,1)范围内的实数
    import random
    print random.random()
    
    -->0.112499651779

     

2.random.randint(x,y)

  • 随机生成 [x,y] 范围内的整数
    import random
    print random.randint(1,2)
    
    -->2

     

3.random.randrange(a,b,step)

  • 随机生成一个 [a,b) 之间的一个整数,可以定义 step步长
  • 与range()用法类似
    import random
    
    print random.randrange(3)
    print random.randrange(1,2)
    print random.randrange(1,6,2)

     

4.random.uniform(a,b)

  • 返回  [a,b] 内的一个浮点数
    import random
    
    print random.uniform(1,2)

     

5.random.choice(a)

  • 从 a 中随机选择一个元素,a 不能为空且 a 不能为字典
    import random
    
    a = "xfs"
    print random.choice(a)
    
    b = [1,2,3]
    print random.choice(b)

     

    """
    #随机生成学员姓名
    student = [‘张三‘,‘李四‘,‘王五‘,]
    print random.choice(student)
    """
    
    """
    #随机删除列表中一个字符串,直至列表清空
    box = ["a","b","c","d","e","f"]
    for i in range(len(box)):
        ball = random.choice(range(len(box)))
        del box[ball]
        print box
    """
    
    """
    #随机生成手机号
    def phone():
        a = ["136","177","186","131"]
        return random.choice(a)+"".join(random.choice("0123456789")
                                       for i in range(8))
    """
    
    """
    #10内相加计算
    import random
    
    a = random.randint(1,10)
    b = random.randint(1,10)
    
    c = raw_input(str(a) + "+" + str(b) + "=")
    if int(c) == a+b:
        print "答案正确!"
    else:
        print "答案错误!"
    """
    
    """
    #福利彩票生成
    num = ["1","2","3",‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘10‘,‘11‘,‘12‘,‘13‘,‘14‘,‘15‘,‘16‘,
           ‘17‘,‘18‘,‘19‘,‘20‘,‘21‘,‘22‘,‘23‘,‘24‘,‘25‘,‘26‘,‘27‘,‘28‘,‘29‘,
           ‘30‘,‘31‘,‘32‘,‘33‘]
    for i in range(7):
        num1 = num.pop(random.randint(0,len(num)-1))
        if i == 0:
            num2 = num1
        elif i == 1:
            num3 = num1
        elif i == 2:
            num4 = num1
        elif i == 3:
            num5 = num1
        elif i == 4:
            num6 = num1
        elif i == 5:
            num7 = num1
        elif i == 6:
            num8 = num1
    print num2+" "+num3+" "+num4+" "+num5+" "+num6+" "+num7+" "+num8
    """

     

     

 

以上是关于python(time/random模块)的主要内容,如果未能解决你的问题,请参考以下文章

python 模块和包 (time,random)

python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess

模块( collections , time , random , os , sys)

模块1 time,random,os ,hashlib

模块:time,random,os,sys

time random sys os模块