文章目录
初识数字类型
整型 int
- 整型就是整数,0也是整数,但是是一个特殊的整数
- int 既是 整型的代表,同时也是定义整型的内置函数
- 定义一个整型,并不一定非要使用 int 函数,示例如下
# 定义两个变量分别代表50元、100元
money_50 = int(50)
money_100 = 100
输出结果:
为什么不使用 int 函数仍然能输出呢?其实这是我们使用第二种方式的时候,程序已经自动给我们套了一层 int
了,这样就减少了我们书写代码的工作量。除了 int 之外,python 中海油很多的高效语法,这也是python高效开发的原因之一。
浮点型 float
- 浮点型就是我们生活中的小数,凡是带有小数点的类型,都可以被认为是 浮点型
- 在Python中,
float
既是浮点型的代表也是浮点型定义的内置函数 - 同样的,定义一个浮点型,并不一定需要使用
float
进行声明
pi_01 = float(3.14)
pi_02 = 3.14
# 两种输出结果全部都为 3.14
内置函数 type
现在我们知道如何定义和使用 整型与浮点型,那么如何让计算机告诉 这些变量时某种类型呢?
这个时候就需要使用到 内置函数 type
了,它可以返回变量的类型,通过这个内置函数告诉我们数据使用的是哪种类型
现在我们来看一个栗子:
# coding:utf-8
name = "neo"
age = int(25)
money = 9.9
if __name__ == '__main__':
print(type(name))
print(type(age))
print(type(money))
输出结果如下:
数字类型的基本运算
加法
- 整数相加
>>> 1 + 1
2
- 浮点数相加
>>> 1.2 + 2.3
3.5
- 复数相加
>>> x = 1 + 2j
>>> y = 2 + 3j
>>> x + y
(3 + 5j)
减法
- 整数相减
>>> 2 - 1
1
- 浮点数相减
>>> 2.3 - 1.2
1.1
- 复数相减
>>> x = 1 + 2j
>>> y = 2 + 3j
>>> y - x
(1 + 1j)
乘法
- 整数相乘
>>> 1 * 2
2
代码块12
- 浮点数相乘
>>> 1.1 * 1.1
1.21000000000002
输出结果为 1.21000000000002,而不是 1.21。在计算机内部,有的浮点数无法被精确的表示,在这个例子中,只能使用近似值来表示 1.21。
- 复数乘法
>>> (1 + 2j) * 2
(2 + 4j)
除法
- 整数除法
>>> 5 // 2
2
在 Python 中,// 是整数除法运算,运算结果是商的整数部分,是一个整数。
- 浮点数除法
>>> 5 / 2
2.5
在 Python 中,/ 是浮点数除法运算,运算结果是商,是一个浮点数。
- 复数除法
>>> (2 + 2j) / 2
(1 + 1j)
求模
求模运算返回除法的余数。
- 整数求模
>>> 5 % 2
1
- 浮点数求模
>>> 5.1 % 2
1.09999999999999
输出结果为 1.09999999999999,而不是 1.1。在计算机内部,有的浮点数无法被精确的表示,在这个例子中,只能使用近似值来表示 1.1。
幂运算
- 整数求幂
计算 2 的 3 次方,即 2 * 2 * 2:
>>> 2 ** 3
8
- 浮点数求幂
计算 1.1 的 3 次方,即 1.1 * 1.1 * 1.1:
>>> 1.1 ** 3
1.33100000000004
比较运算
Python 提供了 6 种比较运算用于比较数值大小,如下所示:
运算符 | 功能描述 |
---|---|
> | 大于 |
>= | 大于或者等于 |
== | 等于 |
!= | 不等于 |
< | 小于 |
<= | 小于等于 |
比较运算的结果返回 True 或者 False,如下所示:
>>> 2 > 1
True
>>> 2 < 1
False
>>> 2 >= 2
True
>>> 2 <= 2
True
>>> 1 == 1
True
>>> 1 != 1
False
类型转换
为什么要进行类型转换
假设希望用户输入 2 个整数,然后将用户输入的整数相加,最后打印结果。在 Python 交互模式下输入:
>> a = input()
2
>> b = input()
2
>> a
'2'
>> b
'2'
>> a + b
'22'
- 在第 1 行,使用 input 读取用户输入的一行文本(字符串),用户输入字符 2;
- 在第 3 行,使用 input 读取用户输入的一行文本(字符串),用户输入字符 2;
- 在第 5 行,显示变量 a 的值为字符串 ‘2’;
- 在第 7 行,显示变量 b 的值,为字符串 ‘2’;
- 在第 9 行,将两者相加;
- 在第 10 行,得到最终结果 ‘22’。
程序的输出结果和我们的期望不一致,原因是 input 返回的是一个字符串而不是一个整数,在 Python 中两个字符串相加表示把两个字符串连接起来。因此,最终输出结果是一个字符串 ‘22’,而不是一个整数 4。
将字符串转换为整数
Python 提供函数 int 用于将字符串转换为整数。使用 int 函数重写以上程序如下:
>> a = input()
'1'
>> b = input()
'1'
>> x = int(a)
>> y = int(b)
>> x + y
2
- 在第 5 行,将字符串 a 转换为整数 x
- 在第 6 行,将字符串 b 转换为整数 y
- 在第 7 行,将整数 x 和整数 y 相加,得到结果 2
将 input 返回的结果从将字符串转换为整数后,我们得到了预期的结果。
将整数转换为字符串
Python 提供函数 str 用于将整数转换为字符串,例如:
>> a = 1
>> b = 1
>> x = str(a)
>> y = str(b)
>> x + y
'11'
- 在第 3 行,将整数 a 转换为字符串 x
- 在第 4 行,将整数 b 转换为字符串 y
- 在第 5 行,将字符串 x 和字符串 y 相加,得到结果 ‘11’
常用的数学函数
在 Python 的 math 模块中包含如下常用的三角函数,在词条 “Python 中常用的标准库系列之 math 模块” 获取详细用法。
函数 | 功能描述 |
---|---|
abs(x) | 返回数值的绝对值 |
ceil(x) | 返回数值的上入整数 |
exp(x) | 返回 e 的 x 次幂 |
fabs(x) | 返回浮点数的绝对值 |
floor(x) | 返回浮点数的下舍整数 |
log(x) | 返回 x 的自然对数 |
log10(x) | 返回以 10 为基数的 x 的对数 |
max(x, y) | 返回给定参数的最大值 |
min(x, y) | 返回给定参数的最小值 |
pow(x, y) | 返回以 x 为底数、y 为指数的运算结果 |
round(x) | 返回浮点数 x 的四舍五入值 |
sqrt(x) | 返回数值 x 的平方根 |
数字类型的小练习
现在有这样一个场景:购买以下三本书,请计算最终的总金额并打印:
1、一门《Java架构师》,价格60元 变量:javaLearn
2、一门《python工程师》,价格42.8元 变量:pythonLearn
3、一门《算法入门》,价格12.8元 变量:algorithmeLearn
总金额 变量:totalMoney
javaLearn = 60
pythonLearn = 42.8
algorithmeLearn = 12.8
totalMoney = javaLearn+pythonLearn+algorithmeLearn
print(totalMoney)