小朋友们,早上好呀!新的一天新的开始,我们继续学习神奇的Python编程语言吧~
在我们之前的课程里,咱们都学过了3种不同类型的值
整数浮点数字符串那么,我想问小朋友们一个问题了,在Python里我们怎么区分一个值究竟是什么类型呢?
嗯嗯,有的小朋友说了:加引号的是字符串,不加引号的是数字。
对对,这位小朋友说的非常正确。
如果是整数和浮点数呢?这两种数据类型咱们怎么区分呢?
在今天的课程里,我们将学习如何区分一个值是整数,浮点数还是字符串;如何由一个类型建立另外一个类型的方法,请小朋友们坐好,开始上课咯!
改变类型
很多情况下,我们需要将数据从一种类型转换成另外一种类型。比如:想要打印一个数字时,就需要将他转换成文本,使它能够出现在屏幕上。Python中的print命令可以为我们实现这一点。但是呢,有时候我们只是想转换而不是打印出来,或者说需要将字符串转换成数字。这成为类型转换(type conversion),该如何实现呢?
在Python里,并没有把一个东西从一种类型“转换”成另一种类型的动作。他只是由原来的东西创建了一个新的东西,而且这个新东西正好是你想要的类型。那么下面咱们就给出一些函数吧,试一下通过这些函数将数据从一种类型转换成另一种类型。
float() 从一个字符串或者整数创建一个新的浮点数(小数)int() 从一个字符串或者浮点数创建一个新的整数str() 从一个数(可以使任何其他类型)创建一个新的字符串float()、int()、str()后边有个英文的小括号,因为他们不是Python的关键字 —— 他们是Python的内置函数(function)
特别注意:函数后边跟着英文的圆括号,这是重点,请小朋友们记到小本本上吧。
木辛博士说在Python2.x版本里边,print被归为了Python关键字,调用print的时候,只需要写成print ‘这是Python的关键字’但是自Python3.x开始,print被归为了函数,也就是说:在Python3.x版本里边打印信息应该这么写print(‘已经改成了Python的函数’)
后面我们还会学习更多的函数,请大家期待哟~
我们现在的学习内容,只需要知道:可以把你想要转换的值放在函数后边的圆括号里。编程贵在实践,让我们在交互模式下做几个例子吧~
将整数转换为浮点数
咱们先从整数开始吧,有他创建一个新的浮点数(小数),这里要使用函数float():
注意,b得到了一个小数,末尾有一个0.这就告诉我们这是一个浮点数而不是整数。变量a不变,因为float()不会改变原来的值 —— 他只是创建了一个新的值。
木辛博士说请小朋友们记住,在交互模式下,是可以直接键入变量名(而不需要使用print),但是在程序中是不可以的。
当然了,这种说法只在Python等一大部分编程语言中适用哟,像Ruby这种编程语言,在函数的返回值里是可以直接写变量名的哟。有兴趣的小朋友可以关注我们后续的高级课程:《美丽的红宝石:强大的ruby》 的课程
将浮点数转换成整数
下面我们反过来试试,将一个小数使用int()创建一个整数
咦?为啥经过int转换后的小数只剩下了小数点前的数字了呢?
嗯呢,小朋友们观察很仔细!
这是因为int()函数总是向下取整。他不会给你最接近的整数,而是会给出下一个最小的整数。实际上int() 函数就是去掉小数部分的。
“那么,如果是1.9或者1.8这样的数字,更接近2,也是只保留整数部分咯?” 有个小朋友问。
是的,int函数确实是这样的。
将字符串转换为浮点数
当然了,可以从一个字符串创建一个数字,就像这样:
当然了,这样的转换的前提是这个字符串确实是数字字符串,如果向下方这样的例子是不可以的哟
一个智能的函数:type()
我们之前提到过,判断是一个值是数字还是字符串,是通过是否有引号判断的。
不过呢,Python还提供了一个更加直接的方法,这个方法可以明确的告诉我们变量的类型
这里的type() 函数告诉:c的类型是字符串 a的类型也是字符串,b的类型则是浮点数。嗯嗯,这个函数还是很方便的呢!
今天的课程到这里就结束了,大家学到了什么呢?咱们来总结一下
学会了如何做类型转换,学到了函数 : str() 、int()、 float()在交互模式下,直接显示值,可以不适用print函数使用type()函数查看变量类型在课程的最后,咱们再留几个测试题目吧
使用int()将小数转换成整数,结果是向上取整还是向下取整?使用float()从一个字符串(比如’22.23’)创建一个数,要保证结果确实是一个数。
好了,小朋友们,下次课再见吧~