成对引号(‘单引号‘,“双引号”’,’’’单三引号’’’’’或””“““双三引号”””)引起来的内容称之为字符串。
如果字符串本身不含引号,则外面用单引号或双引号都一样;
如果字符串本身含引号,则外面不能用该引号。【里外不一样】
三引号的作用:
①表示多行字符串(会显示字符串中的所有内容,包括换行和空格);
②表示注释(一般用在函数和方法中);
+ 拼接、*+数字 复制几次(连续输出)
换行输出:
+ 具体是“加法”的“加”还是“拼接”,要看前面的对象:先入为主。
\n 换行符;
\t 制表符,可以进行缩进,等于一个Tab键的缩进;
如果想让换行符或其他有特殊含义的符号不生效,可
字符串是一种序列类型。一个序列由若干个有顺序的元素组成。
下标(正下标、负下标)也叫索引、切片。
查看元素的个数:
len(变量名或具体的数据类型值)
print(len(变量名或具体的数据类型值))
1.下标的作用
通过下标来获取一个序列中的某个元素。
2.运用
变量名[下标]
print(变量名[下标])
正下标:从左往右,从0到n-1;
负下标:从右往左,从-1到-n;最大到-1。
用正下标获取一个序列中的第一个元素:print(变量名[0])
用正下标获取一个序列中的最后一个元素:print(变量名[len(变量名)-1])
用负下标获取一个序列中的第一个元素:print(变量名[-len(变量名)])
用负下标获取一个序列中的最后一个元素:print(变量名[-1])
混合使用:print(变量名[0],变量名[-1])
越界报错:IndexError: string index out of range
左边不变就选正下标,右边不变就选负下标。
1.切片的作用
通过切片来获取一个序列中的某段元素。
2.特点
切片不改变数据源类型。
源数据是什么类型,切出来就是什么类型,数据类型不发生改变。
被切对象不会发生改变,获取出来的元素另存地址保存。
3.运用思路1
变量名[起始索引:结束索引:步长];
print(变量名[起始索引:结束索引:步长])
起始索引:默认是第一位索引0;
结束索引:默认是最后一位索引len(变量名)-1,左闭右开(取左不取右)(左含右不含);
步长:默认为1;当步长为负数时,起始索引必须大于结束索引;
注意:从左往右,从0到n-1;从右往左,从-1到-n;最大到-1。
4.运用思路2
①获取中间段---切2刀;
变量名[第一刀:第二刀];
print(变量名[第一刀:第二刀]);
第二刀=第一刀的下标+获取元素的长度;左含右不含;
②获取前半段---切1刀;取前写后;左含右不含;
变量名[:第一刀];
print(变量名[:第一刀]);
③获取后半段---切1刀;取后写前;左含右不含;
变量名[第一刀:];
print(变量名[第一刀:]);
字符串的翻转(反序):print(变量名[::-1]);
源字符串:print(变量名[::1]);
去头去尾:print(变量名[1:-1]);
定义:往字符串里面传递参数,也就是表达一个字符串。
通过占位符(%s字符串 %d数字类型 %f浮点类型)进行占位;
%s字符串
%d数字类型
%f浮点类型---默认6位小数且会四舍五入
%.要保留的小数位数f---会四舍五入
%整体长度.要保留的小数位数f---会四舍五入,整体长度不够的话,空格左补齐。(如果整体长度<传入值本身长度,不理会该要求。)
%0整体长度.要保留的小数位数f---会四舍五入,整体长度不够的话,0左补齐。
%正数值d或%正数值s:元素的长度=正数值;元素右对齐,空格左补齐。
%0正数值d或%0正数值s:元素的长度=正数值;元素右对齐,0左补齐。
%负数值d或%负数值s:元素的长度=负数值;元素左对齐,空格右补齐。
字符串.format( )
顺序填值和下标填值和变量填值不要混用。
1.顺序填值
位置不能空着,一一对应;但值可以多,只是用不着。
指定长度:{:方向长度};方向:>右对齐;<左对齐;^居中对齐;{:>长度};{:<长度};空格补齐;
指定长度:{:0方向长度};方向:>右对齐;<左对齐;^居中对齐;{:0>长度};{:0<长度};0补齐;
补齐元素:{:补齐元素方向长度}
(不指定方向时,字符串默认是左对齐,整型默认是右对齐。)
2.下标填值
位置不能空着,一一对应;但值可以多,用得着,下标指谁用谁。
指定长度:{下标:方向长度};方向:>右对齐;<左对齐;^居中对齐;{:>长度};{:<长度};空格补齐;
指定长度:{下标:0方向长度};方向:>右对齐;<左对齐;^居中对齐;{:0>长度};{:0<长度};0补齐;
补齐元素:{下标:补齐元素方向长度}
(不指定方向时,字符串默认是左对齐,整型默认是右对齐。)
3.变量填值(基本不用)(用得多的是:f’字符串’)
f’字符串’(此功能在python3.6之后才有)
如果字符串本身就有一个{ },则在{ }外面再加一层{ }即可。像这样:{{ }}
对象的方法就是属于该对象的在类里面的函数。
对象.方法名( )
Print(对象.方法名( ))
源字符串变量名.count(指定的子字符串)
print(源字符串变量名.count(指定的子字符串))
源字符串变量名.startswith(指定的子字符串)
print(源字符串变量名.startswith(指定的子字符串))
源字符串变量名.endswith(指定的子字符串)
print(源字符串变量名.endswith(指定的子字符串))
源字符串变量名.find(指定的子字符串,起始索引,结束索引)
print(源字符串变量名.find(指定的子字符串,起始索引,结束索引))
起始索引和结束索引都可有可无。
如果元素存在,则返回第一个字符出现的下标;
如果元素不存在,则返回-1。
相关:
index( )---获取已存在元素的下标;这个元素一定要有才行,元素不存在就会直接报错。
源字符串变量名.index(指定的子字符串)
print(源字符串变量名.index(指定的子字符串))
‘拼接符’.join(列表)
print(‘拼接符’.join(列表))
源字符串变量名.split(指定的子字符串为切点)
print(源字符串变量名.split(指定的子字符串为切点))
切出来的结果是列表类型;
切点会被切掉,不会再出现。
spilt('分隔符',次数)
split()默认表示以 \t \n 为标志,以逗号为分隔符进行分割
print(变量名.spilt('分隔符',次数))
源字符串变量名.lower()
print(源字符串变量名.lower())
源字符串变量名.upper()
print(源字符串变量名.upper())
默认是全部替换,替换个数限定(‘被替换的内容 ’,’ 替换后的内容 ’,个数)
源字符串变量名.replace(被替换的内容,替换后的内容)
print(源字符串变量名.replace(被替换的内容,替换后的内容))
剔除所有空格的思路:
1.先分割,再拼接。
2.替换。
编程思路:仁者见仁智者见智。
还有更多的方法:百度、谷歌