【Python】学习笔记05

字符串类型的表示

字符串是由0个或多个字符组成的有序数列。一般由一对单引号,或者双引号表示,比如’niubi’与”niubi”。

字符串是字符的有序序列,可以对其中的字符进行索引。字符的序号从0往后,或者从-1往前,前面第一章已经解释了。

现在深入一点,字符串总共有2类共4种表示方法。

0《由一对单引号或双引号表示,仅表示单行字符串

1《由一对三引号,或者三双引号表示,可以表示多行字符串

字符串中有单引号时,要用双引号表示字符串;字符串中有双引号时,要用单引号表示字符串;如果字符串中既有单引号又有双引号,要用一对三引号表示字符串。

字符串的索引与切片,参考一下案例:

c=“醉红尘真帅”

c[0]是醉,c[1]是红,以此类推...

c[0:3]是醉红尘,不包括c[3];明白了吗?

直接看图,来看看切片的高级用法

c[:3]是醉红尘,从开头到c[2]位.

c[3:]是真帅,从c[3]到结尾。

c[0:1]就是c[0](醉),不包括c[1]; 强调了那么多遍记住了吗?

c[1:4:3]表示以c[1]为起点,c[4]为终点(不包括c[4]),隔3个选一个;

看下面大例子

先选从c[1]=1,接着到第c[4]=4,再到c[7]=7,结束,因为终点是c[8],但是c[1:8]不包括c[8].。

字符串的逆序用c[::-1]来表示,就变成了帅真尘红醉,不做程序演示了,自己动手吧你们。

字符串的数据类型,转义符 ‘\’

转义符表达特定符号的本意,前面也说了,如果字符串里有双引号,我们就用单引号来表示字符串,有些人就不服了,老子不干,老子就要用双引号表示含有双引号的字符串,下面讲的就是对付这种愣头的。看例

“这里有个双引号(\”)”输出就是-----这里有个双引号(“)。

转义符还可以形成一些组合,表达一些不可打印的含义。

“\b”回退 (使当前光标向前回退一个位置)

”\n”下一行 (换一行)

”\r”回车,(使光标回到本行首位置)

字符串操作符

简单的举几个例子:

X+Y连接两个字符串

n*X或者X*n复制n次字符串x

X in S如果X是S的子串,返回True ,否则返回False

下面举一个例子,如果你输入1,就输出星期一,如果输入2,就输出星期二,以此类推。

肯定很多人就说了,写判断语句,就可以了,但是判断那么多次是不是很麻烦,下面给出一种很巧妙地方法,为了避免错误,可以加上一个分支语句,如图运行结果

这种思想方法,是不是给你很多启发?

字符串的处理函数

len(x)返回字符串x的长度

str(x)转化为x对应的字符串的形式,比如str(1.23)结果为”1.23”字符串,str([1,2])结果为”[1,2]”与eval函数相反。

hex(x)oct(x)是对整数X进行十六进制与八进制转换,得到小写形式的字符串。

chr(u),x为Unicode编码,返回其对应的字符

ord(x),x为字符,返回其对应的Unicode编码

chr与ord,是在单字符与Unicode之间的桥梁

Unicode编码形式,是Python字符串的编码方式,从0到1114111(0x10FFFF)空间内把世界上所有的字符放进去。

统一字符编码,覆盖所有字符的编码方式。每个编码对应一个字符,python字符串中每个字符都Unicode编码字符。大概意思呢就是,能包括世界上所有的字符,包括汉字,纳进去,这就是Unicode编码方式。可以适用中文,日文,韩文,俄文等等。

通俗来讲,我们使用的字符,每一个字符都有一个编码,我们可以直接用字符,也可以用字符的编码。看个例子

十二星座的字符号是从9800开始的,很好理解,看看print语句中的end。如果end=” ”结果就是整行输出,没有空格。这里的方法是编程的专有名词,

字符串也是对象,也存在方法。理解不了就算了。来看看字符串处理方法。

str.lower()或者str.upper返回字符串的副本,全部字符小写或者小写。

例如:”AbCdEfGh”.lower结果为”abcdefgh”

str.split(sep=None)返回一个列表,由str根据sep被分隔的部分组成例如”A,B,C”.split(“,”)结果为[‘A’,’B’,’C’](看sep,以sep为标准分解字符串);

str.count(sub)返回子串sub在str中出现的次数”a apple a day ”.count(“a”)结果为4;

str.replace(old,new)返回字符串副本,所有old子串,被替换为new ;

例如“python”.replace(“n”,”n123.io”)就是”python123.io” ;

str.center(width[,fillchar])字符串str根据宽度width,fillchar可选;

如”python”.center(20,”=”)结果为”=======python=======”

str.strip(chars),从str中去掉在其左侧和右侧chars中列出的字符

如”=python=”.strip(“=np”)结果为”ytho”,

如图:

str.join(iter),就是把str加入iter中,

如例子”,”.jion(“12345”),它的结果就是”1,2,3,4,5”主要用于字符串的分隔。

字符串类型的格式化

格式化是对字符串类型表达的方式。

字符串格式化使用.format()方法,用法如下:

.format()

具体的使用中,我们需要用到一个概念“槽”。

如图:

默认是与format参数中是相一致的。但是也可以规定归属。

“:计算机的CPU占用率为%”.format(“2018-10-10”,”C”,10),

槽里面的数字,代表了format参数的位置,类比上图。

看一下槽内部的配置方式

{:}

参数序号就是上面讲的那个,看看格式控制方式。

填充,对齐,和宽度

>:(右对齐)

^:(居中对齐)

看例子:

1、“”.format(”PYTHON”)

输出:”=======PYTHON=======”

语句中冒号是引导符,=号是填充符号(在空余空间中,填充等号的单字符),^是居中对齐,20是槽的输出宽度。

2、”python”.center(20,”=”)

输出:”=======python=======”

3、“”.format(”BIT”)

输出:”*****************BIT”

填充是*,右对齐,宽度是20

4、“{:20}”.format(”BIT”)

输出:”BIT ”

默认填充是空格,左对齐,宽度是20

下一个是.,表示的是浮点数小数的精度,或者表示字符串的最大输出长度。

比如{:.2f}

例如:

“”.format(12345.678)的输出结果是’123,456.68’,其中逗号是千字分隔符,2f保留两位。

最后一个:

”,,,,,”.format(425)

输出:’110101001,(),425,651,1a9,1A9’

以上各个字母一一对应为二进制,字符,十进制,八进制,十六进制的小写,大写。

还有”,,,,”科学计数法,浮点数,以及百分数。

很幸运终于把第五章更完了,写的东西很杂,昨个和舍友去毕业聚会,喝的有点难受,本来想把一个舍友灌醉,反而是我有点迷糊,手机还让我扔了,屏没碎,不用换手机了。但是毕业离别关头,我还是想祝福我的舍友,我的同学,我的朋友,都能前程似锦,不敢说苟富贵勿相忘,只是希望你们都过得好,

--吉尔弗约尔

关注我们

三更编程菌

你身边的哆啦咔梦

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180614G1W26V00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励