Python数学三角函数
Python作为一种多功能的编程语言,也常用于数学领域的计算。在数学中,三角函数是非常基础的一种函数,特别是在计算机图形学领域经常用到。Python提供了内置的三角函数模块math,让我们可以很方便地进行三角函数计算。
三角函数是一种周期函数,对于横坐标的每个变化周期,其函数值都会有重复的变化周期。 三角函数公式如下:
其中,x和y分别是向量在x和y轴上的投影长度,r是向量的模长。下面我们会一一介绍这些三角函数在Python中的应用。
导入math模块
在Python中使用数学函数,我们需要先导入Python内置的math模块。可以使用import语句导入该模块。具体代码如下:
```Python
import math
```
导入该模块后,我们就可以愉快地使用其中的三角函数啦。
cos函数
Python中的cos函数被定义为 math.cos(x),其中参数x是弧度制的角度,函数的返回值为x的余弦值。余弦值为-1到1之间的实数。
我们可以看下面这个示例代码,其中展示了如何使用cos函数计算角度theta的余弦值:
```Python
import math
theta = 0.5 # 弧度制角度,此时为30度
cos_theta = math.cos(theta) # 计算余弦函数
print(f"Cosine of {theta} is {cos_theta:.2f}") # 输出结果
```
结果输出:
```
Cosine of 0.5 is 0.87
```
sin函数
Python中的sin函数被定义为 math.sin(x),其中参数x是弧度制的角度,函数的返回值为x的正弦值。正弦值为-1到1之间的实数。
下面这个示例代码,展示了如何使用sin函数计算角度theta的正弦值:
```Python
import math
theta = 0.5 # 弧度制角度,此时为30度
sin_theta = math.sin(theta) # 计算正弦函数
print(f"Sine of {theta} is {sin_theta:.2f}") # 输出结果
```
结果输出:
```
Sine of 0.5 is 0.48
```
tan函数
Python中的tan函数被定义为 math.tan(x),其中参数x是弧度制的角度,函数的返回值为x的正切值。正切值可以是任何实数。
下面这个示例代码,展示了如何使用tan函数计算角度theta的正切值:
```Python
import math
theta = 0.5 # 弧度制角度,此时为30度
tan_theta = math.tan(theta) # 计算正切函数
print(f"Tangent of {theta} is {tan_theta:.2f}") # 输出结果
```
结果输出:
```
Tangent of 0.5 is 0.55
```
cot函数
Python中暂时没有自带的cot函数,但是可以用1/tan函数求cot函数的值。感兴趣的读者可以自己尝试实现一下。
csc函数
Python中暂时没有自带的csc函数,但是可以用1/sin函数求csc函数的值。感兴趣的读者可以自己尝试实现一下。
sec函数
Python中暂时没有自带的sec函数,但是可以用1/cos函数求sec函数的值。感兴趣的读者可以自己尝试实现一下。
爬虫入门教程
网络爬虫是一种程序式获取网络数据的方法,是第四代搜索引擎和数据挖掘的重要工具。爬虫的实现过程可以分为四步:
1. 发送请求,并得到网页源代码;
2. 解析源代码,提取所需要的数据;
3. 存储数据;
4. 循环1-3步,直到目标网站全部爬完。
以下是爬虫入门的过程。
1. 导入requests模块
通过requests模块,我们可以发起请求来获取网页的源代码。
```Python
import requests
```
2. 发送请求,获取HTML内容
我们可以使用requests.get()方法来发送HTTP请求,该方法返回一个响应对象,该对象的.text属性就是HTML源代码。
```Python
import requests
response = requests.get("https://www.baidu.com")
html = response.text
print(html)
```
3. 解析HTML代码
爬取到源码后,我们需要用特定的方法来解析HTML,从而获取想要的数据。比较常用的两个库是beautifulsoup4和lxml。
使用beautifulsoup4进行解析:
```Python
import requests
from bs4 import BeautifulSoup
response = requests.get("https://www.baidu.com")
html = response.text
soup = BeautifulSoup(html, 'lxml')
print(soup.title.string)
```
使用lxml进行解析:
```Python
import requests
from lxml import etree
response = requests.get("https://www.baidu.com")
html = response.text
etree_html = etree.HTML(html)
title = etree_html.xpath("//title/text()")
print(title[0])
```
4. 存储数据
通常用到的存储模块是pymysql和sqlite3,本例使用sqlite3简单存储一下。
```Python
import sqlite3
import requests
from lxml import etree
response = requests.get("https://www.baidu.com")
html = response.text
etree_html = etree.HTML(html)
title = etree_html.xpath("//title/text()")[0]
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
cursor.execute('create table if not exists baidu (title varchar(200))')
cursor.execute(f"insert into baidu (title) values ('{title}')")
conn.commit()
```
至此,我们已经学习了基础的网络爬虫实现过程。在实际中需要注意的是:
1. 不要频繁爬取同一个网站;
2. 爬取的内容必须符合法律法规;
3. 不要使用爬取来进行商业盈利。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复