【Python教程】六、如果你给不了我想要的,我就报错给你看|数据类型

更多教程请私信~

来源:思路实验室 

作者:室长

大家好,欢迎收看思路实验室出品的Python入门教程,我是室长。

在上一期我们了解到,函数就像一个工厂,有原料输入有产出(当然也可以没输入没产出,干赚吆喝)。那么如果我们把工厂的原料换成它没法用的东西,它还能产出产品吗?当然不能!

我们来举个例子,这次我们定义一个简单的加法函数,返回值是参数+1:

先简单地用“加一”函数计算一下1+1等于几,运行一下:

等于2,没有问题,那我们来计算一下大象+1等于几:

等等,先不要运行,大家可以预期一下大象+1等于几,大象2?大象Pro?大象Plus?

果然,程序报错了。解释器对我们说,这是一个类型错误,只能把字符串(string,str)和字符串连接起来,而不能和整数(integer,int)连接。什么意思呢?我们先把“大象”代入到参数坑位里,那函数里的y = x + 1 就变成了y = "大象"+ 1。解释器读取代码是从前向后,从左向右读的,所以当它读到y = "大象"+的时候,因为这个加号跟在了"大象"这个字符串的后边,解释器就认为这里的加号起到的是把两个字符串连接起来的作用。但在后边给到的是什么呢?是1,一个整数。解释器就懵了:“明明此处应该有字符串,为什么给了整数呢?这活我没法干了!”于是乎就给我们报了一个错。

假如我们调整一下顺序,重新写一下函数,把1放在加号前面,会怎么样:

这次报错的信息不一样了,解释器说不支持整数和字符串相加。因为解释器先看到的是y = 1 +,就认为这里的加号起到的是加法的作用,而字符串是没有办法做加法的,于是解释器再度报错。

通过上边的例子可以看到,变量值不是随便赋值一下就可以满处使用的,而是有着不同的类别划分,函数的参数坑位往往只能接受某种或某几种类型的变量值。而我们刚才看到的整数(int)和字符串(str)就是两种常见的数据类型。

随着我们对Python了解程度越来越深入,我们会认识到所有的数据类型,但这一期,室长希望先把这些数据类型介绍给大家认识,先混个脸熟:

数字类:

整数型(int):就是整数,常用于计数,序数等情况,注意int是可以有符号的(可以是负数)

浮点数(float):通俗地说就是带小数点的数

布尔值(bool):非对即错,非黑即白(老二极管了)。只有对和错两种值,写为True和False(注意首字母要大写)。通常被用来判断是否符合条件。但其实bool更像是一种属性,比如如果某个变量的值是整数且为0,或者是浮点数且为0.0,那这个变量作bool用的话值就是False。而反过来,如果把bool值当做整数或者浮点数来计算也是可以的,此时True=1,False=0。

复数(complex):室长记得是在小学六年级的时候学习到复数的概念,但是这十来年除了做题就没用到过,先记着吧,万一回来有用了呢?

字符串(str)

字符串就是字符串起来的串(把你的心我的心串一串),我们之前已经多次使用字符串了,其典型特征就是就是两边由单引号或双引号包起来。记住一定要包起来,否则解释器可能会认为这是某个数字或者某个名字,不把它当做字符串。同时,如果两边引号中没有任何字符(空格也没有),那这个字符串作为bool使用的话值也是False。

列表(list)

列表是一个非常有用的数据类型,由若干个单独的元素组成,元素是啥都可以,比如整数,字符串,变量名,甚至可以是列表(继续套娃),元素之间用逗号分隔,列表两端用方括号括起来,就像这样:

[1,2,3,'阿门','阿前','一颗葡萄树']

同样,列表里如果没有元素,只有孤零零的一对方括号,那这个列表作为bool使用的话值仍然是False。

简单介绍一下列表是怎么用的。我们把刚才这个列表存入一个变量里,如果我想打印第4个元素,我可以这么写:

在值为列表的变量后边加一个方括号,把索引数(这里是序数)输入进去,运行就能得到结果。

等等,不是打印第4个元素‘阿门’吗?怎么输入的是3呢,而且怎么解释器也认为第3个才是‘阿门’?

这就是Python的计数规则了,我们认为的第1个其实对于Python来说应该是零,换句话说Python是一门真正的从零开始的语言

另外列表还有一个好处,如果我们想把列表里的某些元素换一换而不去新建一个列表,也是可以的。但是有时候太过自由也不好,所以又有另一种数据类型:元祖。

元组(tuple):

元组和列表差不多,只不过元组两边的括号是圆括号,而且元组的内容不能被修改。假如我们需要建一个十二生肖的信息,用列表的话指不定哪步可能就把大象插进去了,但你可以永远相信元组。

集合(set):

集合是Python3新加的东东,和列表也差不多,两边的括号是花括号。与列表相比,集合更接近数学上的用法,求求并交补集之类的,可以回忆一下高中数学。

字典(dict)

字典是个好东西,它可不是新华字典牛津字典这种能用来当板砖的东西。字典其实有点像列表的,但是它里边存放的不是元素,而是被称为键值对的东西。所谓键值对,就是键(key)和值(value)看对眼了,组cp了。字典的形式跟列表也很相似,键值对之间用逗号分隔,字典两端用花括号括起来。而键与值之间用冒号分开,大致是这个样子的:

{'大象':'123456789','骆驼':'987654321'}

而我们在使用字典去查找某个值时也和列表差不多,只不过在方括号中需要输入的是这个值所在键值对的键:

这一期我们初步了解了Python的几种数据类型,也认识到要按照参数需要的类型来提供数据。那在一个数据传过来的时候我们可不可以判断一下这个数据的类型正不正确呢?请关注下期:那么多如果,只剩下结果|if语句和bool值。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值