Fork me on GitHub

数据类型之数字

一、基础

Python中数据类型主要分为以下几类:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

数字当中包含:

  • int
  • float
  • bool
  • complex
>>> a = 10
>>> type(a)
<class 'int'>
>>> b = 10.2
>>> type(b)
<class 'float'>
>>> c = True
>>> type(c)
<class 'bool'>
>>> d = 2 + 3j
>>> type(d)
<class 'complex'>

数字类型之间是可以运算的,比如:

>>> 3 + 2
5
>>> 3.6 - 1
2.6
>>> True + 10
11

看到这个应该知道为什么bool类型也被归于整数了吧,True和1是等价的,False和0之间是等价的。

另外就是说明一下除法、整除、取余(画图说明)

>>> 6 / 4
1.5
>>> 6 // 4
1
>>> 6 % 4
2

其实,Python中还支持其它的数字类型,比如Decimal(完全精确的,可用于金钱的计量)、Fraction(分数),后面如果碰到了再详细说明,先有个印象。

详情参考:官网

二、格式化输出

  • 整数
>>> a = 10
>>> print("%d"%a)
10
  • 浮点数
>>> a = 10.2
>>> print("%d"%a)
10
>>> print("%f"%a)
10.200000
>>> print("%.1f"%a)
10.2

三、类型转换

内置函数:https://docs.python.org/zh-cn/3.10/library/stdtypes.html#typesnumeric

int(x) 将 x 转换为整数

float(x) 将 x 转换为浮点数

complex(re, im) 一个带有实部 re 和虚部 im 的复数。im 默认为0。

所以可以直接定义数据,自己推导出类型,也可以通过内置函数创建数据类型。

>>> a = int(3)
>>> a
3
>>> b = float(10)
>>> b
10.0

四、案例

计算任意一个三数字的个位、十位、百位的平方和。比如:327

3的平方 + 2的平方 + 7的平方

>>> a = 327
>>> x = 327 // 100
>>> x
3
>>> y = (a - x * 100)
>>> y = (a - x * 100) // 10
>>> y
2
>>> z = (a - x * 100 - y * 10)  # 相当于 a % 10
>>> z
7
>>> x**2 + y**2 + z**2
62

扩展:任意位数的数字

五、不可变类型

# 地址不同,是不可变的数据类型
>>> a = 5
>>> id(a)
140737203808160
>>> a = 6
>>> id(a)
140737203808192
posted @ 2023-01-13 16:03  iveBoy  阅读(2)  评论(0)    收藏  举报
TOP