python cookbook 2 数字 日期 时间(2)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python cookbook 2 数字 日期 时间(2),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3073字,纯文字阅读大概需要5分钟。
内容图文
![python cookbook 2 数字 日期 时间(2)](/upload/InfoBanner/zyjiaocheng/1322/c79c5b72b9ea482c997f7d403b9b4c77.jpg)
5.字节到大整数的转换
#拥有128位长的16个元素的字节字符串。 >>> data = b‘\x00\x124V\x00x\x90\xab\x00\xcd\xef\x01\x00#\x004‘ >>> len(data) 16 将bytes解析为整数,使用 int.from_bytes() 方法 #仅使用与python3 #字节顺序规则(little或big)仅仅指定了构建整数时的字节的低位高位排列方式。 >>> int.from_bytes(data, ‘little‘) 69120565665751139577663547927094891008 >>> int.from_bytes(data, ‘big‘) 94522842520747284487117727783387188 >>> 将一个大整数转换为一个字节字符串,使用 int.to_bytes() 方法,并像下面这样指定字节数和字节顺序: >>> x=94522842520747284487117727783387188 >>> x.to_bytes(16,‘big‘) b‘\x00\x124V\x00x\x90\xab\x00\xcd\xef\x01\x00#\x004‘ >>> x.to_bytes(16,‘little‘) b‘4\x00#\x00\x01\xef\xcd\x00\xab\x90x\x00V4\x12\x00‘ >>> 使用 int.bit_length() 方法来决定需要多少字节位来存储这个值 >>> x=94522842520747284487117727783387188 >>> x.bit_length() 117
6.复数的数学运算
复数可以用使用函数 complex(real, imag)
或者是带有后缀j的浮点数来指定
>>> a = complex(2, 4) >>> b= 3-5j >>> a (2+4j) >>> b (3-5j) 对应的实部、虚部和共轭复数 >>> a.real 2.0 >>> a.imag 4.0 >>> a.conjugate() (2-4j) 所有常见的数学运算都可以工作 >>> a+b (5-1j) >>> a-b (-1+9j) >>> a/b (-0.4117647058823529+0.6470588235294118j) >>> abs(a) 4.47213595499958 执行其他的复数函数比如正弦、余弦或平方根,使用cmath模块 >>> import cmath >>> cmath.sin(a) (24.83130584894638-11.356612711218173j) >>> cmath.cos(a) (-11.36423470640106-24.814651485634183j) >>> cmath.exp(a) (-4.829809383269385-5.5920560936409816j) Python的标准数学函数确实情况下并不能产生复数值 >>> import math >>> math.sqrt(-1) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: math domain error >>> import cmath >>> cmath.sqrt(-1) 1j
7.无穷大与NaN
创建或测试正无穷、负无穷或NaN(非数字)的浮点数
>>> a = float(‘inf‘) >>> b = float(‘-inf‘) >>> c = float(‘nan‘) >>> a inf >>> b -inf >>> c nan 使用 math.isinf() 和 math.isnan() 函数检测 >>> math.isinf(a) True >>> math.isnan(c) True >>> math.isinf(b) True 无穷大数在执行数学计算的时候会传播 >>> a+45 inf >>> a*10 inf >>> 10/a 0.0 有些操作时未定义的并会返回一个NaN结果。 >>> a/a nan >>> a+b nan NaN值会在所有操作中传播,而不会产生异常。 >>> c+11 nan >>> c/3 nan >>> c*3 nan NaN值的一个特别的地方时它们之间的比较操作总是返回False。 >>> d=float(‘nan‘) >>> c==d False >>> c is d False 由于这个原因,测试一个NaN值得唯一安全的方法就是使用 math.isnan()
8.分数运算
fractions模块可以被用来执行包含分数的数学运算。
>>> from fractions import Fraction >>> a =Fraction(5,4) >>> b = Fraction(7, 16) >>> a Fraction(5, 4) >>> b Fraction(7, 16) >>> print a+b 27/16 >>> print a*b 35/64 取分子分母 >>> c= a*b >>> c.numerator 35 >>> c.denominator 64 换算成小数 >>> float(c) 0.546875 限制分母 >>> c.limit_denominator(8)#分母不超过8的最接近的分数 Fraction(4, 7) float转换为分数 >>> x=1.75 >>> y = Fraction(*x.as_integer_ratio()) >>> y Fraction(7, 4)
原文:http://my.oschina.net/u/1409733/blog/489915
内容总结
以上是互联网集市为您收集整理的python cookbook 2 数字 日期 时间(2)全部内容,希望文章能够帮你解决python cookbook 2 数字 日期 时间(2)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。