网站建设手机端,搭建网页代码流程,安徽网站推广优化,python网站开发演示前言
本章介绍Python的math 模块和requests 模块。
Python math 模块
Python math 模块提供了许多对浮点数的数学运算函数。
math 模块下的函数#xff0c;返回值均为浮点数#xff0c;除非另有明确说明。
如果你需要计算复数#xff0c;请使用 cmath 模块中的同名函数…前言
本章介绍Python的math 模块和requests 模块。
Python math 模块
Python math 模块提供了许多对浮点数的数学运算函数。
math 模块下的函数返回值均为浮点数除非另有明确说明。
如果你需要计算复数请使用 cmath 模块中的同名函数。
要使用 math 函数必须先导入
import math查看 math 模块中的内容: import mathdir(math)
[__doc__, __file__, __loader__, __name__, __package__, __spec__, acos, acosh, asin, asinh, atan, atan2, atanh, ceil, comb, copysign, cos, cosh, degrees, dist, e, erf, erfc, exp, expm1, fabs, factorial, floor, fmod, frexp, fsum, gamma, gcd, hypot, inf, isclose, isfinite, isinf, isnan, isqrt, lcm, ldexp, lgamma, log, log10, log1p, log2, modf, nan, nextafter, perm, pi, pow, prod, radians, remainder, sin, sinh, sqrt, tan, tanh, tau, trunc, ulp]math 模块常量
常量描述math.e返回欧拉数 (2.7182…)math.inf返回正无穷大浮点数math.nan返回一个浮点值 NaN (not a number)math.piπ 一般指圆周率。 圆周率 PI (3.1415…)math.tau数学常数 τ 6.283185…精确到可用精度。Tau 是一个圆周常数等于 2π圆的周长与半径之比。math 模块方法方法描述:----:----math.acos(x)返回 x 的反余弦结果范围在 0 到 pi 之间。math.acosh(x)返回 x 的反双曲余弦值。math.asin(x)返回 x 的反正弦值结果范围在 -pi/2 到 pi/2 之间。math.asinh(x)返回 x 的反双曲正弦值。math.atan(x)返回 x 的反正切值结果范围在 -pi/2 到 pi/2 之间。math.atan2(y, x)返回给定的 X 及 Y 坐标值的反正切值结果是在 -pi 和 pi 之间。math.atanh(x)返回 x 的反双曲正切值。math.ceil(x)将 x 向上舍入到最接近的整数math.comb(n, k)返回不重复且无顺序地从 n 项中选择 k 项的方式总数。math.copysign(x, y)返回一个基于 x 的绝对值和 y 的符号的浮点数。math.cos()返回 x 弧度的余弦值。math.cosh(x)返回 x 的双曲余弦值。math.degrees(x)将角度 x 从弧度转换为度数。math.dist(p, q)返回 p 与 q 两点之间的欧几里得距离以一个坐标序列或可迭代对象的形式给出。 两个点必须具有相同的维度。math.erf(x)返回一个数的误差函数math.erfc(x)返回 x 处的互补误差函数math.exp(x)返回 e 的 x 次幂Ex 其中 e 2.718281… 是自然对数的基数。math.expm1()返回 Ex - 1 e 的 x 次幂Ex其中 e 2.718281… 是自然对数的基数。这通常比 math.e ** x 或 pow(math.e, x) 更精确。math.fabs(x)返回 x 的绝对值。math.factorial(x)返回 x 的阶乘。 如果 x 不是整数或为负数时则将引发 ValueError。math.floor()将数字向下舍入到最接近的整数math.fmod(x, y)返回 x/y 的余数math.frexp(x)以 (m, e) 对的形式返回 x 的尾数和指数。 m 是一个浮点数 e 是一个整数正好是 x m * 2**e 。 如果 x 为零则返回 (0.0, 0) 否则返回 0.5 abs(m) 1 。math.fsum(iterable)返回可迭代对象 (元组, 数组, 列表, 等)中的元素总和是浮点值。math.gamma(x)返回 x 处的伽马函数值。math.gcd()返回给定的整数参数的最大公约数。math.hypot()返回欧几里得范数sqrt(sum(x**2 for x in coordinates))。 这是从原点到坐标给定点的向量长度。math.isclose(a,b)检查两个值是否彼此接近若 a 和 b 的值比较接近则返回 True否则返回 False。。math.isfinite(x)判断 x 是否有限如果 x 既不是无穷大也不是 NaN则返回 True 否则返回 False 。math.isinf(x)判断 x 是否是无穷大如果 x 是正或负无穷大则返回 True 否则返回 False 。math.isnan()判断数字是否为 NaN如果 x 是 NaN不是数字则返回 True 否则返回 False 。math.isqrt()将平方根数向下舍入到最接近的整数math.ldexp(x, i)返回 x * (2**i) 。 这基本上是函数 math.frexp() 的反函数。math.lgamma()返回伽玛函数在 x 绝对值的自然对数。math.log(x[, base])使用一个参数返回 x 的自然对数底为 e 。math.log10(x)返回 x 底为 10 的对数。math.log1p(x)返回 1x 的自然对数以 e 为底。math.log2(x)返回 x 以 2 为底的对数math.perm(n, kNone)返回不重复且有顺序地从 n 项中选择 k 项的方式总数。math.pow(x, y)将返回 x 的 y 次幂。math.prod(iterable)计算可迭代对象中所有元素的积。math.radians(x)将角度 x 从度数转换为弧度。math.remainder(x, y)返回 IEEE 754 风格的 x 除于 y 的余数。math.sin(x)返回 x 弧度的正弦值。math.sinh(x)返回 x 的双曲正弦值。math.sqrt(x)返回 x 的平方根。math.tan(x)返回 x 弧度的正切值。math.tanh(x)返回 x 的双曲正切值。math.trunc(x)返回 x 截断整数的部分即返回整数部分删除小数部分
Python requests 模块
Python 内置了 requests 模块该模块主要用来发 送 HTTP 请求requests 模块比 urllib 模块更简洁。
实例
# 导入 requests 包
import requests# 发送请求
x requests.get(https://www.csdn.com/)# 返回网页内容
print(x.text)每次调用 requests 请求之后会返回一个 response 对象该对象包含了具体的响应信息。
响应信息如下
属性或方法说明apparent_encoding编码方式close()关闭与服务器的连接content返回响应的内容以字节为单位cookies返回一个 CookieJar 对象包含了从服务器发回的 cookieelapsed返回一个 timedelta 对象包含了从发送请求到响应到达之间经过的时间量可以用于测试响应速度。比如 r.elapsed.microseconds 表示响应到达需要多少微秒。encoding解码 r.text 的编码方式headers返回响应头字典格式history返回包含请求历史的响应对象列表urlis_permanent_redirect如果响应是永久重定向的 url则返回 True否则返回 Falseis_redirect如果响应被重定向则返回 True否则返回 Falseiter_content()迭代响应iter_lines()迭代响应的行json()返回结果的 JSON 对象 (结果需要以 JSON 格式编写的否则会引发错误)links返回响应的解析头链接next返回重定向链中下一个请求的 PreparedRequest 对象ok检查 “status_code” 的值如果小于400则返回 True如果不小于 400则返回 Falseraise_for_status()如果发生错误方法返回一个 HTTPError 对象reason响应状态的描述比如 “Not Found” 或 “OK”request返回请求此响应的请求对象status_code返回 http 的状态码比如 404 和 200200 是 OK404 是 Not Foundtext返回响应的内容unicode 类型数据url返回响应的 URL
实例
# 导入 requests 包
import requests# 发送请求
x requests.get(https://www.csdn.com/)# 返回 http 的状态码
print(x.status_code)# 响应状态的描述
print(x.reason)# 返回编码
print(x.apparent_encoding)输出结果如下
200
OK
utf-8请求 json 数据文件返回 json 内容
实例
# 导入 requests 包
import requests# 发送请求
x requests.get(https://www.csdn.com/try/ajax/json_demo.json)# 返回 json 数据
print(x.json())输出结果如下
{name: 网站, num: 3, sites: [{name: Google, info: [Android, Google 搜索, Google 翻译]}, {name: csdn, info: [csdn教程, 菜鸟工具, 菜鸟微信]}, {name: Taobao, info: [淘宝, 网购]}]}requests 方法 requests 方法如下表
方法描述delete(url, args)发送 DELETE 请求到指定 urlget(url, params, args)发送 GET 请求到指定 urlhead(url, args)发送 HEAD 请求到指定 urlpatch(url, data, args)发送 PATCH 请求到指定 urlpost(url, data, json, args)发送 POST 请求到指定 urlput(url, data, args)发送 PUT 请求到指定 urlrequest(method, url, args)向指定的 url 发送指定的请求方法
使用 requests.request() 发送 get 请求
实例
# 导入 requests 包
import requests# 发送请求
x requests.request(get, https://www.csdn.com/)# 返回网页内容
print(x.status_code)输出结果如下
200设置请求头
实例
# 导入 requests 包
import requestskw {s:python 教程}# 设置请求头
headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36}# params 接收一个字典或者字符串的查询参数字典类型自动转换为url编码不需要urlencode()
response requests.get(https://www.csdn.com/, params kw, headers headers)# 查看响应状态码
print (response.status_code)# 查看响应头部字符编码
print (response.encoding)# 查看完整url地址
print (response.url)# 查看响应内容response.text 返回的是Unicode格式的数据
print(response.text)输出结果如下
200
UTF-8
https://www.csdn.com/?spython%E6%95%99%E7%A8%8B... 其他内容...post() 方法可以发送 POST 请求到指定 url一般格式如下
requests.post(url, data{key: value}, json{key: value}, args)url 请求 url。data 参数为要发送到指定 url 的字典、元组列表、字节或文件对象。json 参数为要发送到指定 url 的 JSON 对象。args 为其他参数比如 cookies、headers、verify等。
实例
# 导入 requests 包
import requests# 发送请求
x requests.post(https://www.csdn.com/try/ajax/demo_post.php)# 返回网页内容
print(x.text)输出结果如下
p stylecolor:red;本内容是使用 POST 方法请求的。/pp stylecolor:red;请求时间
2022-05-26 17:30:47/ppost 请求带参数
实例
# 导入 requests 包
import requests# 表单参数参数名为 fname 和 lname
myobj {fname: csdn,lname: Boy}# 发送请求
x requests.post(https://www.csdn.com/try/ajax/demo_post2.php, data myobj)# 返回网页内容
print(x.text)输出结果如下
p stylecolor:red;你好csdn Boy今天过得怎么样/p