数据类型

基本的数据类有哪些呢?数字、字符、字符串。查看数据类型,转换数据类型。

Lukas的爸爸是[邱红涛], 他毕业于[HIT],今年[38]岁了,身高[1.72]米,体重[72]公斤;他们家有[5]个人,他们住在[深圳宝安]一个小区的[3]楼,一个月用电[357.6]度;爸爸给Lukas买了个雪糕花了[3.5]圆;他们今天,驾车通过惠深沿海高速,去惠州巽寮湾旅游;惠深沿海高速,深圳段限速[80]公里/小时;惠州段限速[120]公里/小时,但惠州段最低限速[60]公里/小时;Lukas在路上看到了一个救护车,以[125]公里每小时的速度飞驰而过,Lukas想让爸爸开快点,早一点去海边玩,不知道可以吗?

上边的小故事中,包含了那些可以用Python支持的数据类型来描述呢?有一些数字,有一些是带小数点的数字,有一些可能是字符串,还有那些呢?先想一想,然后看下文中说明,Python就是这么神奇,可以用Python代码,来描述你的行程。

Python都有那些类型数据

布尔型

布尔值和布尔代数完全一致,包含TrueFalse;要么是True,要么是False。在变量命名中,已经知道了True和False都是Python的保留字;要注意大小写;可以通过比较运算出来。

'''
Welcome to LearnPython.NET

File Name: PDataType.py
Download from:https://www.learnpython.net/cn/python-code-samples.html
Author: LearnPython.Net
Editor: CoderChiu

'''
#####布尔型#####

#是否合法(默认为True);
bValid = True

#是否是救护车;
bAmbulance = False

print(bValid)
print(type(bValid))

print(bAmbulance)
print(type(bAmbulance))

执行之后,看到,通过比较运算,当前速度和限速80之后,得到一个布尔值True,它的数据类型是<class 'bool'>

>>> %Run PDataType.py
True
<class 'bool'>
False
<class 'bool'>

布尔值会进行 andornot 运行;例如高速公路限速有的路段限速80;有的路段限速120,但车速不得低于60;[这就是 and 的运算]但紧急救援情况下,救护车例外;[这就是 or 的运算] 判断是不是救护车就是 not 运算;我们就根可以编写一个如下的代码,来描述这个小片段。

#当前车速;
nSpeed = 0

#道路限速80,小于等于80合法,当前速度79;
bValid = 79 <= 80

print("If nSpeed = 79, bValid = ", bValid)
print(type(bValid))

#不是救护车not 运算
bAmbulance = not True
print("If not an Ambulance, bAmbulance = ", bAmbulance)

#高速上小车道要求速度,大于60,小于120(and 运算)
nSpeed =  81
bValid = (nSpeed >= 60) and (nSpeed <=120)
print("If nSpeed = 81, bValid = " , bValid)

#高速上如果是救护车,或者速度允许(or 运算)
bAmbulance = True
nSpeed =  125
bValid = bAmbulance or ((nSpeed >= 60) and (nSpeed <=120))
print("If an Ambulance nSpeed = 125, bValid = " , bValid)

运行结果如下:跟你预想的是否一致呢。

>>> %Run PDataType.py
If nSpeed = 79, bValid =  True
<class 'bool'>
If not an Ambulance, bAmbulance =  False
If nSpeed = 81, bValid =  True
If an Ambulance nSpeed = 125, bValid =  True

数字

整数:比如人的年龄;你家住在几楼;你们家有几口人;这些就是整数。咱们小时候学的1,2,3,4,5都是。

######整数######

#年龄
nAge = 38

#楼层
nFloor = 3

#家庭人数
nPersonInFamily = 5

#看一下数据类型
print(type(nAge), type(nFloor), type(nPersonInFamily))

运行之后,发现nAge,nFloor,nPersonInFamily都是<class 'int'>类型,这就是Python内建的整数这种数据类型。

>>> %Run PDataType.py
<class 'int'> <class 'int'> <class 'int'>

浮点数:数字除了整数,还有带小数点的数字;比如身高1.72米;今天买了个雪糕,花了3.5圆;这个月家里用了357.6度电;这些就是浮点数。

####浮点数#####

#身高(单位:米)
fHeight = 1.72

#体重(单位:公斤)
fWeight = 72.35

#雪糕的价格(单元:圆)
fPriceOfIcecream = 3.5

#家庭月度用电量(单位:度)
fDegreeOfPower = 357.6

#看一下数据类型
print(type(fHeight), type(fWeight), type(fPriceOfIcecream), type(fDegreeOfPower))

执行结果显示,发现fHeight, fWeight, fPriceOfIcecream, fDegreeOfPower都是<clsss 'float'>类型,这就是Python的内建的浮点数数据类型。

>>> %Run PDataType.py
<class 'float'> <class 'float'> <class 'float'> 
<class 'float'>

字符和字符串

字符就是字母,比如,“a”,“b”,“c”,这些都是字母,“A”,“B”,“C”也是字母;还有那些呢,“,”,“?”,“*”也是字符;空格(“ ”)也是字符。还有哪些你能想到的字符呢?

字符串就是有由字符组成的列表;比如,我的名字是“coder chiu”;我的学校是“HIT”,我的地址是“ShenZhen,Baoan”;这些都是字符串,你还能想到那些呢?

#####字符串#####
#名字
strName = "Qiu Hongtao"

#学校
strScheelName = "HIT"

#家庭住址
strAddress ="Shenzhen, Baoan."

#看一下数据类型
print(type(strName), type(strScheelName), type(strAddress))

这些变量strName,strScheelName, strAddress的类型是<class 'str'>,字符串也是Python的内建常用的数据类型。

>>> %Run PDataType.py
<class 'str'> <class 'str'> <class 'str'>

查看数据类型和类型转换

用type(variablesName),就知道了变量variablesName的数据类型,前边的例子中已经有了。

常见的数据类型转换:

  • int(variablesName):会把一个变量variablesName变成整数

  • float(variablesName):会把一个变量variablesName变成浮点数

  • str(variablesName):会把一个变量variablesName变成字符串

示例代码:

#####类型转换#####

#将体重精确到公斤;
print(type(int(fWeight)))

#把身高转换为字符串;
print(type(str(fHeight)))

#把年龄转换为浮点数
print(type(float(nAge)))

执行结果:

>>> %Run PDataType.py
<class 'int'>
<class 'str'>
<class 'float'>

类型转换失败

不是什么类型都可以所以转换的,不合适的类型转换,就会出错。

Last updated