python整数类型-Python整数类型及其运算

在 Python 3 中用 int 来表示整数类型。和C语言、Java 语言不同,这里的整数型数据是没有大小限制的,其在内存中所占的空间是不固定的。

例如,如果用 32 位表示一个整数,那么其能够表示的最大值为 4 294 967 295;如果使用 64 位来表示一个整数,那么其能够表示的最大值为 18 446 744 073 709 551 615。但是在 Python 3 中,没有任何限制,所以也不需要大整数这种特殊数据类型了。

>>> 2 ** 32 – 1 # 32位无符号整数的最大值

4294967295

>>> 2 ** 64 – 1 # 64位无符号整数的最大值

18446744073709551615

>>> a = 2 ** 64 + 100 # 大于64位无符号整数的最大值

>>> type(a) # 查看类型

# 整型

>>> a # 查看值

18446744073709551716

>>> a.bit_length() # 查看需要表达该值所需要的位数

65 # 需要65位整数来表示该值

本节介绍整数的数值运算,包括加、减、乘、除和幂运算等,这也是整型数据的最基本用法。

1. 四则运算(+-*/)

可以对两个整数进行加、减、乘、除操作。下面的例子演示了这4种基本操作的结果。

>>> 1+2 # 加法运算

3 # 结果为3

>>> 1-2 # 减法运算

4 -1 # 结果为-1

>>> 200-32 # 减法运算

168 # 结果为168

>>> 2*-9 # 乘法运算

8 -18 # 结果为-18

>>> 12/4 # 除法运算

3 # 结果为3

需要注意的是,在 Python 3 中,如果除法运算不能除尽,那么返回的是浮点数。如 5/2 得到的不是 2,而是 2.5。这与C语言和 Java 语言不同,甚至与 Python 2 也不同。

例如,在 Python 3 中,情况如下:

>>> 12/11 # 除不尽,余数为1

1.0909090909090908 # 结果为小数

>>> 12/7 # 除不尽,余数为5

1.7142857142857142 # 结果为小数

注意,在Python中,如果被除数是负数,那么余数也是负数。例如:

>>> -3/-2 # 除不尽,被除数为-2,余数为-1

1 # 结果为1,而不为2

>>> -3%-2 # 求余数

-1 # 余数为-1而不是1

2. 幂运算(**)

可以用a**b表示a的b次幂,即ab。例如:

>>> 2**2 # 22

4 #

>>> 2**3 # 23

8 #

>>> 3**4 # 34

81 #

3. 得到余数(%)

需要注意的是,如果被除数是整数,那么返回值就是整数;如果被除数是负数,那么返回值就是负数;如果被除数是 0,那么抛出 ZeroDivisionError 异常,表示这是非法操作。例如 :

>>> 12 % 3 # 12除以3的余数

0 # 余数为0

>>> 12 % 5 # 12除以5的余数

2 # 余数为2

>>> 12%-5 # 被除数为-5, 余数也是小于或等于0

-3 # 余数为-3

>>> 5 % 0 # 被除数是0,抛出异常

Traceback (most recent call last):

File "", line 1, in

ZeroDivisionError: integer division or modulo by zero

4. 相反数(-)

相反数是绝对值相同、符号相反的数。如 8 的相反数就是 -8,-8 的相反数就是 8,0 的相反数还是 0。可以通过-来达到取反的目的。

>>> a = 12 # 给a赋值

>>> a # 显示a的值

12

>>> -a # a的相反数

-12

>>> --a # a的相反数的相反数

12

>>> a = 0 # 0的相反数还是0

>>> -a

0

5. 优先级问题

乘除的优先级高于加减。

>>>1+2*3 # 乘除优先级高于加减

7 # 相当于是1+(2*3)

相反数操作符-的优先级高于加减乘除和幂运算。

>>> a=12

>>>-a+4 # 取反操作符“-”优先级高于加减乘除

-8 # 相当于是(-a)+4

>>> -a*4 # 取反操作符-优先级高于加减乘除

-48 # 相当于是(-a)*4

>>> -a**2 # 取反操作符-优先级高于加减乘除

-144 # 相当于是(-a)**2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值