【Python】随机模块random & 日期时间のtime&&datetime

■ random

    顾名思义,random提供了python中关于模拟随机的一些方法。这些方法都一看就懂的,不多说了:

    random.random()    返回0<n<=1的随机实数

    random.uniform(a,b)    返回a<n<=b的随机实数

    random.randrange([start],stop,[step])    返回序列range(start,stop,step)中随机一项

    random.choice(seq)    返回序列中随机一项

    random.sample(seq,n)    返回序列中n个随机且独立的项组成列表

    random.shuffle(seq)    打乱序列顺序(原地变化,相当于s.reverse()这种,seq本身被打乱而不返回值)

■ time

    获得当前时间,操作时间,从字符串里读取时间,将时间转化为字符串等等

    时间的表示方法有很多种,比如:

      字符串(最易懂的形式)

      实数(表示当前时刻距离1970年1月1日0点0分0秒经过的秒数,即时间戳)

      元组,比如(2008,1,21,12,2,56,0,21,0),各个字段的意义分别是 年,月,日,时,分,秒,周几(取值范围0-6),儒历日(一年中的第几天,1-366),夏令时(0或1或-1)

    一些time模块的方法如下:

      time.asctime([tuple])    将元组转化为字符串,若不给出元组就以当前时间为参数,如(2016,9,10,10,58,31,5,xxx(忘记掉了),0) ==> Sat Sep 10 10:58:31 2016

      time.localtime([secs])    将秒数时间戳转化为日期元组,不填参数也是以当前时间为准

      time.mktime(tuple)    将元组转化为秒数时间戳,于localtime相反

      time.sleep(secs)    暂停整个进程secs秒时间,很多地方有用!

      time.strptime(string)    将字符串解析为时间元组,和asctime相反,而字符串格式要求像asctime输出的那样。。

      time.time()    生成秒数时间戳

      time.strftime(format,tuple)    根据format指定的格式来讲元组转化成字符串,如strftime("%y-%m-%d %H:%M:%S",asctime())

    几种日期格式转化示意图:

      字符串 ==(strptime)==> 日期元组 ==(mktime)==>时间戳

      时间戳 ==(localtime)==>日期元组 ==(asctime,strftime)==> 字符串

    * 字符串和元组仅仅只是对时间做一个记录而已,并不会对日期时间的正确性做校验(比如星期几是否匹配某个日期等),所以应尽量用time提供的方法来创建时间表示,而不是自己手写一个时间元组之类的。。这样可以减少这种错误。

■ datetime

  相比于time模块,datetime更加直观简洁,同时它也已经成为python的内建模块了

  datetime内置以下几个类,分别用于处理各个对应的时间日期要素

  ●  datetime.date

  表示日期的类,常用属性有year,month,day

  ●  datetime.time

  表示时间的类,常用属性有hour,minute,second,microsecond

  ●  datetime.datetime

  表示日期和时间

  ●  datetime.timedelta 

  表示两个时间的间隔

  ⑴  date类

  D = datetime.date(年,月,日) 可以创建出一个date类对象,除此之外,还可以用D = datetime.date.today()来返回一个今天的date对象以及datetime.date.fromtimestamp(...)根据时间戳来生成一个date对象

  date类默认的打印方法是YYYY-MM-DD

  date类可调用的一些方法:

    datetime.date.timetuple()    生成time tuple

    (前略).weekday()    返回星期几(取值0-6)

    .isoworkday()    返回星期几(取值1-7)

    .isoformat()    返回标准格式的YYYY-MM-DD的字符串

    .strftime(format)    根据指定的格式返回日期字符串

  *datetime.date对象之间可以比大小,date对象相减其差值是一个timedelta对象

  ⑵  time类

  time 由 time(23,59,59,999999)构成

  time.isoformat()    给出"HH:MM:DD"格式的时间字符串

  time.strftime(format)    根据自定义格式给出时间字符串

  和date类一样,time也可以比大小,相减

  ⑶  datetime类(这个是datetime.datetime,不要搞错

  datetime类把date类和time类整合到一起,其构造方法是datetime(年,月,日[,时[,分[,秒]]])

  datetime.now()    返回当前时间的datetime对象

  datetime.combine(date,time)    组合一个date对象和一个time对象

  datetime.strptime(string,format)    将格式字符串转化为datetime对象

  此外 一些date类和time类的方法也可被datetime类对象调用,如timetuple(),weekday(),strftime(fmt)等

  

  *strftime中的格式,除了%y-%m-%d %H:%M:%D外,还有:

    %a  星期几,如Tue,Sar,Wed

    %b  月份,如Apr,May.

    %j  儒历日

    %x  YY/MM/DD格式(等于说是写了%x就代表是写了%y/%m/%d,下同)

    %X  HH:MM:SS格式

    %c  yy/mm/dd HH:MM:SS

    %W  第几周

      

      

时间: 2024-11-11 00:59:42

【Python】随机模块random & 日期时间のtime&&datetime的相关文章

Python常用模块——random随机模块

Python常用模块--random随机模块 程序中有很多地方都需要用到随机字符,比如登录网站的随机验证码,通过random模块可以很容易生成随机字符串. >>> random.randrange(1,10) #返回1-10之间的一个随机数,不包括10 >>> random.randint(1,10) #返回1-10之间的一个随机数,包括10 >>> random.randrange(0, 100, 2) #随机选取0到100间的偶数,即步长为2 &g

python全栈开发【第十篇】Python常用模块二(时间、random、os、sys和序列化)

一.time模块 表示时间的三种方式: 时间戳:数字(计算机能认识的) 时间字符串:t='2012-12-12' 结构化时间:time.struct_time(tm_year=2017, tm_mon=8, tm_mday=8, tm_hour=8, tm_min=4, tm_sec=32, tm_wday=1, tm_yday=220, tm_isdst=0)像这样的就是结构化时间 #time模块的常用方法及三种时间之间的转换 import time # 对象:对象.方法 # --------

python - 常用模块 - random模块

python中的random模块主要是用来生成随机数 1 #!/usr/bin/env python 2 #coding:utf-8 3 4 import random 11 #1.random.random() 返回一个产生介于0-1之间的随机数 12 a = random.random() 13 print('a:',a) # a: 0.6166193118806547 14 15 #2.random.uniform(start,end) 返回一个介于[start,end]([]这里是数学的

C#中 String 格式的日期时间 转为 DateTime

C#中并没有表示时间的变量,只有DateTime,所以要表示时间,可以用TimeSpan表示. 方法一:Convert.ToDateTime(string) string格式有要求,必须是yyyy-MM-dd hh:mm:ss 方法二:Convert.ToDateTime(string, IFormatProvider) DateTime dt; DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();

python shutil模块&amp;random模块

shutil模块 import shutil shutil.copyfileobj(open("os_.py", "r"), open("os_2.py", "w")) # 将文件内容拷贝到另一个文件中,目标文件无需存在 shutil.copyfile("os_.py", "os_1.py") # 拷贝文件,目标文件无需存在 shutil.copymode("os_.py&qu

python 之模块random

随机形成字母和数字组成的五位字符码. [[email protected] python]# vim timee.py import random def coder(): code = '' for i in range(5): add = random.choice([random.randrange(10),chr(random.randrange(65,91))]) #数字和字母 code += str(add) print (code) coder() 运行结果: [[email pr

Python常用模块——random

Random 我们的程序中很多地方需要用到随机字符,我们可以通过random模块生成随机字符串    常用方法如下: import random import string # 返回1-10之间的一个随机数,不包括10 print(random.randrange(1, 10)) # 返回1-10之间的一个随机数,包括10 print(random.randint(1, 10)) # 返回一个随机浮点数 print(random.random()) # 返回一个指定数据集合的随机字符 print

python cookbook 2 数字 日期 时间(2)

5.字节到大整数的转换 #拥有128位长的16个元素的字节字符串. >>> data = b'\x00\x124V\x00x\x90\xab\x00\xcd\xef\x01\x00#\x004' >>> len(data) 16 将bytes解析为整数,使用 int.from_bytes() 方法 #仅使用与python3 #字节顺序规则(little或big)仅仅指定了构建整数时的字节的低位高位排列方式. >>> int.from_bytes(dat

Python time模块 返回格式化时间

常用命令 strftime time.strftime("%Y-%m-%d %H:%M:%S", formattime) 第二个参数为可选参数 ,不填第二个参数则返回格式化后的当前时间日期 #2018-12-1 12:00:00time.strftime('%H:%M:%S')#返回当前时间的 时分秒time.strftime('%y-%m-%d')#返回当前时间的 日期 strptime 将格式字符串转化成struct_time. 该函数是time.strftime()函数的逆操作.