Python 学习#3 数值对象及其使用

本文介绍了Python中的数字类型,包括整型、浮点数、复数。详细讲解了数字对象的创建、更新(实际上是重新赋值)、删除。还讨论了数字的运算符,特别是Python中的除法运算和幂运算。此外,提到了Python中的数字内建函数如int(), float(), abs()等,以及相关模块如decimal、array、math和random。" 122781940,11060075,动态规划解决序列优化问题,"['算法', '动态规划']
摘要由CSDN通过智能技术生成

数字

数字类型

在前一章讲过,数字是不可更改的类型,也就是说变更数字会生成新的对象
python中支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点型和复数。

  • 如何创建数字对象?
    • x=1; y=2.2
  • 如何更新数字对象?
    • 因为数字是不可更改的类型,所以实际上是无法更新该数字对象的值,所谓的更新是指重新赋值时生成的新的数值对象,并得到它的引用。
  • 如何删除数字对象?
    • 数字对象实际是无法删除的,能删除的仅仅是所创建的引用(通过del语句)。
整型

python中可以表示整数的类型包括:布尔型、整型、长整型(长整型所表示的数值大小远超过C语言中的长整型)。

  • 布尔型:True(1)/False(0)
  • 标准整数类型:在32位机器上的范围通常是-231 ~ 231 -1。例如0101、10、1024、-1、0x80。
  • 长整型:在python中,长整型所取值的范围是根据机器支持的虚拟内存的大小决定的。例如2997924581、16348L。
双精度浮点数

类似于其他语言中的double类型,可以用直接的十进制或者科学计数法表示。浮点数通常包含一个小数点和一个可选的e表示指数。例如0.0、1.5、4.2e25、5.8E-10。

复数

复习一下数学中的概念,复数是由一个实数和一个虚数组成,一个复数是一对有序浮点数(x,y)表示为x+yj。使用type函数查看时为<class ‘complex’>。

  • 在python中虚数需要有后缀j或者J。
  • 对于复数对象,python中几种内建函数:
    • real:返回实部
    • imag:返回虚部
    • conjugate():返回该复数的共轭复数(实部相等,虚部互为相反数)
num=2+3j
real=num.real	#2
imag=num.imag	#3
conj=num.conjugate()	#2-3j
运算符

由于数字对象有不同的类型,所以python会对不同类型数字使用不同类型的运算,这是一种重载思想的体现。
但当两个数字对象类型不同时,例如浮点数与整数进行运算,python将会强制的将两个数转为同一类型再进行运算。这个转换遵循以下规则

  • 如果有一个操作数为复数,则另一个数转为复数。
  • 否则,如果一个操作数为浮点数,则另一个数转为浮点数。
  • 否则,如果一个操作数为长整型,则另一个数转为长整型。
  • 否则,两者必然都是普通整数,无需转换。

python中大多数运算符与其他语言中相等,其中有两个运算符需要注意:

  • 幂运算**:在Python中幂运算通过** 符号来进行,例如2**3=8。幂运算符比其左侧操作数的一元运算符优先级高,比其右侧低。
  • 除法运算:在C/C++中,除法运算/通常表示向下取证(地板除),即5/2=2。而在python中除法与地板除是两种运算:
    • /表示真正的除法,即5/2=2.5
    • //表示地板除,即5/2=2
    • 在python解释器中,可以通过设置Qdivision_style来改变是否启用这种新的除法运算方式(默认开启)。
  • python中同样支持位运算:
    • ~按位取反,按位与&,按位或|,按位异或^,左移<<,右移>>。
数字对象的内建函数

在上一节所学习的str()、cmp()、type()适用于所有标准类型。对于python数字对象,有以下几种内建函数

  • 转换函数
    • int()
    • complex()
    • long()
    • bool()
    • float()
  • 功能函数
    • abs():求绝对值
    • coerce():手动的类型转换函数,输入两个不同类型的参数,将返回包含转换完成的两个数的元组,转换遵循上一小节的规定。
    • divmod():除法+求余,所返回的结果包含商和余数组成的元组。
    • pow():幂运算,与C++中类似
    • round():对浮点数进行四舍五入,第一个参数为浮点数,第二个参数为小数位数(可选)。
  • 进制转换函数:仅整数可用
    • oct():转8进制
    • hex():转16进制
  • ASCII码转换函数:
    • ord():字符到整数
    • chr():整数到字符
数字对象相关的模块
  • decimal:十进制浮点数
  • array:高效数值数组
  • math:数学运算函数
  • operator:数字运算符的函数实现,例如sub()
  • random:多种伪随机数生成器关于random的更多用法
    • randrange()
    • random()
    • random.uniform(1.50):随机浮点数
    • random.randint(1,50):随机整数
    • random.choice(“str”):随机字符

下一章将学习python中的容器对象及其使用。第四章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值