作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。
座右铭:低头赶路,敬事如仪
个人主页:网络豆的主页
目录
编辑
前言
学习目标
一.常见数据类型
1.数字类型
(1) 整数类型
(2)浮点数类型
2.布尔类型
(1)布尔型数据的取值
(2)布尔型数据的使用
3.字符串类型
(1) 字符串的创建
(2)字符串的切片
(3)split 函数
(4) f-string
(5)字符串遍历
4.数据类型的相互转换
(1)int 函数
(2)str 函数
(3) bool 函数
(4)float 函数
(5)eval 函数
练习案例
前言
在编程时,我们会遇到各种各样的数据。Python 语言中的常用数据主要有数字型、字符串型、布尔型。本章将详细讲解这几种数据类型,以及不同数据类型之间的相互转换。
学习目标
- 掌握不同数据类型之间的区别。
- 掌握不同数据类型之间的相互转换。
一.常见数据类型
1.数字类型
数字型数据,就是与数字相关的数据类型。在 Python 语言中,数字型的数据类型主要有整数类型(int)和浮点数类型(float)。
(1) 整数类型
Python 中的整数类型的数据就是数学中的整数,整数类型能表示所有正整数、0 和负整数。
【例3-1】
下面演示创建一个整数类型数据,在shell模式下输入如下语句。
- 第1行:定义一个变量a,并赋值 200。
- 第2~3行:查看变量a的值。
- 第4行:使用type函数查看变量a的类型。
- 第5行:输出变量a为一个int类,即为整数类型数据。
(2)浮点数类型
Python 中的浮点数类型数据就像数学中的小数。由于浮点数在计算机内部是通过二进制的方式来存储,浮点数的运算不是绝对精确的,会存在微小的误差。
【例3-2】
下面演示创建一个浮点数类型数据,在 shell模式下输入如下语句。
- 第1行:定义一个变量 b,并赋值 3.14159。
- 第2~3行:查看变量b的值。
- 第4 行:使用type 函数查看变量b的类型。
- 第5行:输出变量b为一个float 类,即为浮点数类型数据。
2.布尔类型
不同于数字型数据,布尔(bool)类型数据只有两个值,即 True 和 False,分别代表真和假,通常用在条件判断和循环语句中。
(1)布尔型数据的取值
除了直接赋值,布尔类型数据通常通过比较运算和逻辑运算得到。
【例3-3】
下面演示创建一个布尔类型数据,在shell模式下输入如下语句。
- 第1行:定义一个变量 a,并赋值 True。
- 第2~3行:查看变量a的类型为布尔类型。
- 第4行:定义一个变量 b,并赋值False。
- 第5~6行:查看变量b的类型为布尔类型。
- 第7~8行:比较运算1<3的结果为True。
- 第9~10行:逻辑运算 True and False的结果为False。
(2)布尔型数据的使用
布尔型数据非常简单,常用在判断语句中,作为判断的条件。接下来举例说明布尔型数据的编程使用方法。
【例3-4】
下面演示在判断语句中使用布尔类型数据,在 shell 模式下输入如下语句。
- 第1行:定义一个变量a,并赋值 True。
- 第2~3行:使用if判断语句,如果条件为真,则输出字符串“a为真”(注意第3行,最前面的
- “…”是shell模式的换行提示,不需要输人。但print前面需要有1个制表符或4个空格的缩进)。
- 第4行:程序运行结果,可以看到输出了字符串“a 为真”。
3.字符串类型
在 Python 中,凡是被引号(单引号 / 双引号 / 三引号)括起来的数据都称为字符串。如 "100"、'abc'都是字符串。
(1) 字符串的创建
在 Python 语言中,创建字符串可以通过 str(),也可以通过单引号或双引号直接创建,下面一一举例说明。
【例3-5】
使用str函数创建一个空字符串,在 shell模式下输入如下语句。
- 第1行:使用str函数创建一个空字符串str1。
- 第2行:查看字符串str中的内容,因为str1一个空字符,所以第3行中输出了一对引号引号里面没有任何元素。
- 第4行:使用type 函数查看变量strl的类型。
- 第5行:输出变量strl 为一个str 类,即为字符串类型数据。
【例3-6】
使用一对引号创建一个字符串,在shell模式下输入。
- 第1行:使用一对引号创建一个字符串str2.
- 第2 行:查看字符串str2 中的内容。
- 第 4 行:使用type 函数查看变量str2的类型。
- 第 5 行:输出变量str2 为一个str 类,即为字符串类型数据。
1.>>> str2 - "Crossin"
2.>>> str2
3.'Crossin
4.>>> type(str2)
5.<class 'str'>
(2)字符串的切片
切片是 Python 语言中特有的功能,通过一行代码就可以实现获取子串的功能。切片有三个参数 [a:b:c] ,a 是起始位置,不提供则默认为开头;b 是结束位置,不包含在子串内,不提供则默认至结尾;c 是间隔步长,不提供可省去第 2 个冒号,默认为 1,负数为倒序。
注意:字符串的索引是从0开始的,所以索引位置n表示第n+1个字符。
【例3-7】
字符串的切片示例如下,在shell模式下编写如下程序。
- 第1行:创建一个字符串s,s的值为abcd123456789。
- 第2~3行:从索引为1开始取,总共取出4-1 即3个字符“bcd”。
- 第4~5行:从索引为10开始倒序取,总共取出10-1即9个字符“7654321dc”。
- 第6~7行:从索引为1开始正序取,步长为2,取出的字符为“bd246”。
(3)split 函数
在 Python 编程中,除了上述的切片方法,还可以通过 split() 函数指定分隔符(不指定则默认为空白符,包括空格、Tab 制表符、回车换行符)对字符串进行分割。
【例3-8】
使用split进行的示例如下,在shell模式下编写如下程序。
- 第1行:创建一个字符串strl并赋值。
- 第2行:使用split数对字符str空白符为分隔符进行分割,并把分割后的结果赋值都单变量str2。
- 第3~4行:变量str2,看分后的结果为一个列表。
- 第5~8行:以逗号“,”为分割符对字符串进行分割。
(4) f-string
f-string 是一种格式化字符串,它的作用是将变量的值按照需要填充到一个字符串的内部。f-string 的语法很简单,在字符串的引号前加上字母 f,然后在需要填充变量的位置加上大括号 { 变量名 } 即可。
【例3-9】
f-string格式化字符串示例如下,在shell模式下编写如下程序。
- 第1~2行:创建2个变量并赋值。
- 第3行:通过f-string将变量填充到字符串中,并赋值给新变量。
- 第4~5行:查看填充后的字符串内容。
1. >>> name = "Crossin"
2. >>> age = 18
3.>>> s =f"我叫{name},今年{age}岁"
4.>>> s
5.'我叫Crossin,今年18岁'
(5)字符串遍历
字符串的遍历就是依次对字符串中的每个字符进行操作访问,也就是把字符串中的每一个字符都单独取出一次。
【例3-10】
下面演示对字符串的遍历操作,在 shell 模式下编写如下程序。
- 第1行:创建一个字符串s,并赋值“abc123”。
- 第2~3行:使用for循环语句遍历字符串s,在循环语句下使用print函数输出变量i的值(第3行开头应缩进)。
- 第4~9行:程序输出的遍历结果,可以看到字符串s中的字符被依次输出。
1.>>> s = "abc123"
2.>>> for i in s:
3.... print(i)
4. a
5. b
6. c
7.1
8.2
9.3
4.数据类型的相互转换
变量的类型由所赋值的数据类型决定。在某些情况下,可以通过相关函数对数据进行类型转换。
(1)int 函数
如果想把其他数据类型转换为整数,可以使用 int 函数。需要注意的是,如果原类型是字符串,只有纯数字的字符串才能转换为整数类型,带有字母和其他符号(包括小数点)的字符串不能转换为整数类型,否则程序会报错。
【例3-11】
把字符串数据转换为整数类型数据,在shell模式下编写如下程序。
第1-6行:通过int 函数把字符串“10”转换为整数10。
1.>>> d = “10"
2.>>> d1 = int(d)
3.>>> d1
4.10
5.>>> type(d1)
6.<class 'int'>
【例3-12】
浮点数类型数据都可以被int函数转换为整数类型数据,但此转换并不是采用四舍五入的方式,而是直接把小数部分去除。
在shell模式下编写如下程序。
- 第1~3行:通过int函数把浮点数2.23转换为整数2
- 第4~6行:通过int函数把浮点数2.89转换为整数2
【例3-13】
我们知道布尔类型数据只有两个值True 和False,那么把布尔类型数据转换为整数类型数据会获得什么结果呢?
在shell模式下编写如下程序
- 第1~3 行:使用int 函数把布尔类型数据“False”转换为整数类型数据的结果是0。
- 第4~6行:使用int函数把布尔类型数据“True”转换为整数类型数据的结果是1。
1.>>> d1= int(False)
2.>>> d1
3.0
4.>>> d2 = int(True)
5. >>> d2
6.1
(2)str 函数
把其他类型数据转换为整数类型数据可以使用 int 函数,而如果想把其他类型数据转换为字符串类型数据可以使用 str 函数。
【例3-14】
把其他类型数据转换为字符串类型数据,在 shell模式下编写如下程序。
- 第1行:定义一个变量a,并赋值整数123456789。
- 第2行:使用str函数把变量a的类型转换为字符串类型,并把转换后的结果赋值给变量al。
- 第3~4行:查看变量al的值,可以看到多了一对引号,即把整数类型数据转换为了字符串类型数据。
- 第5行:定义一个变量b,并赋值浮点数3.1415。
- 第6行:使用str函数把变量b的类型转换为字符串类型,并把转换后的结果赋值给变量bl。
- 第7~8行:查看变量b1的值,可以看到多了一对引号,即把浮点数类型数据转换为了字符串类型数据。
(3) bool 函数
如果想要把其他类型数据转换为布尔型数据,可以使用 bool 函数。
【例3-15】
把其他类型数据转换为布尔类型数据,在shell模式下编写如下程序。
- 第1~3行:把整数2020转换为布尔类型数据的结果为 True。
- 第4~6行:把整数0转换为布尔类型数据的结果为 False。
- 第7~9行:把字符串“hello”转换为布尔类型数据的结果为 True。
- 第10~12行:把空字符串转换为布尔类型数据的结果为 False。
- 第13~15行:把浮点数 3.14转换为布尔类型数据的结果为 True。
- 第16~18行:把浮点数0.0转换为布尔类型数据的结果为False。
1.>>> b= bool(2020)
2.>>> b
3.True
4.>>> b= bool(e)
5. >>> b
6.False
7. >>> b = bool("hello")
8. >>> b
9. True
10. >>> b = bool("")
11.>>> b
12.False
13.>>> b = bool(3.14)
14. >>> b
15. True
16.>>> b =bool(0.0)
17.>>> b18. False
通过上面的示例程序,可以发现无论将何种类型的数据转换为布尔类型数据,都只有 True 和False 两个值。
(4)float 函数
如果想要把其他类型数据转换为浮点类型数据可以使用 float 函数,同样需要注意的是不能把带字母和其他符号的字符串转换为浮点数。
【例3-16】
把其他类型数据转换为浮点数类型数据,在 shell模式下编写如下程序。
- 第1~6行:把布尔类型数据“False”与“True”转换为浮点数类型数据,结果分别为0.0上1.0。
- 第7~9行:把带小数点和数字的字符串“3.14”转换为浮点数类型数据的结果为3.14。
- 第10~12行:把整数2020转换为浮点数类型数据的结果为2020.0。
- 第13~15行:把纯数字的字符串“2020”转换为浮点数类型数据的结果为2020.0。
1. >>> f1 = float(False)
2.>>>f1
3.0.0
4. >>> f2 = float(True)
5.>>>f2
6.1.e
7.>>>f3=float("3.14")
8.>>>f3
9.3.14
10.>>> f4 = float(2020)
11.>>>f4
12. 2020.0
13.>>>f5 =float("2020")
14.>>>f5
15.2828.0
(5)eval 函数
Python 提供了许多内置函数,这些函数让 Python 更加便捷,而 eval 函数是其中之一。
eval函数可以把一个字符串表达式当作代码来执行,并返回表达式的值。在 shell模式下编写
rue如下程序。
- 第1行:定义一个变量x并赋值整数7。
- 第2~3行:输出表达式“3*7”的值为21。
- 第4~5行:输出表达式“2+2”的值为 4。
- 第6~7行:输出表达式“8/4”的值为2.0。
1.>>>x=7
2. >>> eval("3 * x")
3.21
4. >>> eval("2 + 2")
5.4
6. >>> eval("8 / 4")
7.2.0
练习案例
输入英文文章,通过程序输出该英文文章的单词数。
可以用一个变量接收用户输入的字符串,然后使用 split 函数对该字符串进行分割,分割后的数据存放在列表中,使用 len() 方法可以得到列表中元素的个数,最后使用 print() 函数输出单词数。
string = input("请输入:")
list1 = string.split(" ")
num = len(list1)
print("这段文字共有:",num,"个单词")
创作不易,求关注,点赞,收藏,谢谢~ 文章来源:https://www.toymoban.com/news/detail-511716.html
文章来源地址https://www.toymoban.com/news/detail-511716.html
到了这里,关于零基础学会Python编程——数据也分类:常见数据类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!