在编程中如何使用数字-python

数字

在编程中,经常使用数字来记录游戏得分、表示可视化数据、存储Web应用信息等。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还支持运算次序,因此你可在同一个表达式中使用多种运算。你还可以使用括号来修改运算次序,让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)

你可能认为,上述代码会打印一条简单的生日祝福语:Happy 23rd birthday!。但如果你运行这些代码,将发现它们会引发错误:

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)

这样,Python就知道你要将数值23转换为字符串,进而在生日祝福消息中显示字符2和3。经过上述处理后,将显示你期望的消息,而不会引发错误:

Happy 23rd Birthday!

大多数情况下,在Python中使用数字都非常简单。如果结果出乎意料,请检查Python是否按你期望的方式将数字解读为了数值或字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

越努力越幸运@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值