pythoncookbook和流畅的python对比_流畅的python和cookbook学习笔记(五)

1.随机选择

python中生成随机数使用random模块。

1.从序列中随机挑选元素,使用random.choice()

>>> importrandom>>> values = [1, 2, 3, 4, 5, 6]>>>random.choice(values)3

>>>random.choice(values)3

>>>random.choice(values)1

>>>random.choice(values)1

>>>random.choice(values)4

2.取出指定个数的元素,使用random.sample()

>>> random.sample(values, 2)

[1, 4]>>> random.sample(values, 2)

[3, 5]>>> random.sample(values, 3)

[5, 3, 2]>>> random.sample(values, 3)

[1, 3, 2]

3.打乱序列的顺序,可以用来洗牌,使用random.shuffle()

>>>random.shuffle(values)>>>values

[2, 4, 5, 3, 6, 1]>>>random.shuffle(values)>>>values

[2, 6, 5, 4, 3, 1]

4.生成随机整数,使用random.randint()

>>> random.randint(1, 10)3

>>> random.randint(1, 10)10

>>> random.randint(1, 10)5

5.生成 0 到 1 之间的浮点数,使用random.random()

>>>random.random()0.31720220264500265

>>>random.random()0.8230452349376671

>>>random.random()0.09307172325744872

6.生成随机比特位的整数,使用random.getrandbits()

>>> random.getrandbits(200)859899606181938256764615251875627706548045135119258688489931

>>> random.getrandbits(200)582401031226834278134883678914218487507678688169321631685078

2.时间的转换

1.python中使用datetime模块来转换时间。

>>> from datetime importtimedelta>>> a = timedelta(days = 2, hours = 6)>>> b = timedelta(hours = 4.5)>>> c = a +b>>>c.days2

>>>c.seconds37800

>>> c.seconds / 3600

10.5

>>> c.total_seconds() / 3600

58.5

表示特定的日期和时间。

>>> from datetime importdatetime>>> a = datetime(2017, 9, 8)>>> print(a + timedelta(days=2))2017-09-10 00:00:00

>>> b = datetime(2017, 9, 22)>>> d = b -a>>>d.days14

>>> now =datetime.today()>>> print(now)2017-09-08 20:09:56.904169

>>> print(now + timedelta(minutes=10))2017-09-08 20:19:56.904169

2.使用dateutil模块,可以处理不同月份中的天数。datetime不能处理月份。

>>> from dateutil.relativedelta importrelativedelta>>> a = datetime(2017, 9, 8)>>> a + relativedelta(months=1)

datetime.datetime(2017, 10, 8, 0, 0)>>> a + relativedelta(months=4)

datetime.datetime(2018, 1, 8, 0, 0)>>> b = datetime(2017, 11, 11)>>> d = b -a>>>d

datetime.timedelta(64)>>> d =relativedelta(b, a)>>>d

relativedelta(months=+2, days=+3)>>>d.months2

>>>d.days3

3.把字符串转换为时间,使用datetime.strptime(),把时间转化为字符串使用datetime.strftime()

>>> from datetime importdatetime>>> text = ‘2017-9-8‘

>>> y = datetime.strptime(text, ‘%Y-%m-%d‘)>>> z =datetime.now()>>> diff = z -y>>>diff

datetime.timedelta(0,73494, 826144)>>>y

datetime.datetime(2017, 9, 8, 0, 0)>>>z

datetime.datetime(2017, 9, 8, 20, 24, 54, 826144)>>> nice_z = datetime.strftime(z, ‘%A %B %d %Y‘)>>>nice_z‘Friday September 08 2017‘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值