引导:
部分现实世界的东西、概念都可在python世界里找到对应,比如:现实世界中最常见的数字,文字,符号在Python世界就是:【数据】
数据类型
在现实世界的镜像——Python里,最常用的数据类型有三种——字符串(str)、整数(int)和浮点数(float)。
字符串
字符串的识别方式非常简单——有层名为【引号】的皮,只要是被【单/双/三引号】这层皮括起来的内容,不论那个内容是中文、英文、数字甚至火星文。只要是被括起来的,就表示是字符串类型。
常见的字符串类型
关于字符串,大家一定要记得:字符串类型必须有【引号】的辅助。不然字符串就只能被报错,无尽地呻吟~
小结一下
整数
有的时候,某些数据它脱了【引号】的马甲,也照样能打印出来。例如在上一关我们见过的【print(520)】。
整数它其实就是数学意义的整数
常见数据类型中的第二种:整数,整数英文为integer,简写做int。Python世界的整数其实和现实世界数学中定义的一样:是正整数、负整数和零的统称,是没有小数点的数字。
比如在下面的代码框中,赋值语句中的数字都是整数:
小练习:
请问以下三个数据【'hello mirror world'】、【108】、【''108''】的数据类型分别为?
由单引号括起来的【'hello mirror world'】和【''108''】是字符串,无引号的【108】是整数,"108" 只要有引号,就会按照字符串输出了
整数其实是一个不带小数点的数字,可以不穿名为引号的马甲,直接跟print()函数组团搞输出,比如下列代码:
浮点数
计算机里浮点数的运算是不精确的,会有四舍五入的误差。
请你先心算一道题【0.55+0.3】
Python计算浮点数时,会先把0.55和0.3转化成二进制数【注:二进制数由0和1表示,逢二进一】,如下:
进制转换
而在这个转化过程中存在误差,这样,就造成了我们与程序计算结果的差异。
总结:
如果详细进行分类,数据类型可以分为下面这么多类型,目前先说这三种,之后章节会详细补充
数据的应用
四则运算
Python里的整数、浮点数和数学意义的整数、小数是一样的,它最重要的作用是与运算符号结合,进行数学计算。接下来我们看一下Python如何利用整数,浮点数进行四则运算。
Python世界的运算符
运算优先级:Python世界的运算优先级,和我们平时的计算优先级是一样的。
我们来看看【print((5025-525)/100+18*17)】的运算顺序:最先计算括号里的【5025-525】。
然后将【5025-525】的结果除以100,第三步则计算【18*17】,最后将除法和乘法的结果相加。
字符串的拼接
最简单的相同的字符串拼接:
我有以下几个零碎的『词语』——变量,然后想合成这样一句话:我是北清编程学员007,在镜像世界里进行身份验证,你要怎么做呢?
常见的拼接错误:
报错【TypeError: Can't convert 'int' object to str implicitly】(无法隐式将“int”对象转换为str)
发现了【b = 2】中的【2】没有【引号】和【小数点】,是一个整数,原来『奸细』就是它。难怪当时在终端区会给我报错说:数据类型不同
检测数据类型的函数type()
我们要学会善用Python的魔法,使用Python中一个已有的,既简单又实用的函数,来帮助我们查询不确定数据的类型。而这个函数,就是type()函数。只需把查询的内容放在括号里就行
在type()函数的帮助下,我们知道也可以查找出字符串里面出现的『奸细』——整数。
为什么不同类型的数据不能拼接在一起呢?一句话:圈子不同不相融。
数据转换
函数 | 描述 |
---|---|
int(x [,base]) | 将x转换为一个整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个 (key, value)元组序列。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符(参考ASCII表) |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
数据转化函数有以上这么多,但是本次先学常见的三项
转换成字符串类型
思考:如何把两个不同类型的数据拼接在一起?
str()函数转法为字符串
str()函数可让其他类型的数据分身成str类型
str()函数能将数据转换成其字符串类型,不管这个数据是int类型还是float类型,只要放到括号里。这个数据就能摇身一变,成为字符串类型。
引号强制转化为字符串:
借用【引号】的帮助,比方说153=1x1x1+5x5x5+3x3x3是个水仙花数这个结果,我也可以写成下面这样:
小练习:
两种方法打印出结果:镜像世界的1天等于现实世界的666天
转换成整数类型:
int()函数
格式:
int(转换的内容)
例如:
计算出number1和number2这两个变量的和
注意:
只有符合整数规范的字符串类数据,才能被int()强制转换。
什么叫做符合规范?
两个可以:
整数形式的字符串比如'6'和'1',可以被int()函数强制转换。
浮点形式的字符串,不能使用int()函数。但浮点数是可以被int()函数强制转换
两个不可以:
文字形式,比如中文、火星文或者标点符号,不可以被int()函数强制转换
小数形式的字符串,由于Python的语法规则,也不能使用int()函数强制转换
float()函数
两个要点:
float()函数也可以将整数和字符串转换为浮点类型
如果括号里面的数据是字符串类型,那这个数据一定得是数字形式
总结:
总结:
练习:
请运用所给变量,使用数据转换str()、int()、float()及数据拼接符号+,打印一句话: 脸黑怪我咯7张蓝票一个SSR都没有
所给变量:
slogan = '脸黑怪我咯'
number = '7.8'
unit = '张'
sentence = '蓝票一个SSR都没有'
解析:
1.由于变量中有小数形式的字符串'7.8',所以需要使用转换函数将此变量转换为浮点型
2.转换后使用int()函数取整
3.由于数据拼接需要变量为字符串形式,所以需要将变量转化为字符串类型
4.最后数据拼接,得出结果
答案(这里的小数类字符串的转换要细品一下):
补充
输出-格式化操作符的使用以及f-
占位符形式:
占位表:
上表中很多占位符不常见,无需都记,常见的占位符有:
%d 以整数输出
%3d 输出时,数据占3个字符宽度
%03d 输出时,数据占3个字符宽度,当数字不足三个字符串时,前缀补0
%-3d 输出时,数据占3个字符宽度,左对齐
%f 以小数形式输出
%.3d 小数点后保留位数是3位
%s 以字符串形式输出
输出格式:'a 的值是 占位符1 ;b的值是 占位符2' %(值1,值2)
一些特殊情况:
f_string: f'字符串 {数据} '
复合赋值注意
为了简化代码,有时a=a+b会简写为a+=b
复合赋值先算右边
发布者:LJH,转发请注明出处:https://www.ljh.cool/7486.html