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问题

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容