此文为课程笔记,所有图文均来自python小课(www.pypypy.cn)。
第1关 萌新的进化(数据类型与转换)
python世界可以看作部分现实世界的【镜像】,部分现实世界的东西、概念都可在python世界里找到对应,比如:现实世界中最常见的数字,文字,符号在Python世界就是:【数据】。不同类型的数据呀,『长相』不一样,各司其职。只有认清各类型数据的『长相』,了解它们的功能,才能在镜像世界里完成现实世界的任务。
一、数据类型
在现实世界的镜像——Python里,最常用的数据类型有三种——字符串(str)、整数(int)和浮点数(float)。
(一)字符串
字符串英文string,简写str。顾名思义,就是由一个个字符串起来的组合,字符可以是一个数字、一个字母、一个文字,甚至是一个符号。字符串可以表达现实世界里的词、语句、表达式等。
样例:
识别要点:
被【引号(单/双/三引号)】括起来的内容。不论是中文、英文、数字甚至火星文。只要是被括起来的,就表示是字符串类型。如上图,'千寻'、"Let's play"都属于字符串类型。注意:字符串类型必须有【引号】的辅助。
小结:
(二)整数
可是有的时候,某些数据它脱了【引号】的马甲,也照样能打印出来。例如在上一关我们见过的【print(520)】。
这就是我们要介绍的,常见数据类型中的第二种:整数,整数英文为integer,简写做int。Python世界的整数其实和现实世界数学中定义的一样:是正整数、负整数和零的统称,是没有小数点的数字。
样例:
注意:
而整数脱掉了【引号】马甲,只能『单独行动』。一旦碰上符号及其他文字类数据,譬如中文、英文,立马被报错秒杀。
小结:
(三)浮点数
浮点数非常好识别,它比整数多了一个小数点『.』,比如下列代码中的数字都是浮点数。
浮点数的英文名是float,与整数(int)和字符串(str)不同,浮点数没有简写。
浮点数可能让你有点眩晕,这是因为,与【整数运算结果永远精确】的特点不同,计算机里浮点数的运算是不精确的,会有四舍五入的误差。这什么意思呢?
为什么不是【0.85】,而尾巴多了一个【1】呢?这是因为,Python计算浮点数时,会先把0.55和0.3转化成二进制数【注:二进制数由0和1表示,逢二进一】。
(四)小结
以上,就是我们最常接触的三种数据类型:字符串、整数、浮点数的全部内容了。
二、数据应用
(一)四则运算
Python里的整数、浮点数和数学意义的整数、小数是一样的,它最重要的作用是与运算符号结合,进行数学计算。接下来我们看一下Python如何利用整数,浮点数进行四则运算。
但是Python世界的算数运算符,和我们平时在纸上写的运算符号有相同点,也有不同点。
首先,我们来看看Python世界的运算符。
运算优先级:Python世界的运算优先级,和我们平时的计算优先级是一样的。
(二)字符串的拼接
在现实世界里,我们可以将不同的词组合成一句话,那在镜像世界——Python里是怎样的一个操作?
字符串拼接的方法可简单了,就是利用字符串拼接符号【+】,将需要拼接的变量连在一起就行了。
样例:
(三)数据类型的查询——type()函数
Python中一个已有的,既简单又实用的函数,来帮助我们查询不确定数据的类型。而这个函数,就是type()函数。
那么,这个type()函数要怎么使用呢?答案就是:只需把查询的内容放在括号里就行。
样例:
三、数据转换
上述样例中,出现了两种不同的数据类型,就无法进行运算。
那么,要如何把两个不同类型的数据拼在一起呢?
负责转换数据类型的函数一共有3种:str()、 int()和float()。
(一)str()
str()函数能将数据转换成其字符串类型,不管这个数据是中文、数字、标点还是火星文,只要放到括号里。这个数据就能摇身一变,成为字符串类型。
样例:
还有一种转换成字符串的方法,那就是借用【引号】的帮助,如下图:
小结:
(二)int()函数
将数据转换为整数类型的方法也很简单,就是int()函数。其使用方法同str()一样,将你需要转换的内容放在括号里就行,像这样:int(转换的内容)。
样例:
注意:只有符合整数规范的字符串类数据,才能被int()强制转换。
首先,整数形式的字符串比如'6'和'1',可以被int()函数强制转换。
其次,文字形式,比如中文、火星文或者标点符号,不可以被int()函数强制转换。
最后,小数形式的字符串,由于Python的语法规则,也不能使用int()函数强制转换。
比方说下列代码,如果点击运行,程序会报错【ValueError:invalid literal for int() with base 10: '3.8'】(值异常:浮点类型字符串无法使用int()强制转换)。
这是不是意味着,浮点数不能转换成整数类型了?
不,虽然浮点形式的字符串,不能使用int()函数。但浮点数是可以被int()函数强制转换的。
上方的代码串,就是一条将浮点数3.8强制转换的语句。但是,为什么输出的结果是3呢?
你看,int()函数的本质是将数据转换为整数。所以对于浮点数,int()函数会做取整处理。但是,同我们平时对小数四舍五入的处理方法不同,int()函数会直接抹零,直接输出整数部分。
小结:
(三)float()函数
可是,如果遇到这种情况:字符串就是小数形式,比如'3.8'这种。我不想让它变为整数3,想让它保持小数形式的3.8,那我要怎么做呢?
这就涉及到了我们这关最后一个知识点——float()函数。
首先float()函数的使用,也是将需要转换的数据放在括号里,像这样:float(数据)。
其次,float()函数也可以将整数和字符串转换为浮点类型。但同时,如果括号里面的数据是字符串类型,那这个数据一定得是数字形式。
样例:
小结:
四、本课小结
网友评论