Python学习笔记——数据类型与转换

目录

一、数据类型

1.字符串

2.整数 

3.浮点数

二、数据的应用

1.四则运算

2.字符串的拼接

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

三、数据转换

1.str()函数

2.int()函数

3.float()函数

小结

总结


一、数据类型

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

1.字符串

字符串,字符串英文string,简写str

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

代码如下(示例):

name = "晓寒"
born_city = "出生在南平"
settle_city = "生活在厦门"
age = "34"
year = "岁"

print(name)
print(born_city)
print(settle_city)
print(age)
print(year)

运行结果如下:
晓寒
出生在南平
生活在厦门
34
岁

字符串,顾名思义,就是由一个个字符串起来的组合,字符可以是一个数字、一个字母、一个文字,甚至是一个符号。字符串可以表达现实世界里的词、语句、表达式等。

代码如下(示例):

xiamen = "来到厦门的黄厝,寻一处安寂的海滩,没有消耗时光的人群,只有认真生活的居民。"
night = "照明灯洒下桔色的光晕,整个商场显得典雅素洁,仿佛步入长长的画廊。"
attractions = "厦门有很多景点,但给我印象最深刻的是鼓浪屿,那里的风景最迷人。"

print(xiamen)
print(night)
print(attractions)

结果运行如下:
来到厦门的黄厝,寻一处安寂的海滩,没有消耗时光的人群,只有认真生活的居民。
照明灯洒下桔色的光晕,整个商场显得典雅素洁,仿佛步入长长的画廊。
厦门有很多景点,但给我印象最深刻的是鼓浪屿,那里的风景最迷人。

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

2.整数 

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

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

a = 15
b = -50
c = 521
d = 0

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

# 打印整数
print(521)

# 打印结果
521

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

 比如像这样:

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

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

 所以牢记整数就是:是正整数、负整数和零的统称,是没有小数点的数字。

3.浮点数

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

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

2.0
3.464
-0.521

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

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

下面,请你先心算一道题【0.55+0.3】,然后我们再让Python算一下:

print(0.55+0.3)

运行结果如下:
0.8500000000000001

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

# 进制转换
0.55(十进制) = 0.1000110011001100110011001100110011001100110011001101(二进制)
0.3(十进制) = 0.0100110011001100110011001100110011001100110011001101(二进制)

而在这个转化过程中存在误差,这样,就造成了我们与程序计算结果的差异。然后,这俩二进制数通过二进制法则运算后,再通过复杂的计算公式,将二进制结果转成十进制小数。

二、数据的应用

1.四则运算

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

Python 算数运算符
 运算符说明实例结果
+1 + 12
-2 - 1

1

*2 * 12
/7/ 23.5
//整除(只保留商的整数部分)7 // 23
%取余,即返回除法的余数7 % 21
 **幂运算/次方运算,即返回 x 的 y 次方 2 **38

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

代码如下(示例):

print(499*561+10620-365)
print((5025-525)/100+18*17)

运行结果如下:
290194
351.0

如print((5025-525)/100+18*17)】的运算顺序:最先计算括号里的【5025-525】;然后将【5025-525】的结果除以100,第三步则计算【18*17】,最后将除法和乘法的结果相加。

知识点:

简单运算优先级口诀:从左到右先算括号里的,括号外的则乘除先于加减。

2.字符串的拼接

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

代码如下(示例):

name = "晓寒"
born_city = "出生在南平"
settle_city = "生活在厦门"
age = "34"
year = "岁"

print(name+age+year+born_city+settle_city)

运行结果如下:
晓寒34岁出生在南平生活在厦门

有了拼接符号,还可以调整变量的拼接顺序,输出不同的内容。

代码如下(示例):

name = "晓寒"
born_city = "出生在南平"
settle_city = "生活在厦门"
age = "34"
year = "岁"

print(name+age+year+born_city+settle_city)
print(name+born_city+settle_city+age+year)

运行结果如下:
晓寒34岁出生在南平生活在厦门
晓寒出生在南平生活在厦门34岁

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

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

查询出来什么类型,我们要结合print()函数打印出结果。

代码如下(示例):

name = "晓寒"
born_city = "出生在南平"
settle_city = "生活在厦门"
age = 34
year = "岁"

print(type(name))
print(type(born_city))
print(type(settle_city))
print(type(age))
print(type(year))

运行结果如下:
<class 'str'>
<class 'str'>
<class 'str'>
<class 'int'>
<class 'str'>

三、数据转换

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

1.str()函数

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

当我们使用引号时,引号里的东西,都会被强制转换为字符串格式。

代码如下(示例):

name = "晓寒"
born_city = "出生在南平"
settle_city = "生活在厦门"
age = 34      #为整数,用str()转换成浮点数
year = "岁"

print(name+str(age)+year+born_city+settle_city)
print(name+"34"+year+born_city+settle_city)

运行结果如下:
晓寒34岁出生在南平生活在厦门
晓寒34岁出生在南平生活在厦门

2.int()函数

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

代码如下(示例):

number1 = '500'
number2 = '20'

print(int(number1)+int(number2))
print(500+20)

运行结果如下:
520
520

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

首先,整数形式的字符串比如'500'和'20',可以被int()函数强制转换。

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

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

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

print(int('5.2'))

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

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

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

观察下方代码:

print(int(5.2))

运行结果如下:
5

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

3.float()函数

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

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

代码如下(示例):

height = 125.0
weight = 112.5
age = '34'

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

运行结果如下:
125.0
112.5
34.0

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

小结

已经知道了转换数据类型的方法了,看下图看他们的关系吧

总结

数据类型与转换总结看下下图

  • 19
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值