常用的Python标准库

本文详细介绍了Python的random库,包括随机数生成(整数和浮点数)、随机种子设定以及随机序列函数。同时概述了time库的时间处理功能和os库的系统操作功能,如获取时间、路径操作等。
摘要由CSDN通过智能技术生成

random库(随机数库)

1.随机种子——seed(a=None)

相同种子会产生相同的随机数

如果不设置随机种子,以系统当前时间为默认值

from random import *
import random

# 相同的种子会产生相同的随机数
seed(2)
random_munber1 = random.random()
seed(2)
random_munber2 = random.random()
seed(2)
random_munber3 = random.random()
seed(5)
random_munber4 = random.random()
seed(5)
random_munber5 = random.random()
random_munber6 = random.random()
print(random_munber1,random_munber2,random_munber3,random_munber4,random_munber5,random_munber6)

   相同的种子会产生相同的随机数

2.产生随机整数

 from random import *
# (1) randint(a, b)——产生[a, b]之间的随机整数
numbers =[randint(1,10) for i in range(10)]
numbers

      [9, 1, 8, 4, 1, 3, 2, 6, 8, 4]

# (2)randrange(a)——产生[0,a)之间的随机整数
numbers = [randrange(10) for i in range(10)]
numbers

       [6, 8, 1, 9, 3, 0, 3, 6, 4, 2]

# (3) randrange(a, b, step)——产生[a, b)之间以setp为步长的随机整数
numbers =[randrange(0,10,2) for i in range(10)]
numbers

   [6, 2, 0, 2, 8, 8, 6, 2, 2, 0]

3.产生随机浮点数

# (1) random()——产生[0.0,1.0)之间的随机浮点数
numbers = [random() for i in range(10)]
numbers

[0.9723372896865363,
 0.00531313724410809,
 0.7735937030276743,
 0.9601271002174996,
 0.16585644239491049,
 0.16648447729129467,
 0.3136513677349536,
 0.19888932659643488,
 0.8761189332442766,
 0.6257301956771277]

# (2) uniform(a, b)——产生[a, b]之间的随机浮点数
numbers =[uniform(2.1,3.5)for i in range(10)]
numbers

[2.3543361359638455,
 3.455979484073063,
 2.3756306614964458,
 3.4511349473240847,
 2.6365128876142534,
 2.130198291731372,
 2.6808693962718433,
 3.4101097181736133,
 2.4693367145299585,
 2.5645962821088935]

4.随机序列函数

(1) choice(seq)

从序列类型中随机返回一个元素

# (1) choice(seq)——从序列类型中随机返回一个元素
s1_choice = choice(['win', 'lose', 'draw'])
s2_choice = choice("python")
print(s1_choice,s2_choice)

draw o
(2) choices(seq,weights=None, k)

对序列类型进行k次放回可重复采样,可设置权重

# (2) choices(seq,weights=None, k)——对序列类型进行k次放回可重复采样,可设置权重
choices(['win', 'lose', 'draw'],k=5)

['win', 'draw', 'lose', 'win', 'draw']

choices(['win', 'lose', 'draw'],(4,4,2),k=10)

['win', 'lose', 'draw', 'draw', 'draw', 'lose', 'lose', 'lose', 'lose', 'win']

 权重越重出现的频率越高

(3) sample(pop, k)

从pop类型中随机选取不放回k个元素,所以k不能大于pop类型的元素个数,以列表类型返回

# (3) sample(pop, k)——从pop类型中随机选取不放回k个元素,所以k不能大于pop类型的元素个数,以列表类型返回
a = sample([10,20,30,40,50],k=4)

[20, 50, 10, 30]
随机选取不放回,所以当k>4时,就会报错

math(数学库)

# 圆周率正切函数反正弦反余弦反正切弧度转换度数转换
import math
math.pi

3.141592653589793

#正弦函数
math.sin(math.pi/2)

1.0

# 余弦函数
math.cos(math.pi)

-1.0

# 正切函数
math.tan(math.pi/4)

0.9999999999999999

# 自然常数
math.e

4.605170185988092

# 以10为底的对数
math.log(100,10)

2.0

#向上取整
math.ceil(3.2)

4

#向下取整
math.floor(3.2)

3

# factorial(x):返回×的阶乘,要求×必须为正整数。
math.factorial(5)

120

# gcd(x, y):返回整数x和y的最大公约数。
math.gcd(55,50)

5

time库(时间库)

1.返回现在的时间

import time
#本地时间: time.localtime()
t_local = time.localtime()
#UTC世界统一时间: time.gmtime()
t_UTC = time.gmtime()
print(t_local)
print(t_UTC)

# 返回本地时间的字符串形式
c_time = time.ctime()
print(c_time)
# time.time()返回自纪元以来的秒数,记录sleep
t_time = time.time()
print(t_time)

Wed Nov  1 20:58:05 2023
1698843485.189424

2.格式化输出

# 自定义格式化输出
# %Y-%m-%d 年月日
# %A 星期
# %H:%M:%S 时分秒
# 三个位置无序,可以自定义顺序,也可以不写
lctime = time.localtime()
time.strftime("%Y-%m-%d %A %H:%M:%S ",lctime)

'2023-11-01 Wednesday 20:58:05 '

3.时间休眠

#time.sleep(n)等待的时间n,单位为秒
t1_time = time.time()
time.sleep(5)
t2_time = time.time()
print(t2_time-t1_time)

5.007504463195801

os库(操作系统)

import os
#显示操作系统
print(os.name)

nt
posix:表示类Unix系统,例如Linux、Mac OS X等。
nt:表示Windows系统。
java:表示Java虚拟机。

#显示路径分隔符
print(os.sep)

\

# 在Windows系统上,os.pathsep的值为分号;。
# 在Unix/Linux系统上,os.pathsep的值为冒号:。

# 打印出当前工作目录的路径
current_dir = os.getcwd()
print(current_dir)

D:\PyCharm\data\day02

还有以下的一些函数

os.listdir(path):返回指定目录下的所有文件和文件夹的列表。

os.mkdir(path):创建一个目录。

os.makedirs(path):创建多级目录。

os.remove(path):删除一个文件。

os.rmdir(path):删除一个目录。

os.path.join(path1, path2, ...):将多个路径组合成一个路径。

os.path.exists(path):判断路径是否存在。

os.path.isfile(path):判断路径是否为文件。

os.path.isdir(path):判断路径是否为目录。

os.path.basename(path):获取路径中的文件名。

os.path.dirname(path):获取路径中的目录名。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暗影小黑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值