Python sys和math模块

sys模块

sys常用的有:

sys.argv

命令行参数List,第一个元素是程序本身路径
sys.modules.keys()

返回所有已经导入的模块列表
sys.exc_info()

获取当前正在处理的异常类,exc_typeexc_valueexc_traceback当前处理的异常详细信息
sys.exit(n)

退出程序,正常退出时exit(0)
sys.hexversion

获取Python解释程序的版本值,16进制格式如:0x020403F0
sys.version

获取Python解释程序的版本信息
sys.maxunicode

最大的Unicode
sys.modules

返回系统导入的模块字段,key是模块名,value是模块
sys.path

返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform

返回操作系统平台名称
sys.stdout

标准输出
sys.stdin

标准输入
sys.stderr

错误输出
sys.exc_clear()

用来清除当前线程所出现的当前的或最近的错误信息
sys.exec_prefix

返回平台独立的python文件安装的位置
sys.byteorder

本地字节规则的指示器,big-endian平台的值是’big’,little-endian平台的值是’little’
sys.copyright

记录python版权相关的东西
sys.api_version

解释器的C的API版本
sys.version_info

Python解释器的版本信息
sys.displayhook(value)

如果value非空,这个函数会把他输出到sys.stdout,并且将他保存进__builtin__..指在python的交互式解释器里,’_'代表上次你输入得到的结果,hook是钩子的意思,将上次的结果钩过来
sys.getdefaultencoding()

返回当前你所用的默认的字符编码格式
sys.getfilesystemencoding()

返回将Unicode文件名转换成系统文件名的编码的名字
sys.setdefaultencoding(name)

用来设置当前默认的字符编码,如果name和任何一个可用的编码都不匹配,抛出LookupError,这个函数只会被site模块的sitecustomize使用,一旦别site模块使用了,他会从sys模块移除
sys.builtin_module_names

Python解释器导入的模块列表
sys.executable

Python解释程序路径
sys.getwindowsversion()

获取Windows的版本
sys.stdin.readline()

从标准输入读一行,sys.stdout.write("a")

屏幕输出a

math 模块

math模块的函数如下:

0,常量

math.pi

π = 3.141592…
math.e

e = 2.718281…

1,数值计算函数

math.ceil(x)

返回≥x的最小整数
math.floor(x)

返回≤x的最大整数
math.copysign(x,y)

返回与y同号的x值
math.fabs(x)

返回x的绝对值
math.factorial(x)

返回x的阶乘,即x!,x必须为非负整数
math.fmod(x,y)

返回x对y取模的余数(x决定余数符号),与x%y不同(y决定余数符号)
例:

     math.fmod(100, -3)   -->  1.0
      math.fmod(-100, 3)   --> -1.0
      100 % -3    -->    -2
     -100 %  3    -->     2

math.frexp(x)

返回元组(m,e),根据

x = m*(2**e)
math.fsum(iterable)

返回数组的和,比内置函数sum要精确
math.isfinite(x)

若x是有限数,返回True
math.isinf(x)

若x是无穷大,返回True
math.isnan(x)

若x非数,返回True
math.ldexp(x,i)

返回x*(2**i)的结果
math.modf(x)

返回元组(fractional,integer),分别为x的小数部分和整数部分
math.trunc(x)

返回x的整数部分

2,乘方/对数函数

math.exp(x)

返回e**x
math.expm1(x)

返回e**x - 1
math.log(x[,base])

返回x的对数,base默认的是e
math.log1p(x)

返回x+1的对数,base是e
math.log2(x)

返回x关于2的对数
math.log10(x)

返回x关于10的对数
math.pow(x,y)

返回x**y
math.sqrt(x)

返回x的平方根

3,三角函数

math.sin(x)

返回x的正弦,x用弧度制表示
math.cos(x)

返回x的余弦
math.tan(x)

返回x的正切
math.asin(x)

返回x的反正弦,结果用弧度制表示
math.acos(x)

返回x的反余弦
math.atan(x)

返回x的反正切
math.atan2(y,x)

返回atan(y/x)
math.hypot(x,y)

返回sqrt(x*x + y*y)

4,角度,弧度转换函数

math.degrees(x)

弧度 –> 角度
math.radians(x)

角度 -> 弧度

5,双曲线函数

math.acosh(x)

返回x的反双曲余弦
math.asinh(x)

返回x的反双曲正弦
math.atanh(x)

返回x的反双曲正切
math.cosh(x)

返回x的双曲余弦
math.sinh(x)

返回x的双曲正弦
math.tanh(x)

返回x的双曲正切

6,特殊函数

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

math.erf(x)

Return the error function at x.
math.erfc(x)

Return the complementary error function at x
math.gamma(x)

Return the Gamma function at x.
math.lgamma(x)

Return the natural logarithm of the absolute value of the Gamma function at x.

collections模块

Python拥有一些内置的数据类型,比如str,int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型:

  1. namedtuple 生成可以使用名字来访问元素内容的tuple子类
  2. deque 双端队列,可以快速的从另外一侧追加和推出对象
  3. Counter 计数器,主要用来计数
  4. OrderedDict 有序字典
  5. defaultdict 带有默认值的字典

heapq模块

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

这个模块(build-in)实现了一个堆的数据结构,完美的解决了Top-K问题,以后解决Top-K问题的时候,直接把这个模块拿来用就可以了
注意,默认的heap是一个小顶堆!

heapq模块提供了如下几个函数:

heapq.heappush(heap, item)把item添加到heap中(heap是一个列表)
heapq.heappop(heap)

把堆顶元素弹出,返回的就是堆顶
heapq.heappushpop(heap, item)

先把item加入到堆中,然后再pop,比heappush()再heappop()要快得多
heapq.heapreplace(heap, item)先pop,然后再把item加入到堆中,比heappop()再heappush()要快得多
heapq.heapify(x)将列表x进行堆调整,默认的是小顶堆
heapq.merge(*iterables)将多个列表合并,并进行堆调整,返回的是合并后的列表的迭代器
heapq.nlargest(n, iterable, key=None)

返回最大的n个元素(Top-K问题)
heapq.nsmallest(n, iterable, key=None)返回最小的n个元素(Top-K问题

你可能感兴趣的:(Python sys和math模块)