【再回首Python之美】【模块 math】math模块的基本使用

2023-11-01

学好数理化,走遍天下都不怕,所以一定要把Python的math模块学好。

math简介

  math提供两个数学常量和众多数学函数。这俩常量和众多数学函数都是哪些呢?通过dir(math)一看便知。

使用math模块之前,一定要把模块包括进来,告诉编译器我要开始使用math提供的变量和方法了。

import math

math的两个常量

print u"圆周率  math.pi\t= ",math.pi #3.14159265359
print u"自然常数 math.e\t= ",math.e  #2.71828182846

math的众多函数

>>> dir(math)
['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'hypot', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
>>> 

math官方手册地址

 点击进入下面官方math手册页面,里面包含所有的math 属性,工作当中用到时可以查询使用,很是方便。

 https://docs.python.org/2/library/math.html

示例代码

#coding:utf-8
#ex_module_math.py
self_file = __file__ #save current file absulote path

import math

print "\n======dump math type======"
print type(math)    #<type 'module'>

print "\n======dump math attr list======"
print dir(math)
#['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin',
#'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos',
#'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs',
#'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'hypot',
#'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p',
#'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan',
#'tanh', 'trunc']

print "\n======dump math attr dict======"
print math.__dict__
#{'pow': <built-in function pow>,……,'gamma': <built-in function gamma>}

print "\n===normal introduce to function==="
print u"向上取整 math.ceil(1.001) = ",math.ceil(1.001)  #2.0
print u"向上取整 math.ceil(1.999) = ",math.ceil(1.999)  #2.0

print u"向下取整 math.floor(1.001) = ",math.floor(1.001)    #1.0
print u"向下取整 math.floor(1.999) = ",math.floor(1.999)    #1.0

print u"指数运算 math.pow(3,2) = ",math.pow(3,2)    #9.0
print u"指数运算 math.pow(4,2) = ",math.pow(4,2)    #16.0
print u"指数运算 math.pow(5,2) = ",math.pow(5,2)    #25.0

e = math.e
print u"基底为e的对数运算 math.log(e) = ",math.log(e)           #1.0
print u"基底为e的对数运算 math.log(e * e) = ",math.log(e * e)   #2.0
print u"基底为2的对数运算 math.log(4,2) = ",math.log(4,2)       #2.0
print u"基底为2的对数运算 math.log(8,2) = ",math.log(8,2)       #3.0

print u"平方根 math.sqrt(4) = ",math.sqrt(4)   #2.0
print u"平方根 math.sqrt(9) = ",math.sqrt(9)   #3.0
print u"平方根 math.sqrt(16) = ",math.sqrt(16) #4.0

print u"绝对值 math.fabs(+1) = ",math.fabs(+1) #1.0
print u"绝对值 math.fabs(-1) = ",math.fabs(-1) #1.0
print u"绝对值 math.fabs(+2) = ",math.fabs(+2) #2.0
print u"绝对值 math.fabs(-2) = ",math.fabs(-2) #2.0



print u"\n======Angular conversion角度转换======"
#常识 0度(deg)   == 0弧度(rad)
#常识 90度(deg)  == 1.5707964弧度(rad)
#常识 180度(deg) == 3.1415927弧度(rad)

def deg2rad(deg):   #角度转弧度
    return math.radians(deg)

def rad2deg(rad):   #弧度转角度
    return math.degrees(rad)

print "deg2rad(0)\t=",deg2rad(0)        #0.0
print "deg2rad(90)\t=",deg2rad(90)      #1.57079632679
print "deg2rad(180)\t=",deg2rad(180)    #3.14159265359

print u"\n======三角函数======"
#三角函数入参为弧度rad,计算角度的时候,需要先将角度转弧度后计算
print "math.sin(deg2rad(0))\t= ",math.sin(deg2rad(0))   #0.0
print "math.sin(deg2rad(30))\t= ",math.sin(deg2rad(30)) #0.5
print "math.sin(deg2rad(90))\t= ",math.sin(deg2rad(90)) #1.0

print "math.cos(deg2rad(0))\t= ",math.cos(deg2rad(0))    #1.0
print "math.cos(deg2rad(60))\t= ",math.cos(deg2rad(60))  #0.5
print "math.cos(deg2rad(180))\t= ",math.cos(deg2rad(180))#-1.0

print "math.tan(deg2rad(0))\t= ",math.tan(deg2rad(0))   #0.0
print "math.asin(deg2rad(0))\t= ",math.asin(deg2rad(0)) #0.0
print "math.acos(deg2rad(0))\t= ",math.acos(deg2rad(0)) #1.57079632679
print "math.atan(deg2rad(0))\t= ",math.atan(deg2rad(0)) #0.0

print "\n======math's const variable========"
print u"圆周率  math.pi\t= ",math.pi #3.14159265359
print u"自然常数 math.e\t= ",math.e  #2.71828182846

print "\nexit %s" % self_file

编译执行


(end)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【再回首Python之美】【模块 math】math模块的基本使用 的相关文章

  • 在Python中不断寻找用户输入

    我将如何编写一个始终寻找用户输入的 Python 程序 我想我希望有一个等于输入的变量 然后根据该变量的等于值会发生不同的情况 因此 如果变量是 w 那么它将执行某个命令并继续执行 直到收到另一个输入 例如 d 然后会发生不同的情况 但直到
  • UnicodeDecodeError:“utf-8”编解码器无法解码位置 14 中的字节 0xb9:起始字节无效

    我正在使用 Django REST 进行文件上传测试 Python3 6 2Django1 11djangorest框架 3 6 4Excel OSX 15 38 170902 操作系统 10 12 6 过去使用普通照片文件可以成功完成此操
  • 测试交互式Python程序

    我想知道python的哪些测试工具支持交互式程序的测试 例如 我有一个由以下人员启动的应用程序 python dummy program py gt gt Hi whats your name Joseph 我想要仪器Joseph所以我可以
  • Pygame 让精灵按照给定的旋转行走

    很久以前我做了一个Scratch脚本 我想用Pygame将其转换为Python 有很多示例显示图像的旋转 但我想知道如何更改精灵的旋转以使其沿给定方向移动 而不更改图像 这是我的暂存代码 这是我的 Pygame 精灵类 class Star
  • 如何生成大型网站的图形站点地图[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想为我的网站生成图形站点地图 据我所知 有两个阶段 抓取网站并分析链接关系 提取树形结构 生成视觉上
  • 如何在python中确定过去的时区特定日期是否是夏令时?

    有没有办法检查特定时区在我指定的日期是否处于夏令时 test dt datetime year 2015 month 2 day 1 pst pytz timezone America Los Angeles test dt pst loc
  • Pandas 在列级别连接数据帧时添加键

    根据 Pandas 0 19 2 文档 我可以提供keys参数来创建结果多索引 DataFrame 一个例子 来自 pandas 文档 是 result pd concat frames keys x y z 我将如何连接数据框以便我可以在
  • 无法使用 Python 循环分页 API 响应

    所以 我对这个感到摸不着头脑 使用 HubSpot 的 API 我需要获取我客户的 门户 帐户 中所有公司的列表 遗憾的是 标准 API 调用一次只能返回 100 家公司 当它返回响应时 它包含两个参数 使分页响应成为可能 其中之一是 ha
  • Scrapy Splash,如何处理onclick?

    我正在尝试抓取以下内容 我能够收到响应 但我不知道如何访问以下项目的内部数据以抓取它 我注意到访问这些项目实际上是由 JavaScript 和分页处理的 这种情况我该怎么办 下面是我的代码 import scrapy from scrapy
  • 如何使用 ipywidgets 创建动态依赖下拉菜单?

    我创建了一个带有两个下拉菜单的表单 我的目标是使一个下拉列表依赖于另一个下拉列表 这张图说明了我的目标和目前的情况 https i stack imgur com o9k5G png 下面的示例代码可以在 Google Colab 或 Ju
  • python lxml 使用iterparse编辑并输出xml

    我已经在 lxml 库上摆弄了一段时间了 也许我没有正确理解它 或者我错过了一些东西 但我似乎无法弄清楚在捕获某个 xpath 后如何编辑文件并且然后能够在逐个元素解析时将其写回到 xml 中 假设我们有这个 xml 作为示例
  • 将带有 md5 消息摘要和 DESede/CBC/PKCS5Padding 的 3DES 加密的 java 代码转换为 python

    我有这个工作java代码 它使用3DES加密对密码进行加密 import java security MessageDigest import java util Arrays import java util Base64 import
  • 使用 Python 导入包含文本和数字数据的文件

    I have a txt file which has text data and numerical data The first two rows of the file have essential information in te
  • 如何删除 pip 安装的所有软件包?

    如何从当前激活的虚拟环境中卸载 pip 安装的所有软件包 我发现这个片段作为替代解决方案 与重新创建 virtualenv 相比 删除库更加优雅 pip freeze xargs pip uninstall y 如果您通过 VCS 安装了软
  • 如何在自定义 django 命令中抽象出命令代码

    我正在我的应用程序下编写自定义 django 命令management commands目录 目前我在该目录中有 6 个不同的文件 每个文件都有不同的命令来解决独特的需求 然而 有一些实用程序是它们所共有的 抽象出这些公共代码的最佳方法是什
  • 从 python 文件调用 Julia 函数

    我能够创建一个 docker 环境 然后按照这个线程我有一个用 Julia 编写的高性能函数 如何从 Python 中使用它 https stackoverflow com questions 64241264 i have a high
  • datetime strftime 不输出正确的时间戳

    下列 gt gt gt from dateutil parser import parse gt gt gt parse 2013 07 02 00 00 00 0000 datetime datetime 2013 7 2 0 0 tzi
  • Matplotlib:检查空图

    我有一个循环加载并绘制一些数据 如下所示 import os import numpy as np import matplotlib pyplot as plt for filename in filenames plt figure i
  • AES 在 cryptojs 中加密并在 python Crypto.Cipher 中解密

    使用 js CryptoJS 加密并使用 python crypto Cipher 解密时出现问题 这是我在js中的实现 附加 iv 与加密消息并使用 base64 进行编码
  • 如何从 python 中的字符串中删除 ANSI 转义序列

    这是包含我的字符串的片段 ls r n x1b 00m x1b 01 31mexamplefile zip x1b 00m r n x1b 01 31m 该字符串是从我执行的 SSH 命令返回的 我无法使用当前状态下的字符串 因为它包含 A

随机推荐

  • 【Docker安装Yapi完整操作步骤】

    Docker安装Yapi完整操作步骤 建议收藏 一 前言 二 准备工作 2 1 安装Docker 2 2 Docker安装MongoDB数据库 2 3 用Navicat连接一下MongoDB查看是否安装成功 三 Docker安装Yapi 3
  • XCode环境变量及路径设置

    一般我们在xcode里面配置包含工程目录下头文件的时候 都要关联着相对路径和绝对路径 如果只是自己用这个项目 用绝对路径的问题不大 但是如果你把工程发给别人 别人就要在改这个绝对路径 这时候绝对路径的缺点立马出现 所以在修改User Hea
  • elk笔记13--Queries-term-level queries

    elk笔记13 Queries term level queries 1 term level 查询简介 2 term level 查询类型 2 1 exists query 2 2 fuzzy query 2 3 ids query 2
  • 【Linux报错】VM虚拟机的CentOS7系统启动时报Generating /run/initramfs/rdsosreport.txt

    一 场景 因Linux无故关机 重启后报错Generating run initramfs rdsosreport txt 二 解决 1 解决步骤 查看 dev mapper下有什么文件 执行xfs repair 重启 2 具体步骤如下 查
  • 服务器云管理系统设计与开发,服务器云管理系统设计与开发

    服务器云管理系统设计与开发 内容精选 换一换 云硬盘 Elastic Volume Service EVS 可以为云服务器提供高可靠 高性能 规格丰富并且可弹性扩展的块存储服务 可满足不同场景的业务需求 适用于分布式文件系统 开发测试 数据
  • struts2+hibernate+spring整合各个相关的配置文件

    一 先把struts2 struts2 2 1 1版 搭起来 1 先拷struts2的jar包 2 配置web xml
  • PyPI 镜像切换至国内源

    临时使用 pip install i https pypi tuna tsinghua edu cn simple some package 设为默认 确保pip更新至最新版本 python m pip install upgrade pi
  • java----关于Console类的报错

    public class console public static void main String args Console console System console String root console readLine 账户
  • 如何正确应用GNU GPLv3 和 LGPLv3 协议

    文章目录 前言 GNU GPLv3 0 Permissions 许可 Conditions 条件 Limitations 限制 GNU LGPLv3 0 应用GPLv3 0 应用LGPLv3 0 建议的内容 添加文件头声明 附录 GNU G
  • 让更多消费者接受刷脸支付养成刷脸习惯

    扫码支付能够取代现金和刷卡支付 就是基于其便捷的支付体验 消费者只要带上手机 用手机扫码就可以完成支付 免去了许多携带现金或卡的不便 降低了遗失风险 但是扫码支付也是过度依赖了手机这一媒介 在手机忘带和没电的时候 也是束手无策 基于此 刷脸
  • 慢SQL语句优化

    对慢SQL语句优化一般可以按下面几步思路 开启慢查询日志 设置超过几秒为慢SQL语句 抓取慢SQL语句 通过explain查看执行计划 对慢SQL语句分析 创建索引并调整语句 再查看执行计划 对比调优结果 参数 slow query log
  • git版本库创建三部曲(git权威指南笔记)

    1 全局配置 a 告诉git当前用户的姓名和邮箱 git config global user name heaiming git config global user email 576439313 qq com b 设置git命令别名
  • CSS改变layui时间控件不显示秒

    laydate time list gt li last child display none width 0 laydate time list gt li not last child width 50 layui laydate ma
  • Win7系统安装哪个版本的Chrome浏览器

    Win系统安装Chrome浏览器 Win7系统环境 安装Chrome应该尽量考虑2021年发布的浏览器版本 理由如下 Win7版Chrome 续命 到2022年 延长支持6个月 Win7版Chrome 续命 到2022年 90版本Chrom
  • starting switch Root:systemd [1]: Failed to execute /bin/sh, giving up : No such file or directory

    启动centos 卡在starting switch Root starting switch Root systemd 1 Failed to execute bin sh giving up No such file or direct
  • LeetCode第二章链表

    203 移除链表元素 题目链接 203 移除链表元素 给你一个链表的头节点 head 和一个整数 val 请你删除链表中所有满足 Node val val 的节点 并返回 新的头节点 示例 1 输入 head 1 2 6 3 4 5 6 v
  • C++初始化参数列表(类的组合)

    A 类的组合 定义 类的组合就是以另一个的对象为数据成员 注意 要优先使用组合而不是继承 组合表达式的含义一部分的关系 类的组合案例分析 1 类组合包含的类的对象 必须采用初始化参数列表方式调用各自类当中的构造函数去初始化 2 要通过包含的
  • 用户级线程和内核级线程

    用户级线程和内核级线程 根据在用户空间还是在核心实现多线程机制 线程又被分为用户级线程 User Level Thread 和内核级线程 Kernel Level Thread
  • 文件操作【上篇】

    文章目录 1 为什么使用文件 2 什么是文件 2 1 程序文件 2 2 数据文件 2 3 文件名 3 文件的打开和关闭 3 1 文件指针 3 2 文件的打开和关闭 4 文件的顺序读写 4 1 fputc 写文件 4 2 fgetc 读文件
  • 【再回首Python之美】【模块 math】math模块的基本使用

    学好数理化 走遍天下都不怕 所以一定要把Python的math模块学好 math简介 math提供两个数学常量和众多数学函数 这俩常量和众多数学函数都是哪些呢 通过dir math 一看便知 使用math模块之前 一定要把模块包括进来 告诉