当前位置:首页>python>Python教程(10)数据类型 —— 数据各有个性

Python教程(10)数据类型 —— 数据各有个性

  • 2026-10-11 07:22:14
Python教程(10)数据类型 —— 数据各有个性

你好,我是雨霖八珞,同名B站UP主。关注合集不迷路。以下内容为个人教学,真诚分享,欢迎交流。

上一篇我们用input()让程序“活”了起来,但也遇到了一些问题:

在交互模式中,输入

r =input("请输入圆的半径")
用户输入 2,然后计算圆的周长:
print("圆的周长是:",2 * 3.14 * r),
结果报错了。
但同样是input(),换成名字却没问题:
name = input("你叫什么名字?")
print("你好",name)

为什么呢?

我们来看看 r 和 name 到底都是什么?

在交互模式中,直接输入r回车,输入name回车

发现没,r 和 name的值都是用引号括起来的。

用引号括起来的都是字符串,虽然你输入的是数字2,但在Python眼里,它被当成了文字'2'。

文字不能和小数做乘法。这就是问题所在。

所以,今天我们具体聊聊:数据的个性 —— 数据类型

【说明:今天的案例都是在交互模式下进行,方便查看结果。】


最基本的数据类型

除了整数、浮点数、字符串,Python里还有布尔值(True/False)、空值(None),以及可以装很多东西的列表、元组、字典、集合。这些我们会在后面的内容中陆续介绍。

用type()查看数据的类型

type()是可以查看类型的函数,括号里可以放置需要查看类型的数据。

比如type(5)表示查看数据5的数据类型。

在交互模式中输入:

class可以理解为“类别”或“类”,你只需要知道它表示“这是什么类型”就行。

int 表示整数类型,float表示浮点数类型,str表示字符串类型

类型不同,行为不同

1、int 整数

个性:不带小数点的数,可以是正数、负数和0

能做啥:所有算术运算

2、float 浮点数

个性:带小数点的数。就是咱们说的小数

能做啥:所有算术运算。但要注意:浮点数运算有时会有微小误差,以后单独写文章详细讲解。

补充:为什么叫浮点数?

“浮点”表示小数点可以浮动。比如3.14 可以写成0.314 × 10¹ ,小数点向左移了一位;也可以写成0.0314 × 10²,小数点向左移了两位。同样的数字,可以用不同方式来表示,小数点的位置不是固定的,所以叫浮点数。

3、str 字符串

个性:用引号括起来的数据。单引号、双引号,甚至三引号都可以。但引号必须成对出现。

能做啥:拼接、重复、取长度、查字母 ……

关于字符串的内容很多,比如为什么可以用单引号、双引号和三引号?什么是三引号?怎么取长度、查字母?以后我们会出单独文章来讲解。你现在仅作了解就可以了。

特别注意:字符串里的数字不是数字,不能做数学运算
这里的+ 是拼接,将两个字符串拼接在一起,* 是重复,将字符串重复若干次。它们不是算术运算里的加法和乘法,虽然符号一样,但含义完全不同

你现在知道下图出错原因了吗?
  • multiply :相乘

  • sequence :序列(字符串、列表、元组等)

出错代码:2 * 3.14 * r

类型错误:不能把字符串(序列)乘以一个浮点数

类型转换:让数据变身

即使我们输入的是数字,input()函数拿到的永远是字符串,我们已经知道了出错原因,怎么修改呢?

很简单,转换一下就可以了。

还记得前面学过的int,float,str吗?加上()就变成了转换函数。

eval() 的特殊之处

前面三个函数是强制转换 —— 不管你来的是什么,我都要变成我想要的类型,有点霸道总裁的意味。

eval()不一样,比较淡定,你给的啥,它还原的就是啥,妥妥的佛系:

  • 用户输入2,eval("2") 就成了2(整数)

  • 用户输入3.58,eval("3.58")就成了3.58(浮点数)

  • 用户输入hello,eval("hello")就成了hello(去掉引号的字符串就是变量)

它不会强制转换,而是把字符串还原成它本来的样子。

我最推荐用eval()。

我经常跟学生说:“你不eval,就会emo”,加深他们的印象。

修复计算圆的周长的程序

还可以把第一行和第二行语句合并,显得程序更简洁

r = eval(input('请输入圆的半径'))

c = 2 * 3.14 * r

print("圆的周长是:",c)


写一个程序:

1、让用户输入自己的年龄

2、程序计算出“我比你大两岁”的年龄

3、输出完整的结果

结果如下图所示:

请输入你的年龄:20

我比你大两岁,我已经22岁了

你写出来了吗?把你的代码贴在评论区,看看谁的最简洁。

本公众号内容均为原创。如需转载或引用,请先联系我。谢谢你的尊重。

觉得不错的话,伙伴们记得关注、在看、转发和点赞哈!

最新文章

随机文章