python数据类型及计算和转换--【美国队长的洞察计划】
网赚灯塔
导航

python数据类型及计算和转换--【美国队长的洞察计划】

发布时间:2个月前 热度: 197 ℃ 评论数: 0

数据类型


在 Python 江湖里,常用的数据类型有三种:字符串,整数,浮点数。


字符串


字符串英文名 string,简称 str。 其实, 在上一关初入江湖的时候, 你已经用过它了,看面庞很熟悉。
代码片段
是不是很熟悉? 你猜对了,穿上单引号、双引号、三引号黄袍的内容就是字符串,无论引号里面内容是中文、英文、法文、数字、符号、甚至是火星文。

下面,请观察使用下面的代码,体验字符串的应用。

movie = '美国队长2'

name = 'The Winter Soldier'

price = "7.14"

word = '''≡(▔﹏▔)≡'''

print(movie)

print(name)

print(price)

print(word)


print('''我们强者就该无所畏惧。

那你为什么要跑?''')



江湖秘籍:字符串类型必须有引号。字符串没有引号,就会向你吐槽的。
下面,我们来总结一下字符串小结。



整数


Python 江湖的整数和我们现实数学中定义的一样:整数是正整数、零和负整数的统称。说白了,就是没有小数点的纯数字。

age = 18 

height = 192 

weight = 80


浮点数


浮点数是显而易见的,它比整数多了一个小数点【.】,下列代码中的数字都是浮点数。

3.1415926

95.27

999.00

浮点数虽说比整数多一个小数点,但是它存在一个 bug。因为浮点数的特点,导致它在计算机内运算时,结果不是那么精确,会有四舍五入的差。这是什么意思呢?


print(0.35+0.11)

输出:

0.45999999999999996


呀? 怎么不是 0.46 呢,而是一个比 0.46 小的数字? 这是因为 Python 在计算浮点数时,会有相应的转换机制,所以最终的小数精度会缺失。
以上,就是我们接触的三种常用的数据类型: 字符串、整数、浮点数。


四则运算


Python 江湖中的整数、浮点数和数学上的整数、小数是一样的,它最重要的作用是结合运算符号进行数学计算。 接下来我们看一下 Python 如何利用整数、浮点数进行四则运算。
有了四则运算,再说一下 Python 江湖里的运算优先级。
啥叫优先级呢?
先算乘除,再算加减,有括号的先算括号里的,从左往右。别想多了,和数学上的运算一样一样一样的。
下面的代码测试一下吧

print(999.99*56)

print(103*50)

print(999.99*56-103*50)

print((55+22)*99+(38-21)*10)

输出:

55999.44
5150
50849.44
7793


字符串的拼接


例如,这里有几个零碎的词语,也就是变量。然后组合成一句话,‘美国队长取材于漫威漫画',在 Python 江湖中,你要如何实现呢?

hero = '美国队长'

title = '漫威漫画'

action = '取材于'

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

print(hero+action+title)

输出:

美国队长取材于漫威漫画


学会了字符串拼接,就能让我们整合数据更加灵活,组合出我们想要的任意内容。
这就是我们所学的字符串拼接。在python编程中使用频率非常非常高哦!
运行下面代码,下面这段代码有 bug。看看什么表现

name = '美国队长'

num= 2

print(name+num)

输出:

Traceback (most recent call last):
  File "main.py", line 4, in <module>
    print(name+num)
TypeError: must be str, not int


理想很丰满,现实很骨感。计算机又向我们吐槽了。
江湖秘籍:只有字符串与字符串才能拼接。
num=2中的2没有引号,也就是说 num 不是字符串,而是一个整数。
就是它,出不来结果,就是 num 的锅。
那么问题来了,当我们探查洞察计划中更多的数据时怎么办? 总不能通过肉眼一个一个去看呀。向下看,有答案


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

只要你把内容写在括号里,type()函数会自动查询它的类型。

name = '美国队长'

num = 2

type(name)

type(num)

输出:



呀?咋啥都没出现呢?
没有内容就对了。 对于 Python 而言,你只是下了一个查询类型的命令,type()函数已经执行结束,就……就……就没然后了。
因此,我们要结合 print()函数打印出结果。 下面,补全代码,将 type()函数查询结果放进 print() 中,例如 print(type(name))。

name = '美国队长'

num = 2

print(type(name))

print(type(num))

输出:

<class 'str'>
<class 'int'>


貌似到现在,我们还是没有将 name = '美国队长'与 num = 2 拼成'美国队长 2'啊。
为什么一个字符串类型的变量与一个数字类型的变量不能连接起来呢?就是他俩不是一类人。
打个比方,美女配英雄,总不能美女配野兽啊,美女和野兽聊不起天啊。
但是,你现在非得让美女配野兽,怎么办?怎么才能把两个不同类型的数据拼在一起?
这就涉及到了这堂课的最后一个知识点: 数据转换。


数据转换

数据转换的方法有3个: str() ,int(),float()


str()函数


str()函数可以帮助我们解决刚才问题,它可以将其他类型的数据变换成 str 类型。
str()函数, 不管你之前属于啥类型。 只要到了我的地盘,就得听我的,我就把任何数据都转成字符串类型。

name = '美国队长'

num = 2

print(name+str(num))

输出:

美国队长2


int()函数


int()函数可以将其他类型的数据转换成整数类型,像 str()一样,你只需要将转换的数据放进 int()中。

num1 = '3'

num2 = '6'

print(int(num1)+int(num2))

输出:

9


不过对于 int()函数的使用,大家要注意一点: 只有字符串中的内容是纯数字时,才能够使用 int()函数进行强制转换。

print(int('9.9'))

输出:

ValueError:invalid literal for int() with base 10: '9.9'


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

print(int(9.9))

输出:

9


int()函数的本质是将数据转换整数,对于浮点数,就是取整处理,也就是只拿走整数部分。 不会做四舍五入操作。


float()函数


float()函数可以将整数和字符串转换成浮点数类型,但前提是,这个字符串中的内容一定是数字形式。

height = 198.2

weight = 97.56899

age = '30'

print(float(height))

print(float(weight))

print(float(age))

输出:

198.2
97.56899
30.0


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

下面是课堂练习时间咯!


任务目标1:

请使用 str()函数将所给变量拼接起来,其中所给变量在右侧可查看。 最终输出结果为两句话:
第一句话:1囚犯:你有什么能力来带我们出去?
第二句话:2CA:我揍了希特勒200多次。


以下为所给变量,可直接复制到书写代码区域。
num1 = 1
num2 = 2
name1 = '囚犯'
name2 = 'CA'
word1 = '你有什么能力来带我们出去?'
word2 = '我揍了希特勒200多次'
fuhao1 = ':'


参考代码:

print(str(num1)+name1+fuhao1+word1)

print(str(num2)+name2+fuhao1+word2)


任务目标2:

请使用数据转换 str()、int()、float()及数据拼接符号+,完成已给变量的拼接,其中已给变量在进入练习中提供。以下是输出结果:

美国队长2该片于2014年4月4日在北美与中国同步上映。

以下是所提供的变量,可直接【复制粘贴】到编写代码区域。

name = '美国队长'

num = '2.5' 

word = '该片于2014年4月4日在北美与中国同步上映。'


参考代码:

print(name+str(int(float(num)))+word)


python数据类型,python数据计算,python数据转换

吐槽一下
  • 消灭零回复

手机扫码访问