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

[经验分享] python数字类型

[复制链接]

尚未签到

发表于 2018-8-5 12:05:06 | 显示全部楼层 |阅读模式
  在python中,数据采用了对象的形式(无论是python内置对象还是使用python工具和像C语言自行创建的对象)。
  Python数字类型工具:

  •   整数和浮点数
  •   复数
  •   固定精度的十进制数
  •   有理分数
  •   集合
  •   布尔类型
  •   无穷的整数类型
  •   各种数字内置函数和模块
  python数字类型在程序中的显示方式之一是作为常量(还有一个是调用模块使用函数):
  数字            常量
  12,-12      整数
  1.23            浮点数
  0o177,0x9ff,0b0000100 八进制、十六进制、二进制
  3+4j            复数
  内置数学工具和扩展:
  表达式操作符
  +-*/>>**&
  内置数学函数
  pow,abs,round,int等
  公共模块
  random,math等
  表达式是大多数数字类型的基本工具。
  在实际应用中的数字:
  变量和基本的表达式
  变量和对象不一样,无需声明
  变量在给它第一次赋值时创建
  变量在表达式中使用将被替换为他们的值
  变量在表达式中使用时需要先赋值,否则会报错。
  常用表达式1、简单加减乘除:
  >>> a=4
  >>> b=5
  >>> a+b,a-b
  (9, -1)
  >>> a*3,b/2
  (12, 2.5)
  >>> a%3,b**2
  (1, 25)
  >>> a<b
  True
  >>> a>b
  False
  >>> a==b
  False
  常用表达式二、除法:真除法、Floor除法
  x/y:在python3.0中是真除法,无论任何类型都会保留小数部分。
  >>> 5/1
  5.0
  >>> 9/3
  3.0
  x//y:截掉余数并针对数字类型保留类型
  >>> 5//3
  1
  >>> 9//2
  4
  >>> 5.0//3
  1.0
  >>> 5//2.0,5//-2.0
  (2.0, -3.0)
  整数精度,在python3.0中整数可以使用无穷的长度,只要内存足够大。
  常用表达式三、十六进制、八进制、二进制计数
  >>> 0o7,0o11,0o377
  (7, 9, 255)
  >>> 0x01,0xF,0xFF
  (1, 15, 255)
  >>> 0b1,0b1000,0b11111111
  (1, 8, 255)
  >>> oct(64),hex(64),bin(64) 将十进制转换为八进制、十六进制、二进制函数
  ('0o100', '0x40', '0b1000000')
  int函数将一个数字字符串变换成一个整数,第二个数字是指定的数字的进制。
  >>> int('64'),int('100',8),int('40',16),int('1000000',2)
  ( 64, 64, 64, 64)
  常用表达式四、复数
  >>> 2+2j
  (2+2j)
  以上介绍了核心数据类型:整数、浮点、复数,他们是通过常量表达式创建的,接下来介绍其他数据类型。
  1、小数数字,是通过导入模块调用函数后创建的,使用小数数字有固定的精度浮点值。
  >>> from decimal import Decimal
  >>> Decimal('0.2')+Decimal('0.01')
  Decimal('0.21')
  a、设置全局精度
  >>> import decimal
  >>> decimal.Decimal(1)/decimal.Decimal(7)
  Decimal('0.1428571428571428571428571429')
  >>> decimal.getcontext().prec=4                       #通过调用decimal模块的getcontext函数指定保留小数位数,来指定精度
  >>> decimal.Decimal(1)/decimal.Decimal(7)
  Decimal('0.1429')
  b、设置临时精度
  >>> import decimal
  >>> decimal.Decimal('1.00')/decimal.Decimal('7.00')
  Decimal('0.1428571428571428571428571429')
  >>> with decimal.localcontext() as ctx:              #通过调用decimal模块的localcontext函数临时保留小数位数
  ...  ctx.prec=2
  ...  decimal.Decimal('1.00')/decimal.Decimal('7.00')
  ...
  Decimal('0.14')
  >>> decimal.Decimal(1)/decimal.Decimal(7)
  Decimal('0.1428571428571428571428571429')
  2、分数类型(fraction)
  类似小数数字,也是通过模块的导入后函数创建。
  >>> from fractions import Fraction
  >>> x=Fraction(1,4)
  >>> x
  Fraction(1, 4)
  >>> print(x)
  1/4
  也可以通过浮点数创建
  >>> Fraction(.25)
  Fraction(1, 4)
  >>> Fraction('.25')
  Fraction(1, 4)
  3、集合
  集合是无序的且不会将键匹配到值,既不是序列也不是映射类型。使用内置函数set来创建集合类型。
  注:一个项只能在集合中出现一次。最重要的一个使用原因。。
  >>> set('sspa')
  {'a', 's', 'p'}
  以下是创建集合的方式:
  通用方式
  >>> x=set('abcde')
  >>> y=set('efghj')
  >>> x,y
  ({'e', 'b', 'd', 'c', 'a'}, {'j', 'f', 'h', 'e', 'g'})
  >>> x-y
  {'c', 'd', 'a', 'b'}
  >>> x|y
  {'j', 'f', 'h', 'e', 'b', 'd', 'g', 'c', 'a'}
  >>> x&y
  {'e'}
  3.0的添加方式:
  >>> set([1,2,3,4])
  {1, 2, 3, 4}
  >>> set(['spam'])
  {'spam'}
  >>> set('spam')
  {'m', 'a', 's', 'p'}
  >>> set()                    #空集合必须使用set创建
  set()
  >>>
  4、布尔型
  true和false

运维网声明 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-546983-1-1.html 上篇帖子: 01-python简介 下篇帖子: Python之is与==的区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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