Python基础教程

第一章: 环境搭建,安装Python

第二章: 挑选一款趁手的IDE

第三章: 计算机基础知识

第四章: 命令行基础知识

第五章: 从全局把握Python

第六章: Python语言基础

第七章: Python流程控制

第八章: Python数据类型与运算

第九章: Python字符串类型

第十章: Python列表类型

第十一章: Python元组类型

第十二章: Python字典类型

第十三章: Python集合类型

第十四章: Python函数处理

第十五章: Python文件处理

第十六章: Python面向对象

第十七章: Python异常处理

第十八章: Python模块处理

第十九章: Python高级编程

第二十章: Python项目实战

首页 > Python基础教程 > 第八章: Python数据类型与运算 > 8.1节: 简单数据类型

8.1节: 简单数据类型

薯条老师 2020-04-24 16:35:44 237340 2

编辑 收藏

8.1.1 理解数据类型

数据类型是根据数据本身的性质和特征来对数据进行分类,例如奇数与偶数就是一种数据类型。在奇数这种数据类型中,数据集合中的元素全为奇数,奇数与2相余后的余数为1。在偶数这种数据类型中,数据集合中的元素全为偶数,偶数与2相余后的余数为0。

image.png

数据类型不限于数字,凡是能转化为数据形式的,都可以给它定义一个类型。为数据定义类型,极大地方便了人类在逻辑层面对数据进行分析和处理。
对于计算机来说,无所谓数据类型,它“看到”的只是二进制,编程语言中的数据类型是方便程序员进行数据处理而定义的一种逻辑概念。
在第十一章中会介绍面向对象编程,届时通过对象的语义来建立数据模型,我们可以自定义数据类型。

8.1.2 Python中的数据类型

Python中的数据类型主要分为简单数据类型和容器数据类型。

简单数据类型是不可再分割的基础数据类型。而容器数据类型,是容纳其它对象的数据类型。

Python中的简单数据类型有整型,浮点类型,布尔类型,空类型。整型就是我们常说的整数,浮点类型就是带小数点的,布尔类型用来表示逻辑上的真和假。Python中的列表,元组,字典,集合等是容器数据类型。字符串也算是一种容器数据类型,只不过在字符串这个容器中,包含的元素都是字符。

8.1.3 简单数据类型

数据类型都有其特定的类型名称,在Python中可以通过内置的type类型来输出数据类型的类型名。type类型的基本用法:
type(object)
执行type函数时,可通过参数object传递值或变量名,以输出对应的类型名称。
(1) 整数类型
整数类型就是常说的整数,例如负整数,正整数,以及0。现在请同学们进入Python的交互模式,通过type类型来输出数据的类型名。
>>> type(2020)
<class 'int'>
在交互模式中,可以看到<class 'int'>的输出,单引号括住的即为数据的类型名。
 class有类,类别的意思,在Python中通过class关键字来定义数据类型。
我们继续在交互模式中验证其它整数的类型名:
>>> type(0)
<class 'int'>
>>> type(-1314)
<class 'int'>
从交互模式的输出中,我们可以发现这样的规律,对于整数,它们的类型名都为int。在学习的过程中,不断地对输入输出或逻辑概念进行验证,在现象中发现事物的规律,是一种很有效的学习方法。
(2) 浮点类型
浮点类型就是常说的小数,带小数点的,例如20.1314, 0.0。同样地,可通过type来输出浮点类型的类型名:
>>> type(0.0)
<class 'float'>
>>> type(20.1314)
<class 'float'>
Python中的浮点类型,其类型名为float在数字末尾只带一个.号时,也是浮点类型。
>>> type(0.)
<class 'float'>
(3) 布尔类型
布尔类型用来表示逻辑上的真或假。在Python中提供了True和False关键字,前者用来表示逻辑上的真值,后者用来表示逻辑上的假值。在交互模式中输出布尔类型的类型名:
>>> type(True)<class 'bool'>>>> type(False)<class 'bool'>
Python中的布尔类型,其类型名为bool现在通过以上介绍的简单数据类型,来编写一个实例程序。
代码实例-计算1到10之间的所有合数的和:

# 定义变量sum_of_numbers用来保存所有合数的和
sum_of_numbers = 0
合数指自然数中除了能被1和本身整除外还能被其他数(0除外)整除的数,所以首先排除1与2
 
for number in range(3, 10):
  # 通过for循环和range来遍历从2到number之间的所有自然数
  for divisor in range(2, number):
    # % 是Python中的求余计算符号
    if number % divisor == 0:
      # number能被其他数整除时,余数为0
      # 如果余数为0,说明为合数,执行break退出循环
      sum_of_numbers = sum_of_numbers + number 
      break 
else:
  print(sum_of_numbers)
上文中的代码与7.2.4节中的代码实例实现的是相同的功能,改动的地方主要以下有两点:
(1) 将外层循环改成了for循环
(2) 将变量is_composite_number定义为布尔类型。在实际开发中,如果需要表示逻辑上的真或假,那么使用布尔类型会比较自然。

整型和浮点类型的0值会自动转换为逻辑上的假值,在Python中使用True表示真值,False表示假值。

8.1.4 特殊的None类型

在Python中有一个特殊的None类型,None在语义上表示空数据类型,它是一个单例,值为恒定的None值, None在Python中是一个关键字,表示值为空。现在进入交互模式,查看None所对应的类型:
>>> type(None)
<class 'NoneType'>
从输出可知,None所对应的类型为NoneType,在Python中None值只与None值相等,None值转换后的布尔值为False。

8.1.5 变量的数据类型

在6.1节中对变量进行了详细讲解,变量是用来存储数据内存地址的容器。变量的类型,取决于变量所指向的数据的类型。我们同样可以在交互模式中进行验证:
>>> data_type = 0
>>> type(data_type)
<class 'int'>
 
>>> data_type = 20.1314
>>> type(data_type)
<class 'float'>
 
>>> data_type = True
>>> type(data_type)
<class 'bool'>

8.1.6 最具实力的小班培训

薯条老师在广州有开设线下培训班,小班授课模式,一班最多6个人。也可一对一授课,全程帮助你学好计算机,实现高薪就业。不在广州的同学可提供住宿,也可以报名线上小班,用腾讯会议上直播课。


已有2位薯条发表了看法:

欢迎 发表评论: