Python中的数据类型
写在前面:
从上学开始,我们就会注意到身边总会有一些特别牛的人,在我们眼里,他们总是成绩那么得优异。其实我们没必要去羡慕别人,也没必要总拿自己和别人比。别人那么厉害肯定是背后付出得比我们更多,他们只是积累的比我们多罢了,他们只是把好多小的、细节上的问题做到了极致,这些小的问题不断地经过时间的积累,最终使他们在我们眼里看起来非常优秀。其实人都是一样的。我们没必要去跟别人比,我们只需要跟过去的我们比,我们也要一点一点地去积累知识,我们也要把很多细节上的问题做到极致,我们每天都要比昨天的那个我更加进步。总有一天,我们也会变成别人眼里那个非常牛的人。 所以我们要注重积累,注重细节。在这个终身学习的时代,世界瞬息万变,唯有不断地学习不断地积累,才能不被时代所淘汰。对待知识,我们要抱有尊重的心态,终身学习,人人为师。
对前两篇Python文章内容进行补充
先对前面的文章进行补充和强调。python中一些琐碎的内容还是比较多的。
注意2和2.0是两个不同的对象,一个是int型的数据,一个是float型的数据。用id()函数查看内存地址,内存地址相同的才是同一个对象。
下划线标记数字
当一个数字较大的时候,可以使用下划线做标记,方面我们读一个位数比较多的数字。例如:
下划线不对数字产生影响
python中用None代表空值,None首字母要大写。
根据ASCII码表中的值,'2' > '1'的结果为True,但是ASCII码表中没有'11','2' > '11'的结果为True,因为'2'和'11'的比较已经转化为了字符串的比较,这个是一个值得注意的一个点。
注意在python中,变量的本质是一个容器,变量本身没有数据类型,而且变量只有在被赋值的情况下才会被创建
python中的转义字符
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符(横向跳格),字符\本身也要转义,所以\\表示的字符就是\本身。
在字符串前面加个字母r表示字符串原样输出:
python中更多的转义字符:
\n:表示换行
\\:表示反斜杠
\b:表示退格符
\t:表示制表符,相当于TAB键
\':表示一个单引号
\":表示一个双引号
\0:表示空值,None就是这个转义字符
长字符串:
在之前的博客中讲到注释的时候,说过用三对单引号或三对双引号进行多行注释。其实用三对单引号或三对双引号包裹起来的内容是长字符串,一方面用来写注释作为说明文档,另一方面,可以将这种长字符串赋值给变量,然后再输出,而且会保留长字符串的格式。例如:
字符串中的format格式化占位:
使用%号占位:
%d和%i:表示整数的占位
%f:表示浮点数的占位
%s:表示字符串的占位
%c:表示单个字符的占位
%e:将要填坑的数转化为科学计数法输出
%g:将要填坑的数转化为科学计数法输出(比%e更好一些,因为它会做出一些选择)
使用format占位:
使用格式为字符串.format(参数表),字符串即想要输出的字符串,该字符串中的{}即为要填的坑,format()括号中的参数即为要传入的变量。例如:
或者写成:
或者在{}大括号中加入数字,从零开始,分别对应format()后面括号中的参数顺序:
其实在python3.6.4以上的版本中,可以使用更加简洁的方法进行format占位:直接在字符串前面加上字母f表示该字符串将要以format格式化占位的形式输出,且{}大括号中要填入变量的名字,变量也可以进行运算。例如:
或者写成:
补充python中查看字符串长度的函数len(),例如:
注意转义字符\n算一个字符,注意一个汉字算一个字符,这个也是python比C语言进步的地方:
C语言中统计字符串长度的函数strlen()很明显只是针对英文,因为一个英文字母占一个字节(byte),所以统计字符串长度的时候直接统计字节数就可以了。然而汉字却不同,一个汉字占两个byte,在进行计算字符串长的的时候,四个汉字字符的字符串输出的时候就变成了8,这样就不算是真正意义上的统计字符串的长度了。
in与not in也可以判断一个字符或一段字符串是否在一个字符串当中
在上一篇博客中,我已经介绍过了in与not in,它们都是身份运算符,用于判断对象是否是某个集合的元素之一。它也可以判断一个字符或一段字符串是否在一个字符串当中。例如:
求字符串中ASCII码值最大的那个字符max()函数和min()函数:
max源自英文单词maximum(adj.最大的)
min源自英文单词minimum(adj.最小的)
使用ord()函数得出一个字符的ASCII码值,只能有一个参数
split()分割字符串:字符串.split(分割的标志)
这里的r是一个变量,之前也说过变量是一个容器,它并没有数据类型,也就是说分割后得到的一些字符串会以列表的形式保存到这个变量r容器当中。
函数和方法的区别:函数就是形如“xxx()”这种格式,比如“print()”、“input()”、“len()”。方法就是形如“yyy.xxx()”这种格式,比如“s.split(' ')”,点前面的“s”是对象,点后面的split()是方法,其实方法也是特殊的函数,只不过前面要加上对象。
join()方法给字符串插入指定的字符或字符串:字符或字符串.join(被加入的字符串),如下图:
字符串去空格或转义字符的方法
strip()左右去空格或转义字符
lstrip()左边去空格或转义字符
rstrip()右边去空格或转义字符,三者使用格式都为字符串.strip()
字符串大小写:
s.upper()全部大写
s.lower()全部小写
s.isupper()判断是否全部为大写
s.islower()判断是否全部为小写
字符串之间可以做加法,就是把两个字符串拼接在一起,但是字符串之间不能做减法,字符串之间也不能做乘法,但是整数可以跟字符串相乘,表示重复该字符串多少次
如果是负整数或零乘以字符串,得到的结果是空字符串。
字符串的替换函数:字符串.replac(参数表),如下图:
如何查看python的说明文档
查看说明文档的方法有很多,前面的博客中介绍了几种方法。在安装python的时候,安装完成后都会带上一个文件:打开这个问号图标的文件,里面全是该python版本的说明文档。
tip:当使用help()函数获得帮助文档时,按回车键加载更多帮助文档,按q键退出帮助文档
python基础数据类型
为什么会有数据类型?
更好地分配管理内存
方便统一管理
更贴近人类分类管理习惯
数据类型种类
可变的数据类型:列表list和字典dict
不可变的数据类型:整型int、浮点型float、字符串型string和元组tuple
python中变量只有被赋值才会被创建
python有自己自带的、内置的数据类型。在python中允许自定义数据类型
数值类型
小整数对象池
小整数对象池当中的每一个数都是创建好的
超出范围的整数就直接即时创建一块内存空间来存储
小整数对象池的作用,节省开销,增快运行速度
python中数据的内存缓冲机制
在python中,使用del删除对象。对于数据而言,数据对象被删除后,它的内存并没有被立即回收,而是有一定的缓冲机制,即一定时间内,该数据有没有被再次调用,如果有,则调用,如果没有,则回收掉内存。
变量a被删除后,变量b再次调用该数据,且打印内存地址,就会发现内存地址也是一样的。
import time
time.sleep(10)
让系统休息的函数,参数为休息的秒数
复数(不常用)
数学计算
在python3中round()四舍六入五成偶,在python2中四舍五入,可以保留几位小数。四舍六入五成偶:即小数何时进一,如下图:
可以有两个参数,第二个参数是保留小数点后几位,没有第二个参数的情况下,默认保留整数部分。当保留整数部分时,进一规则为四舍六入五成偶
import math导入内置标准库math,进行更多的数学计算
具体的一些数学函数的使用方法可以去python的说明文档中查看
9.2. math?Mathematical functions
布尔型
空字符串、空列表、空字典的bool值都为False
字符串的下标引用
注意字符串是不可变的数据类型
注意下标不能超过字符串字符的个数,否则会报下标错误
字符串的切片
字符串的切片slice
start为起始位置,stop为结束位置,step为可选参数,默认情况下为1
比如:
这里的[2, 6]是左闭右开的区间,即2能取到,6取不到。且下标是从0开始的
简单了解计算机存储方式
字符串的常用操作列举
下一篇文章
标签:字符,Python,数据类型,运算符,python,转义字符,字符串
来源: https://blog.csdn.net/m0_46190471/article/details/113550597