python数字

python数字

python整数

加(+)减(-)乘(*)除(/)运算如下:

>>> 2 + 3
5
>>> 3 - 2
1
>>> 2 * 3
6
>>> 3 / 2
1.5

在终端会话中,python直接运算结果,python使用两个乘号表示乘方运算:

>>> 3 ** 2
9
>>> 3 ** 3
27
>>> 10 ** 6
1000000

python还支持运算次序,因此你可在同一个表达式中使用多种运算,还可以使用括号来修改运算次序,让按你指定的次序执行运算,如下:

>>> 2 + 3 * 4
14
>>> (2 + 3) * 4
20

在这些示例中,空格不影响python计算表达式的方式,它们的存在旨在让你阅读代码时,能迅速确定先执行哪部分运算。

浮点数

python将带小数点的数字都称为浮点数。大多数编程语言都使用了这个术语,它指出了这样一个事实:小数点可出现在数字的任何位置。每种编程语言都须细心设计,以妥善的处理浮点数,确保不管小数点出现在什么位置,数字的行为都是正常的。
很大程度上来说,使用浮点数时无需考虑其行为,只需输入要使用的数字,python都会按你期望的方式处理他们

>>> 0.1 + 0.1
0.2
>>> 0.2 + 0.2
0.4
>>> 2 * 0.1
0.2
>>> 2 * 0.2
0.4

需要注意的是,结果包含的小数位数可能是不确定的:

>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004

所有语言都存在这种问题,所以,并不需要担心,python会尽力找到一种方式,以尽可能精确地表示结果,但鉴于计算机内部表示数字地方式,在有些情况下很难,就现在而言,暂时忽略多余的小数位即可。

使用函数str()避免类型错误

我们有时经常需要在消息中使用变量的值。例如,假设你要助人生日快乐,可能会编写类似于下面的代码:
birthday.py

age = 23
message = "Happy " + age + "rd Birthday!"
print (message)

运行结果如下:

Traceback (most recent call last):
	File "birthday.py", line 2, in <module>
		message = "Happy " + age + "rd Birthday!"
	TypeError:can't convert 'int' object to str implicitly

只是一个类型错误,意味着python无法识别你使用的信息。在这个示例中,python发现你使用了一个值为整数(int)的变量,但它不知道该如何解读这个值。python知道,这个变量表示的可能是数值23,也可能是字符2和3。像上面这样在字符串中使用整数时,需要显式地指出你希望python将这个整数用作字符串。为此,可调用函数str(),它让python将非字符串值表示为字符串:

age = 23
message = "Happy " + str(age) + "rd Birthday!"

print (message)

运行结果如下:

Happy 23rd Birthday!

python 2中的整数

在python 2 中,将两个整数相除得到的结果稍有不同:

>>> python 2.7
>>> 3 / 2
1

python返回的结果为1,而不是1.5.在python 2中,整数除法的结果只包含整数部分,小数部分被删除。请注意,计算整数结果时,采取的方式不是四舍五入,而是将小数部分直接删除。
在python 2中,若要避免这种情况,务必确保至少有一个操作数为浮点数,这样结果也将为浮点数:

>>> 3 / 2
1
>>> 3.0 / 2
1.5
>>> 3 / 2.0
1.5
>>> 3.0 / 2.0
1.5

从python 3转而用python 2或从python 2转而用python 3时,这种除法行为常常令人迷惑,使用或编写浮点数代码时,一定要注意这种异常行为。

python之禅

python社区的理念都包含在TimPeter撰写的“python”之禅中。要获得相关指导原则,在解释器中输入命令import this.

>>> import this
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值