![Python数据整理](https://wfqqreader-1252317822.image.myqcloud.com/cover/51/32436051/b_32436051.jpg)
上QQ阅读APP看书,第一时间看更新
2.2.3 Lambda表达式
练习18:用Lambda表达式证明三角恒等式
在这个练习中,我们将使用Lambda表达式来证明著名的三角恒等式(见图2-3)。
![](https://epubservercos.yuewen.com/63BD11/17517093106688706/epubprivate/OEBPS/Images/t2-3.jpg?sign=1738893350-dSPJf3CkoOk0Q9ZH6MvXfNaqBAIFV73d-0-e3620e85ad896e0787605f0e50cc2303)
图2-3 三角恒等式
1.导入math包:
![](https://epubservercos.yuewen.com/63BD11/17517093106688706/epubprivate/OEBPS/Images/029-i.jpg?sign=1738893350-Dfb9exyjawz4rbfrQKhL89g1Rx1yzxYe-0-642d25d4e1191fbaa577b26c18c905b7)
2.定义两个函数my_sine和my_cosine。声明这两个函数的原因是,math包中的原始sin和cos函数将弧度作为输入,但我们更熟悉角度。所以,我们使用Lambda表达式定义一个无名称的单行函数,该函数自动将输入的角度转换为弧度,然后对其应用sin或cos函数并返回值:
![](https://epubservercos.yuewen.com/63BD11/17517093106688706/epubprivate/OEBPS/Images/029-2-i.jpg?sign=1738893350-4Rm94bvH0fGL4b7yuDiw5XOp8dORNbtk-0-c5e8360d1093049274a931d855e1e725)
3.根据我们的目的定义sine和cosine:
![](https://epubservercos.yuewen.com/63BD11/17517093106688706/epubprivate/OEBPS/Images/029-3-i.jpg?sign=1738893350-IpV1aBFo68tAqx2dgLyJ8XCW7o008Ujt-0-bf90fbc46b67d31531b88cc70c1e3b93)
输出如下:
![](https://epubservercos.yuewen.com/63BD11/17517093106688706/epubprivate/OEBPS/Images/029-4-i.jpg?sign=1738893350-6NpET3iqFQNKuZJQhuLkZ9LzJeb2h7HJ-0-7b294a338e11f7230e37c4d7f8b7d785)
需要注意的是,我们已经将my_sine和my_cosine的返回值赋给了两个变量,然后将它们直接用作函数。这是一种比直接使用它们更简洁的方法。另外,我们没有在Lambda函数内显式写入return语句。