Python教程

【Python】之【数据类型】之【字符串str】

本文主要是介绍【Python】之【数据类型】之【字符串str】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.1字符串的定义

成对引号(‘单引号‘,“双引号”’,’’’单三引号’’’’’或””“““双三引号”””)引起来的内容称之为字符串。

如果字符串本身不含引号,则外面用单引号或双引号都一样;

如果字符串本身含引号,则外面不能用该引号。【里外不一样】

三引号的作用:

①表示多行字符串(会显示字符串中的所有内容,包括换行和空格);

②表示注释(一般用在函数和方法中);

1.2字符串的运算符

+ 拼接、*+数字 复制几次(连续输出)

换行输出:

+ 具体是“加法”的“”还是“拼接”,要看前面的对象:先入为主

1.3字符串中的特殊字符

\n  换行符;

\t  制表符,可以进行缩进,等于一个Tab键的缩进;

如果想让换行符或其他有特殊含义的符号不生效,可

  • 在最前面加r或;
  • 在\之前再加一个\;
  • 用/代替\;

1.4字符串的序列(sequence)操作

字符串是一种序列类型。一个序列由若干个有顺序的元素组成。

下标(正下标、负下标)也叫索引、切片

查看元素的个数:

len(变量名或具体的数据类型值)

print(len(变量名或具体的数据类型值))

1.4.1下标(正下标、负下标)也叫索引:获取某个元素

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.4.2切片:获取某段元素

1.切片的作用

通过切片来获取一个序列中的某段元素。

2.特点

切片不改变数据源类型。

源数据是什么类型,切出来就是什么类型,数据类型不发生改变。

被切对象不会发生改变,获取出来的元素另存地址保存。

3.运用思路1

变量名[起始索引:结束索引:步长];

print(变量名[起始索引:结束索引:步长])

起始索引:默认是第一位索引0;

结束索引:默认是最后一位索引len(变量名)-1,左闭右开(取左不取右)(左含右不含);

步长:默认为1;当步长为负数时,起始索引必须大于结束索引;

注意:从左往右,从0到n-1;从右往左,从-1到-n;最大到-1。

4.运用思路2

①获取中间段---切2刀;

变量名[第一刀:第二刀];

print(变量名[第一刀:第二刀]);

第二刀=第一刀的下标+获取元素的长度;左含右不含;

②获取前半段---切1刀;取前写后;左含右不含;

变量名[:第一刀];

print(变量名[:第一刀]);

③获取后半段---切1刀;取后写前;左含右不含;

变量名[第一刀:];

print(变量名[第一刀:]);

1.4.3扩展

字符串的翻转(反序):print(变量名[::-1]);

源字符串:print(变量名[::1]);

去头去尾:print(变量名[1:-1]);

1.5字符串的格式化

定义:往字符串里面传递参数,也就是表达一个字符串。

1.5.1字符串格式化方法一

通过占位符(%s字符串 %d数字类型  %f浮点类型)进行占位;

%s字符串

%d数字类型

%f浮点类型---默认6位小数且会四舍五入

%.要保留的小数位数f---会四舍五入

%整体长度.要保留的小数位数f---会四舍五入,整体长度不够的话,空格左补齐。(如果整体长度<传入值本身长度,不理会该要求。)

%0整体长度.要保留的小数位数f---会四舍五入,整体长度不够的话,0左补齐。

%正数值d或%正数值s:元素的长度=正数值;元素右对齐,空格左补齐。

%0正数值d或%0正数值s:元素的长度=正数值;元素右对齐,0左补齐。

%负数值d或%负数值s:元素的长度=负数值;元素左对齐,空格右补齐。

1.5.2字符串格式化方法二

字符串.format( )

顺序填值和下标填值和变量填值不要混用。

1.顺序填值

位置不能空着,一一对应;但值可以多,只是用不着。

指定长度:{:方向长度};方向:>右对齐;<左对齐;^居中对齐;{:>长度};{:<长度};空格补齐;

指定长度:{:0方向长度};方向:>右对齐;<左对齐;^居中对齐;{:0>长度};{:0<长度};0补齐;

补齐元素:{:补齐元素方向长度}

(不指定方向时,字符串默认是左对齐,整型默认是右对齐。)

2.下标填值

位置不能空着,一一对应;但值可以多,用得着,下标指谁用谁。

指定长度:{下标:方向长度};方向:>右对齐;<左对齐;^居中对齐;{:>长度};{:<长度};空格补齐;

指定长度:{下标:0方向长度};方向:>右对齐;<左对齐;^居中对齐;{:0>长度};{:0<长度};0补齐;

补齐元素:{下标:补齐元素方向长度}

(不指定方向时,字符串默认是左对齐,整型默认是右对齐。)

3.变量填值(基本不用)(用得多的是:f’字符串’)

f’字符串’(此功能在python3.6之后才有)

如果字符串本身就有一个{ },则在{ }外面再加一层{ }即可。像这样:{{ }}

1.6字符串的方法

对象的方法就是属于该对象的在类里面的函数。

对象.方法名(  )

Print(对象.方法名(  ))

1.6.1计算源字符串中有多少个指定的子字符串count

源字符串变量名.count(指定的子字符串)

print(源字符串变量名.count(指定的子字符串))

1.6.2检查字符串是否以指定的字符串开头startswith(结果只有False或True)

源字符串变量名.startswith(指定的子字符串)

print(源字符串变量名.startswith(指定的子字符串))

1.6.3检查字符串是否以指定的字符串结尾endswith(结果只有False或True)

源字符串变量名.endswith(指定的子字符串)

print(源字符串变量名.endswith(指定的子字符串))

1.6.4查找指定的子字符串在源字符串中出现的位置find

源字符串变量名.find(指定的子字符串,起始索引,结束索引)

print(源字符串变量名.find(指定的子字符串,起始索引,结束索引))

起始索引和结束索引都可有可无。  

如果元素存在,则返回第一个字符出现的下标;

如果元素不存在,则返回-1。

相关:

index( )---获取已存在元素的下标;这个元素一定要有才行,元素不存在就会直接报错。

源字符串变量名.index(指定的子字符串)

print(源字符串变量名.index(指定的子字符串))

1.6.5检查字符串中是否都是字母isalpha(结果只有False或True)

1.6.6检查字符串中是否都是数字isdigit(结果只有False或True)

1.6.7将序列类型的参数的元素字符串用拼接符连接成一个字符串join

‘拼接符’.join(列表)

print(‘拼接符’.join(列表))

1.6.8字符串的分割split

源字符串变量名.split(指定的子字符串为切点)

print(源字符串变量名.split(指定的子字符串为切点))

切出来的结果是列表类型;

切点会被切掉,不会再出现。

spilt('分隔符',次数)

split()默认表示以 \t \n 为标志,以逗号为分隔符进行分割

print(变量名.spilt('分隔符',次数))

1.6.9将字符串里面的大写字母全部转为小写字母lower

1.6.10将字符串里面的小写字母全部转为大写字母upper

源字符串变量名.lower()

print(源字符串变量名.lower())

源字符串变量名.upper()

print(源字符串变量名.upper())

1.6.11替换字符串里面指定的子字符串

默认是全部替换,替换个数限定(‘被替换的内容 ’,’ 替换后的内容 ’,个数)

源字符串变量名.replace(被替换的内容,替换后的内容)

print(源字符串变量名.replace(被替换的内容,替换后的内容))

1.6.12将字符串的前置空格和后置空格删除strip

1.6.13将字符串的前置空格删除lstrip

1.6.14将字符串的后置空格删除rstrip

剔除所有空格的思路:

1.先分割,再拼接。

2.替换。

编程思路:仁者见仁智者见智。

还有更多的方法:百度、谷歌

这篇关于【Python】之【数据类型】之【字符串str】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!