打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
《Python核心编程》数字类型

  • from http://blog.csdn.net/u012162613/article/details/44286655

1、数字类型简介


  • Python中数字类型包括:整型、长整型、布尔型、双精度浮点型、十进制浮点型、复数。这些数字类型都是不可变类型,也就是说,改变了数字的值会生成新的对象。
  • 在Python中删除数字对象,可以用语句:del aInt,aLong,aFloat,aComplex


2、整型

  • 布尔型

    取值范围只有两个值,True和False。它们在数学运算中对应1和0.

    对于值为0的任何数字或空集(空列表、空元组、空字典等)在Python中的布尔值都是False。

  • 长整型

    在其他编程语言中,比如C++中,int占用了32位,long int则取决于机器字长,long long int为64位。而在Python中,标准整型一般也是占用32位,但是如果在64位机器上用64位的编译器编译Python,则整型占用64位。

    Python中长整型可以支持的范围很大,仅仅取决机器支持的虚拟内存大小。长整型的声明:直接在数字后加L:12345L

    Python中整型与长整型逐渐统一为一种,所以使用时不用去关心整型还是长整型。



3、双精度浮点型

Python中的浮点型类似C中的double型,是双精度浮点型,占用64位。



4、复数

Python中的复数类型规定:

  • 复数由实数部分和虚数部分构成:real + imagj
  • 虚数部分不能单独存在,必须与0.0的实数部分一起构成复数
  • 实数部分real和虚数部分imag都是浮点类型。
  • 复数类型有三个内建属性: real、imag、conjugate(返回共轭复数)
>>> aComplex = 1.0 + 2.0j>>> aComplex.real1.0>>> aComplex.imag2.0>>> aComplex.conjugate()(1-2j)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7


5、操作符

自动类型转换

当对两个不同类型的数进行操作时,Python会自动进行类型转换。基本的原则就是:整型转换为浮点型,非复数转换为复数。


真正的除法 vs 地板除

现在Python的版本中调用除号“/”,执行的都是真正的除法:

>>> 1/20.5>>> 1.0/2.00.5
  • 1
  • 2
  • 3
  • 4

另外还有一种除法叫做地板除,它不管操作数为何种类型,总是舍去小数部分,可以通过符合“//”实现:

>>> 1.0//2.00.0
  • 1
  • 2

冪运算

通过操作符 ** 实现,注意各种符号的优先级,或者直接通过括号()消除优先级带来的歧义:

>>> -2**4-16>>> (-2)**416
  • 1
  • 2
  • 3
  • 4

位操作符

Python整型支持标准位运算:取反 ~ 、按位与 & 、按位或 | 、按位异或^ 、左移<< 、右移>>



6、工厂函数

  • 标准类型函数如cmp()、str()、type()
  • 数字类型函数
    • 转换工厂函数:int()、long()、float、conplex()
    • 功能函数:
      • abs(num),返回绝对值
      • corece(num1,num2)将num1、num2转换为同类型,然后以元组形式返回
      • divmod(num1,num2),返回(num1/num2,num1%num2)
      • pow(num1,num2),实现num1**num2
      • round(flt,ndig=0),对浮点数flt四舍五入,保存ndig位小数,默认为0。
  • 仅用于整型的函数
    • 进制转换函数,oct()、hex()
    • ASCII转换函数
      • chr()接受一个单字节整型值,返回对应的字符
      • ord()接受一个字符,返回对应的整型值
>>> chr(97)'a'>>> ord('a')97
  • 1
  • 2
  • 3
  • 4


7、相关模块

  • decimal 十进制浮点运算类 Decimal
  • array 高效数值数组
  • math/cmath 标准C库数学运算函数,常规数学运算在math中,复数运算在cmath中
  • operator 数学操作符的函数实现,比如 operator.sub(2,1)相当于2-1
  • random 多种伪随机数生成器
>>> import operator>>> operator.sub(2,1)1>>> import random>>> random.randint(0,10)3>>> random.randint(0,10)7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8


转载请注明出处:http://blog.csdn.net/u012162613/article/details/44286655

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Python学习笔记《Python核心编程》第5章 数字
Python 基础(三):我是一个数字
Python数字类型有哪些?
Python变量与数据类型的解析
一篇文章带你弄懂Python基础 之进制和数据类型
“让你能与电脑说话”,python数据类型(1)——python自动办公3
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服