设为首页 收藏本站
查看: 666|回复: 0

[经验分享] Python的数字类型及其技巧

[复制链接]

尚未签到

发表于 2015-12-1 14:06:47 | 显示全部楼层 |阅读模式
Python中的数字类型
  int
  float
  fractions.Fraction
  decimal.Decimal
数字的舍与入
  int(f):舍去小数部分,只保留整数部分,所以int(-3.8)的结果为-3
  math.trunc(f):同int(f)
  round(f, digits):四舍五入保留digits位小数。
  math.floor(f)
  math.ceil(f)
进行判断
  math.isinf()
  math.isfinite()
  math.isnan()
  float.is_integer()
如何计算幂
  以下3中方法都表示开平方
  math.sqrt(144)
  144**0.5
  pow(144,0.5)
进制转换
  int(s,base):第一个参数为一个表示数字的字符串,第二个参数为进制。int('111',2)表示把二进制字符串'111'转换为整数。
  oct, hex, bin:表示把一个数字转为相应的进制的字符串表示形式,所以结果都是str而不是数字。
  0xfe、0b11111110、0o376和254在Python的内部都是一样的,表示数字254,这几种表示方式对Python而言没有任何差别。而'0xfe'则仅仅是一个字符串,如果需要转为整数需要借助int函数,int('0xfe',16)。
常用模块
math
  用来做一些数学运算
random
  用来生成一些随机数。
  该模块提供了很多的function,特别有用。
  random.random():产生[0,1)之间的随机数
  random.randint(min, max):产生[min, max)之间的随机整数
  random.choice(iterable):从可迭代对象中随机选取一个元素返回。
  random.sample(iterable, k):从iterable中随机选取不重复的k个元素,以数组的形式进行返回。
  random.randrange(start, stop, step):在[start, stop)中以步长step进行步进,随机产生一个元素。
  random.shuffle(l):对序列进行原地随机打乱顺序,返回None。一定要注意这是原地起作用的。
decimal
  如果需要结果是精准的,那么可以使用该模块。
  decimal.Decimal(str):用来创建一个Decimal对象。
  decimal.getcontext().prec=n:设置小数点的位数。
fractions
  如果需要结果是精准的,那么可以使用该模块。
  x=fractions.Fraction(1,3)
  y=fractions.Fraction(0.25)
  z=fractions.Fraction(*(3.25.as_integer_ratio()))

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-145937-1-1.html 上篇帖子: 利用vs2013简单初探Python 下篇帖子: Python初学者的捷径[译]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表