数据类型

在现实世界的镜像——Python里,最常用的数据类型有三种——字符串(str)、整数(int)和浮点数(float)。

字符串

首先,我们来认识一下字符串,字符串英文string,简写str

字符串的识别方式非常简单——有层名为【引号】的皮,只要是被【单/双/三引号】这层皮括起来的内容,不论那个内容是中文、英文、数字甚至火星文。只要是被括起来的,就表示是字符串类型。

print("Let's play")

name='千寻'

 在这组代码里,【'千寻'】、【"Let's play"】都属于字符串类型。

关于字符串,大家一定要记得:字符串类型必须有【引号】的辅助。不然字符串就只能被报错,无尽地呻吟~

question = 'Python魔法可以生成镜像世界吗?'
meaning = '镜像世界的意义是解决一些在现实世界难以实现的任务,同意+1'
emotion = 'clapping!耶!'
slogan = '进入镜像世界——python,提高战斗力!'

 下面,我们来小结一下字符串的知识点。

python怎么表示一个字符是英文字母 python中字符串的英文_浮点数

整数

可是有的时候,某些数据它脱了【引号】的马甲,也照样能打印出来。例如在上一关我们见过的【print(520)】。

这就是我们要介绍的,常见数据类型中的第二种:整数整数英文为integer,简写做int。Python世界的整数其实和现实世界数学中定义的一样:是正整数、负整数和零的统称,是没有小数点的数字。

比如在下面的代码框中,赋值语句中的数字都是整数

a = 10
b = -60
c = 6841
d = 0

 整数其实是一个不带小数点的数字,可以不穿名为引号的马甲,直接跟print()函数组团搞输出,比如下列代码:

# 打印整数
print(666)

# 打印结果
666

 我们已经知道了字符串有【引号】的保护,可以和符号及其他文字类数据,譬如中文、英文随意组合。

 

整数脱掉了【引号】马甲,只能『单独行动』。一旦碰上符号及其他文字类数据,譬如中文、英文,立马被报错秒杀。

比如像这样:

# 打印数据
print(6真实)
print(6virtual)

# 终端显示结果:报错:无效语法
SyntaxError: invalid syntax

整数是不是很简单,它其实就是数学意义的整数。下面,我们来总结一下整数这部分的知识点:

python怎么表示一个字符是英文字母 python中字符串的英文_浮点数_02

浮点数

那数学意义上的小数在python中怎么表示呢?它就是我们常见三种数据类型中的最后一种:【浮点数】。

浮点数非常好识别,它比整数多了一个小数点『.』,比如下列代码中的数字都是浮点数

1.0
3.14159
-0.33

浮点数的英文名是float,与整数(int)字符串(str)不同,浮点数没有简写。

浮点数可能让你有点眩晕,这是因为,与【整数运算结果永远精确】的特点不同,计算机里浮点数的运算是不精确的,会有四舍五入的误差

算一道题【0.55+0.3】

print(0.55+0.3)

#打印结果
0.8500000000000001

哎?为什么不是【0.85】,而尾巴多了一个【1】呢?这是因为,Python计算浮点数时,会先把0.550.3转化成二进制数【注:二进制数由0和1表示,逢二进一】

我们来看一下浮点数这部分的主要知识:

python怎么表示一个字符是英文字母 python中字符串的英文_浮点数_03

以上,就是我们最常接触的三种数据类型:字符串整数浮点数的全部内容了。

python怎么表示一个字符是英文字母 python中字符串的英文_浮点数_04

 数据的应用

四则运算

Python里的整数、浮点数和数学意义的整数、小数是一样的,它最重要的作用是与运算符号结合,进行数学计算。接下来我们看一下Python如何利用整数,浮点数进行四则运算。

但是Python世界的算数运算符,和我们平时在纸上写的运算符号有相同点,也有不同点。 

首先,我们来看看Python世界的运算符。

python怎么表示一个字符是英文字母 python中字符串的英文_浮点数_05

运算优先级:Python世界的运算优先级,和我们平时的计算优先级是一样的。

python怎么表示一个字符是英文字母 python中字符串的英文_字符串_06

字符串的拼接

比方说,我有以下几个零碎的『词语』——变量,然后想合成这样一句话:我是一班学员007,在镜像世界里进行身份验证,你要怎么做呢?

hero = '我'
organization = '一班'
identity = '学员'
action = '是'
ID = '007'

# 输出结果
我是一班学员007

这就涉及到了我们下一个知识点——字符串拼接。

字符串拼接的方法可简单了,就是利用字符串拼接符号【+】,将需要拼接的变量连在一起就行了。 

比如,上面的例子,我可以这么写:

hero = '我'
organization = '一班'
identity = '学员'
action = '是'
ID = '007'

print(hero+action+organization+identity+ID)

有了拼接符号,我不仅可以输出【我是风变编程学员007】,还可以调整变量的拼接顺序,输出不同的内容。

下面我们就来试一下

hero = '我'
organization = '一班'
identity = '学员'
action = '是'
ID = '007'
print(hero+organization+identity+action+ID)

#打印结果
我一班学员是007

print(organization+identity+ID+action+hero)

#打印结果
一班学员007是我

学会了字符串拼接,就能让我们的数据整合更为灵活,组合出任意我们想要的内容。

这就是我们字符串拼接部分的要点:

python怎么表示一个字符是英文字母 python中字符串的英文_python怎么表示一个字符是英文字母_07

数据类型的查询——type()函数

 那么,这个type()函数要怎么使用呢?答案就是:只需把查询的内容放在括号里就行。

python怎么表示一个字符是英文字母 python中字符串的英文_字符串_08

只要你把内容写在括号里,type()函数就会立即将它的类型查询出来。下面,如图

who = '我的'
action = '是'
destination = '镜像世界'
number = 153
code = '通行密码'

#打印结果
type(who)
type(action)
type(destination)
type(number)
type(code)

运行结果什么都没有就对了。对于Python来说,你只是下了一个命令——给我查询类型哟~然后Python就老老实实地查询了类型,再然后……就没有了。

在你的命令里,并没有告诉Python:“你查到以后,记得告诉我这个类型的结果啊~”所以,异常老实的Python就把查询到的数据类型……存起来了,没告诉你。 

所以,我们要结合print()函数打印出结果。 

who = '我的'
action = '是'
destination = '镜像世界'
number = 153
code = '通行密码'

print(type(who))
print(type(action))
print(type(destination))
print(type(number))
print(type(code))

#打印结果
<class 'str'>
<class 'str'>
<class 'str'>
<class 'int'>
<class 'str'>

终端里出现的结果,是不是除了4个<class 'str'>,还有1个<class 'int'>

str代表字符串,全称为string,整数的英文简称为int,全称为integer

在type()函数的帮助下,我们知道也可以查找出字符串里面出现的『奸细』——整数。 

不同类型的数据不能拼接在一起,一句话:因为圈子不同不相融。

但是要如何把两个不同类型的数据拼在一起呢?请看下一个知识点:

数据转换

负责转换数据类型的函数一共有3种:str() int()float()

str()函数

str()函数,它拥有镜像世界的『影分身术』,可让其他类型的数据分身成str类型。

str()函数能将数据转换成其字符串类型,不管这个数据是int类型还是float类型,只要放到括号里。这个数据就能摇身一变,成为字符串类型。

如下

who = '我的'
action = '是'
destination = '镜像世界'
number = 153
code = '通行密码'

print(who+destination+code+action+str(number))

只需通过str(number)一个步骤,便可以将整数类型的【153】转化为字符串类型的【153】,成功完成数据拼接。

整数转换字符串类型的方法还有一种转换成字符串的方法.借用【引号】的帮助:如下

magic = '水仙花数'
action = '是'
unit = '个'
expression = '=1x1x1+5x5x5+3x3x3'
number = 153

print('153'+expression+action+unit+magic)

两种不同的写法:str()函数和引号,输出了同一种结果 

下面,我们来小结一下str()函数部分的知识点。

python怎么表示一个字符是英文字母 python中字符串的英文_浮点数_09

int()函数

将数据转换为整数类型的方法也很简单,就是int()函数。其使用方法同str()一样,将你需要转换的内容放在括号里就行,像这样:int(转换的内容)。

下面我们来试验一下,请补全代码,计算出number1number2这两个变量的和。【要点提示:1. int()函数转换数据类型;2. 运算符+计算;3. print()函数】

number1 = '6'
number2 = '1'
print(int(number1)+int(number2))



7      #得到的结果

不过对于int()函数的使用,大家要注意一点:只有符合整数规范的字符串类数据,才能被int()强制转换。

别看它虽然只有一句话,但它其实带有三层含义:首先,整数形式的字符串比如'6'和'1',可以被int()函数强制转换。

其次,文字形式,比如中文、火星文或者标点符号,不可以被int()函数强制转换。

最后,小数形式的字符串,由于Python的语法规则,也不能使用int()函数强制转换。

比方说下列代码,如果点击运行,程序会报错【ValueError:invalid literal for int() with base 10: '3.8'】(值异常:浮点类型字符串无法使用int()强制转换)。

print(int('3.8'))

# 运行后显示结果:ValueError:invalid literal for int() with base 10: '3.8'

这是不是意味着,浮点数不能转换成整数类型了?

 不,虽然浮点形式的字符串,不能使用int()函数。但浮点数是可以被int()函数强制转换的。 

下面,请你先观察下方代码框中的代码,然后点击运行按钮。

print(int(3.8))


3   #得到结果

上方的代码串,就是一条将浮点数3.8强制转换的语句。但是,为什么输出的结果是3呢?

int()函数的本质是将数据转换为整数。所以对于浮点数,int()函数会做取整处理。但是,同我们平时对小数四舍五入的处理方法不同,int()函数会直接抹零,直接输出整数部分。

 

python怎么表示一个字符是英文字母 python中字符串的英文_字符串_10

如果遇到这种情况:字符串就是小数形式,比如'3.8'这种。我不想让它变为整数3,想让它保持小数形式的3.8,那我要怎么做呢?

这就涉及到——float()函数。

float()函数

首先float()函数的使用,也是将需要转换的数据放在括号里,像这样:float(数据)。

其次,float()函数也可以将整数字符串转换为浮点类型。但同时,如果括号里面的数据是字符串类型,那这个数据一定得是数字形式。

下面,我们来打段代码练练手。请补齐代码,将下列所有变量,转换为浮点类型,并打印出结果。【要点提示:print(float(数据))】

height = 188.0
weight = 180.0
age = '89'

print(height)
print(weight)
print(float(age))

#这是打印结果

188.0
180.0
89.0

 在上题中,height与weight变量已经是浮点类型,age是字符串类型(可以用type(变量)来查看数据类型),因此打印前对将age进行float(age)转化即可。

到现在为止,你已经知道了转换数据类型的方法了。下面,我们通过一张图小结一下这三个函数。

python怎么表示一个字符是英文字母 python中字符串的英文_python怎么表示一个字符是英文字母_11

python怎么表示一个字符是英文字母 python中字符串的英文_python怎么表示一个字符是英文字母_12