对象及数字对象
什么是对象
如果你学过驾驶,八成被教练骂过吧?
可能你的脑海中现在还回荡着教练粗暴的吼叫:
踩离合器,
档位杆 推到1挡位置!!
慢慢抬起脚,松离合器
仔细分析上面的话,大家可以发现,我们的语言描述 通常 会涉及到 对象
:
对象 就是语言描述中涉及的 物体
。
比如上面的 离合器、档位杆,就是 对象,而且这是两种 不同类型 的对象。
相应的,
在Python语言中也会涉及到 对象, 这些对象 包含了一定的 数据
信息。
Python语言中,所有的 数据
都被称之为 对象。
我们写的Python代码, 就是要 处理各种 对象
,从而完成具体的任务。
比如,我们的语句
print('hello world' )
这里面 就操作了一个数据对象 hello world
,这是一个字符串数据对象。
真实世界的 对象
有各种类型,比如 汽车、飞机 就是不同的类型的对象。
程序世界里面 数据对象
也有 各种类型。
比如:
字符串 hello world
是 字符串类型
的 对象。
而 33
是 整数类型
的对象。
对象类型
Python语言中,常用的数据类型有:
- 整数, 比如 3
- 小数(也叫浮点数) ,比如 6.5
- 字符串 , 比如 ‘你好’
- 列表,比如 [1, 2, ‘你好’]
- 元组,比如 (1, 2, ‘你好’)
- 字典,比如 {1:‘mike’, 2:‘jack’}
简单的开发任务, 这些数据类型,基本就够用了。
Python语言还可以 自己定义数据类型
,后面会学到。
数字对象
我们从最常见的 数字对象
, 开始学习。
常见的数字对象包括: 整数和小数
整数
我们先看最常用的整数。
整数我们小学就学过,比如 1, 2, 3, 100, 1000, 999999等等
当然还有负数的整数 -1, -2, -999 等等
在Python语言中,整数的写法 和 数学课上的写法 一样
比如 整数 1,就是
1
整数 999,就是
999
整数 -1,就是
-1
小数
好,刚才说过了整数,我们再来看另外一种类型的数字:小数, 就是带小数点的数字。
Python语言把小数叫做 浮点数
。
在Python语言中,浮点数的写法也和 数学课上的写法 一样,比如
6.5
4.0
-3.3333
数学运算
Python语言中的 数字对象 是可以进行 数学运算的。
运算表达式 的写法 也和我们小学数学课上的写法 差不多
大家可以在命令行窗口打开Python解释器,按照下面的例子输入运算表达式
- 加法
>>> 5 + 8
13
注意,上面的代码 5 + 8
就是一个表达式,被 Python解释器 执行后,会产生一个新的整数 对象 13。
加号前后 可以有些空格, 也可以没有空格,像这样 5+8
- 减法
>>> 999 - 111
888
同样,上面的代码 999 - 111
是一个表达式,被Python解释器执行后,会产生一个新的整数对象 888
- 乘法
>>> 8 * 9
72
- 除法
>>> 3 / 2
1.5
注意,计算结果是小数
- 只需要得到商的除法
>>> 3 // 2
1
- 只需要得到余数的除法
>>> 3 % 2
1
- 次方
>>> 10 ** 3
1000
更复杂的是: 混合运算
>>> 5 * 4 / 2 + 1
11.0
上面的表达式运算的时候,先算乘除部分,再算加减部分。因为 乘除 的优先级高于 加减。
所以先计算的是 5 * 4 / 2
得到结果 10.0, 再加上 1, 得到结果 11.0
如果你需要把 2 + 1
这部分作为整体运算,得到3,然后再被 5 * 4
的结果 除,可以使用括号,像这样
>>> 5 * 4 / (2 + 1)
6.666666666666667
括号扩起来的部分 表示是一个整体 优先进行运算。
Python3 中,详细的操作符优先级,可以参考[官方文档]( https://docs.python.org/3/reference/expressions.html#operator-precedence)
该表从上往下,优先级依次提高。越是下面的操作符,优先级越高。
可以看到,乘除在加减的下方,所以优先级更高。 同时出现在表达式中,先计算乘除。
同一行中的操作符优先级相等,同时出现在表达式中,通常按照从左到右的次序执行。
type 函数
Python解释器 内置了 type函数,可以用来查看数据对象的类型。比如
>>> type(3) # 查看对象 3 的类型
<class 'int'> # 表示是int类型,就是整数类型
>>> type(3.4) # 查看对象 3.4 的类型
<class 'float'> # 表示是 float 类型,就是浮点数类型
其它数据类型
其它数据类型,我们会在以后章节中 继续学习