适合纯文科生的 python 100个知识点 实践五

159 阅读3分钟

本文源自白璽,创自白璽。转载请标注出处。本文参与掘金日新计划【博客搬家】

PythonPython 标准库

41 math库

41.1 math库的定义

math是Python标准库之一,提供了各种数学函数和常量。

41.2 math库代码和案例:

import math

# 求平方根
x = 9
print(math.sqrt(x))

# 求自然对数
y = 10
print(math.log(y))

# 求指定底数的对数
z = 16
print(math.log(z, 2))

# 求正弦值
angle = 45
angle_in_radians = math.radians(angle)
print(math.sin(angle_in_radians))

# 求余弦值
print(math.cos(angle_in_radians))

# 求正切值
print(math.tan(angle_in_radians))

# 求反正切值
print(math.atan(angle_in_radians))

# 求最大公约数
a = 36
b = 24
print(math.gcd(a, b))

# 求阶乘
n = 5
print(math.factorial(n))

# 求圆周率
print(math.pi)

# 求自然常数e
print(math.e)

输出:

3.0
2.302585092994046
4.0
0.7071067811865476
0.7071067811865476
0.9999999999999999
0.6657737500283538
12
120
3.141592653589793
2.718281828459045

这个示例代码展示了一些math库的常用函数,例如求平方根、对数、三角函数等等。此外,math库还提供了一些常数,例如圆周率π和自然常数e。

42 random库

42.1 random库的定义

random 是 Python 内置的用于生成随机数的库,可以用于模拟、游戏、密码学等场景。下面是 random 库的一些常见用法和代码示例:

42.2 生成随机整数

使用 randint(a, b) 函数生成一个区间 [a, b] 内的随机整数:

import random

# 生成一个 1100 之间的随机整数
random_int = random.randint(1, 100)
print(random_int)

42.3 生成随机浮点数

使用 uniform(a, b) 函数生成一个区间 [a, b] 内的随机浮点数:

import random

# 生成一个 01 之间的随机浮点数
random_float = random.uniform(0, 1)
print(random_float)

42.4生成随机序列

使用 shuffle(seq) 函数将一个序列随机打乱:

import random

# 生成一个列表
seq = [1, 2, 3, 4, 5]

# 打乱列表的顺序
random.shuffle(seq)
print(seq)

42.5 从序列中随机选择一个元素

使用 choice(seq) 函数从一个序列中随机选择一个元素:

import random

# 从列表中随机选择一个元素
seq = [1, 2, 3, 4, 5]
random_choice = random.choice(seq)
print(random_choice)

42.6 生成随机字符串

使用 choices(population, weights=None, *, cum_weights=None, k=1) 函数生成一个由随机字符组成的字符串:

import random
import string

# 生成一个由随机字符组成的字符串
random_string = ''.join(random.choices(string.ascii_letters + string.digits, k=8))
print(random_string)

这里使用了 string 模块中的 ascii_lettersdigits 字符串,分别表示大小写字母和数字。join() 函数用于将列表中的元素拼接成一个字符串。

43 random库

43.1 random库的定义

datetime库是Python中用于处理日期和时间的标准库,它提供了datetime、date、time和timedelta等类,可以方便地进行日期和时间的计算和操作。

43.2 获取当前日期和时间

import datetime

now = datetime.datetime.now()
print("当前时间是:", now)

43.3 格式化日期和时间

import datetime

now = datetime.datetime.now()
format_time = now.strftime("%Y-%m-%d %H:%M:%S")
print("当前时间是:", format_time)

43.4 创建日期和时间对象

import datetime

date_obj = datetime.date(2023, 3, 30)
time_obj = datetime.time(12, 30, 45)

print("日期对象:", date_obj)
print("时间对象:", time_obj)

43.5 计算日期和时间差

import datetime

date1 = datetime.date(2023, 3, 30)
date2 = datetime.date(2022, 3, 30)
delta = date1 - date2

print("日期差:", delta.days)

time1 = datetime.time(12, 30, 45)
time2 = datetime.time(10, 30, 45)
delta = datetime.timedelta(hours=time1.hour-time2.hour, minutes=time1.minute-time2.minute, seconds=time1.second-time2.second)

print("时间差:", delta)

43.6 将字符串转换为日期对象

import datetime

date_str = "2023-03-30"
date_obj = datetime.datetime.strptime(date_str, "%Y-%m-%d")

print("日期对象:", date_obj)

本文是结合ChatGPT的答案总结的知识点,有不足之处请大佬们给出反馈。