猫史档案馆


【python教程】2、其他的数据形式——字符串、整数与浮点数

用户:嗯哼君 渠源嗯哼君 渠源查看:0 回复:4 评论:0 创建时间:2018-10-13T12:07:00


上期回顾:1、最简单的数据形式——变量 :https://www.codemao.cn/community/166342

今天,我们来借助上次的massage.py来学习一个难点——字符串、整数与浮点数

要知道,就算是小佬这三个东西恐怕也会出错,所以现在需要你好好地——听、思考、记!

现在开始,就是真实的嗯哼君の讲课速度了,跟不上的可以Q我(1162971013)

三者的官方定义一大堆,全是很难理解的词语。简单地说,可以这么理解:

字符串:文字或符号连接起来的一个整体

整数:没有小数点的数字(其实这个是不可能的,至于为何我会在数字处理那里解释一下)

浮点数:带有小数点的数字

即使是.0,系统仍然会将他认定为浮点数——这个0很重要的,因此可能会引起一系列的错误比如“TypeError”。

所以,别乱加什么小数点。

字符串两边需要引号,且语法突出为绿色。而整数和浮点数则不需加引号,且语法突出为紫色。

你可能想将两个变量结合起来,我们称这个为“合并”。

继续上次的错误,我们直接把数字的那个massage改成masage,这样就成了两个独立的变量——一个代表着字符串“hello”,另一个代表着整数37(因为他没有小数点)

在print语句中的合并很简单,可以直接用逗号分隔。也可以用合并法——+。

注意了:and不是合并,所以别闹出“print(x and y)”之类的闹剧了

还有一个要点:print函数中可以直接用“,”来分隔合并,但是这样合并出来的语句中间可能会有空格,“+”则没有。

我们想将massage和masage合起来,说“hello37”,因此有两种方法

#方法一

message = "hello"

mesage 32

print(message + mesage)

 

#方法二

message = "hello"

mesage = 32

messages = message mesage

print(messages)

开头是#的句子是注释,是为了提醒你的。python会自动忽视开头是#的句子,他的语法突出为橙色。注释可以帮你在很长时间后仍然能想起当时的思路,合作编写时用途更大——他能让你知道别人编写这个代码时是怎么想的。

这是个必定TypeError的句子,但是当前我们只需要理解合并的工作原理。

合并可以直接在函数内合并,亦或者在函数外合并。但是前者有些函数可能不适用,所以嗯哼君建议在函数外合并好后再用

我们先来看方法一:直接在函数内合并。

我们先创建了两个变量,接着在处我们在print中直接合并了,所以这是正常的。

方法二我们先在处将message和mesage都合并成了messages,接着我们直接打印messages就行了。(见

若你现在运行,系统会报错。这将会是我们将要接触的第二个错误类型:TypeError(类型错误)

什么是类型错误呢?就是将上面的三种数据形式搞混了,将其合并,就会导致TypeError。

不懂是不是?让我们来以python的视角来捋一下:

他接受了一个字符串与一个整数,接着你想让python把他们俩合起来。

但是Python不懂你的意思:他不知道32到底是“3”与“2”组成的字符串,还是“32”这个数字,所以他会不知所措。

我们继续用比喻的方法来理解三种数据形式的合并方法,了解完原理之后你就知道为何python会迷糊了。

字符串我们可以理解为一条线把好几个字母或符号穿起来了,比如“hello”。

若我们想合并字符串,python就直接把两个串连在一块,比如把“hello”串与“world”串穿起来,系成一条线。

接着系统就会输出“helloworld”,若要空格可以在两个串里面提前加上亦或者直接用print里的“,”合并。

而整数的合并就是加法,比如3 + 5系统会输出“8”,而不是“35”。但若想输出35怎么办呢?这个我们等会讲。

浮点数与整数看似相近,若有着天壤之别。他无法直接3.5 +  6,浮点数只能和浮点数相加。

若我们要将浮点数与整数相加,只有一种方法——把整数变为浮点数。

float函数可以将整数变为浮点数而不改变其数值。比如上面的“3.5 + 6”就可以变成“3.5 + 6.0”,这样就可以正常啦

除此之外,也可以转换为整数(int)与字符串(str),具体用法为:str()在括号里加上要改变的值

我们现在来解决上述的“整数合并”问题,思路是这样的:将两个数值都改为字符串,合并后再改成整数

代码(三个函数的语法突出均为红色):

print(int("3" + "5"))

这样系统就会输出“35”啦

若我们没有将其转换成相同的数据形式,系统就会TypeError。

现在我们将上面的message.py修改成这下面这个样子,系统就能正常运行啦

#方法一

message = "hello"

mesage 32

print(message + str(mesage))

 

#方法二

message = "hello"

mesage = 32

messages = message + str(mesage)

print(messages)

处,我们将mesage转换成了字符串的类型,所以系统将32视为“3”与“2”,因此输出了“hello32”

处我们也将mesage改成了字符串的形式,因此messages就是字符串“hello”与字符串“32”的结合体。

好了,本节课就到这里了,大家下节再见吧!

下节预告:3、数据类型的运用

PS:提前露个底,下一章将会学对字符串进行修改(大小写、去除空白等)以及数据的运用(运算)等欧~~~


回复

上一页1 页 / 共 1下一页
嗯哼君 渠源嗯哼君 渠源

再次没人······

点赞0


评论


科普喵科普喵

排版还可以再优化点哦~内容还是不错的

emotion_编程猫_加油

点赞0


评论


Emma(⊙_⊙)Emma(⊙_⊙)

支持一下~

点赞0


评论


Python新世界Python新世界

emotion_编程猫_点赞

点赞0


评论