文章目录

1、字符串的理解

2、字符串是数组

3、获取字符串的长度

4、检查字符串

5、修改字符串

6、字符串的其他处理方法

字符串的理解

python中的字符串是被单引号或是双引号(英文输入法)所包围(python中的单引号和双引号的作用相同),我们可以用print()显示字符串中的文字

一、字符串分配给变量

如下图

x = '晴天'
y = "阴天"
print(x)
print(y)
print(type(x))
print(type(y))

执行结果

这里"晴天"就是一个字符串并且我们很容易看出当我们print(变量)后,输出的结果是单引号或者是双引号中的文字,当我们查询变量的类型时,我们也知道变量的类型是str(字符型)

二、多行字符串

当我需要输入的文字很长时,我们为了一行不出现太多的文字,我们可以采用多行字符串,就是采用三个单引号或者是双引号,如下图

x = """红豆生南国,
春来发几枝。
愿君多采撷,
此物最相思。"""
y = '''红豆生南国,
春来发几枝。
愿君多采撷,
此物最相思。'''
print(x)
print(y)

执行结果

这样是不是就比原先写成一行要好看的多了呢,三个单引号或是双引号就很好的帮我们解决了这个问题

字符串是数组

数组的概念

数组是有序的元素序列

形象表达

数组可以理解成一个书架,这个书架的每个位置都有一个序号

我们为了下一次能够快速的找到某本书,我们就可以利用数组找到我们想要的书

python没有字符的数据类型,单个字符是长度为1的字符串,方括号[]可用于访问字符串的元素(数组的索引)

x = '晴天'
print(x[0])
print(x[1])

执行结果

这里我们不难发现第一个字符晴的位置是0,第二个字符天的位置是1

再举个例子

x = 'qwertyuiop'
print(x[3])

执行结果

这里的字符位置就是把每一个字符都算了一个位置

我们发现这样只能输出一个字符,现在我们想要输出所有位置的字符,我们就可以利用for循环

for x in 'qwertyu':print(x)

执行结果

这样每个位置的字符就全部输出了出来

获取字符串的长度

一、获取字符串的长度

当我们有了一个字符串时,我们想要知道这个字符串有多长,有两种情况,第一种,字符串较短时,我们可以一个个的数出来,第二种,字符串较长时,我们再一个个的数出来就很麻烦了,所以我们可以采用函数len(),返回字符串的长度(标点符号和空格也算一个长度)

x = 'qwertyuiop'
y = '???asdsaasds'
z = 'hello world'
print(len(x))
print(len(y))
print(len(z))

执行结果

运用len()函数就大大缩短了我们的时间,我们也知道了字符串的长度

二、获取字符串的部分字符(切片字符串)

1、中间切片

我们现在想要获取字符串中的部分字符,可以采用切片语法返回一系列字符,人为指定开始索引和结束索引的位置,中间以冒号分隔,用来返回字符串的一部分

x = "今天是一个元气满满的一天"
print(x[3:7])

执行结果

这里我们可以看到[3:7]的意思就是开始索引位置是3,结束索引位置是7,从位置3开始包括位置3取4个字符到位置7结束(包左不包右,有点像数学中的左闭右开区间)

2、从头切片

由于第一个字符的索引位置是0(默认),我们就可写可不写

x = "今天是一个元气满满的一天"
print(x[:5])
print(x[0:3])

执行结果

我们可以看到当我们写0和不写0都是没有区别的

3、切片到尾

当我们想要从某个位置开始直接获取剩下的字符时,我们可以进行如下图的操作

x = "今天是一个元气满满的一天"
print(x[3:])
print(x[0:])
print(x[:])

执行结果

冒号的后面不加任何东西就默认为直接到最后一个字符

4、负索引

我们正常的索引都是从左往右,那么现在负索引就是从右往左开始切片

x = "今天是一个元气满满的一天"
print(x[-3:-2])

执行结果

这里冒号左边的数要比冒号右边的数要小,同时仍然满足包左不包右的原则,并且从从右往左数,第一个数是-1而不是0

检查字符串

当给我一个字符串,我们想要检查字符串中是否存在某个字符或单词,我们可以使用关键字in

txt = "今天是一个元气满满的一天"
print('元' in txt)
print('不' in txt)

执行结果

这里的true就是存在的意思,而false就是不存在的意思(这里的true和false都是布尔类型)

我们还可以运用if来检查字符串

txt = "今天是一个元气满满的一天"
if '元' in txt:print('true')
else:print('false')

执行结果

这里刚好是在的,我们换一换试试看

txt = "今天是一个元气满满的一天"
if '不' in txt:print('true')
else:print('false')

执行结果

这就告诉我们不这个字符不在字符串中

修改字符串

一、小写转大写

当我们的字符串中有小写或者是大小写都有的时候,我们想要将小写字母全部都变成大写,我们就可以采用函数upper()方法以大写形式返回字符串

x = 'hello world'
y = 'nice to meet you'
print(x.upper())
print(y.upper())

执行结果

这样原本是小写的字符串就变成了大写的字符串

二、大写转小写

当我们的字符串中有小写或者是大小写都有的时候,我们想要将大写字母全部都变成小写,我们就可以采用函数lower()方法以大写形式返回字符串

x = 'HELLO WORLD'
y = 'NICE TO MEET YOU'
print(x.lower())
print(y.lower())

执行结果

这样原本是大写的字符串就变成了小写

三、删除空格

当我们的字符串中存在空格的时候,我们不想要字符串中有空格(空格实际上就是实际文本之前或之后的空间),我们可以采用函数strip()方法来删除从开头或结尾的任何空格

x = '    hello world'
y = '  nice to meet you   '
print(x)
print(y)
print(x.strip())
print(y.strip())

执行结果

很明显加了strip()函数,前后的空格就没有了

五、替换字符串

当我们想要用一个字符串去全部替换另外一个字符串时,我们就可以用函数replace()

x = 'hello world'
y = 'nice to meet you'
print(x.replace('o','w'))
print(y.replace('e','u'))

执行结果

这里很明显的看出replace(被替换的字符,替换成的字符)并且这里是全部替换

六、拆分字符串

当我们想要将一个完整的字符串拆分成两个字符串时,我们可以采用函数split(),将字符串拆分成子字符串

x = 'hello,world'
y = 'nice,to,meet,you'
z = 'long time no see'
h = 'hi bro,gald to see you'
print(x.split(","))
print(y.split(','))
print(z.split(' '))
print(h.split(' '))
print(h.split(','))

执行结果

这里的格式是print(变量.split(',')),引号的中间是根据你的字符串之间的是由什么分隔开所确定的,字符串中是什么符号分隔开的,我们就要用什么符号

七、连接字符串

当我们想要将两个分散的字符串组合在一起时,我们可以用到“+”运算符

x = 'nice to'
y = 'see you'
z = x+y
h = x +' '+y
j = x +''+y
print(z)
print(h)
print(j)

执行结果

这里我们可以发现当我们想要使两个组合在一起后的字符串中间用空格隔开,我们就可以用' '(中间要加上一个空格要不然没效果)

八、格式化字符串

1、format单个传参

当我们想要将字符串和数字组合在一起时,我们可以通过使用format()的方法来组合字符串和数字,format()方法接受传递的参数,格式化它们,并将它们放在占位符所在的字符串中{}

date = 2022
age = 18
x = '今年是{}年'
y = '每个女孩子都说她们的实际年龄是{}'
print(x.format(date))
print(y.format(age))

执行结果

这里的{}中英文输入法都可以,format()中的参数就会放在{}的里面

2、format多个传参

当我们现在有很多的参数,想要往字符串里塞,我们仍然可以使用函数format()

year = 2022
month = 1
day =17
x = '今年是{},现在是{}月,今天是{}号'
print(x.format(year,month,day))

执行结果

这就说明format()可以接受无限数量的参数(由于内存有限,不可能真的达到无限),并放置在各自的占位符中,并且一一对应

此外,我们还可以使用索引号{0}来确保参数放在正确的占位符中

year = 2022
month = 1
day =17
x = '今年是{2},现在是{0}月,今天是{1}号'
print(x.format(year,month,day))

执行结果

这里我们应该这么理解,format(year,month,day)的顺序就是0,1,2,然后将0,1,2对应的值分别输入到x所对应的序号中,对排序进行了人为的干扰

字符串的其他处理方法

  1. capitalize()将第一个字符转大写
  2. casefold()将字符串转小写
  3. center()返回一个居中的字符串
  4. count()返回指定值在字符串中出现的次数
  5. encode()返回字符串的编码版本
  6. endswith()如果字符串以指定的值结尾,则返回true
  7. join()将可迭代的元素连接到字符串的末尾
  8. find()在字符串中搜索指定值并返回找到它的位置
  9. format()初始化字符串中的指定值
  10. index()在字符串中搜索指定值并返回找到它的位置
x = 'hello world'
print(x.capitalize())

执行结果

综上:在这一节的训练中,我们需要明白数组索引的概念,同时要学会使用函数来解决问题,明白函数的使用方法和正确格式,只有通过不断的练习,这样才能帮助我们更好的掌握字符串。

以上就是python基础训练—字符串的全部内容

python基础训练—字符串相关推荐

  1. python基础训练—元组

    文章目录 1.元组的基本知识 2.元组的长度 3.访问元组 4.解包元组 5.星号的使用 元组的基本知识 元组的理解 元组用于在单个变量中存储多个项目,元组(Tuple)是python中用于存储数据集 ...

  2. python基础训练—列表

    文章目录 1.列表的基本知识 2.创建列表 3.列表长度 4.访问列表 5.列表排序 6.python集合(数组) 列表的基本知识 列表的理解 列表(list)是python中内置的一种数据类型,li ...

  3. python基础训练—数字

    文章目录 一.数字类型 二.数字的四则运算 三.获取数字类型 四.指定变量类型 五.类型的转换 数字类型 python中有三种数字的类型分别是整形(int),浮点型(float),复数型(comple ...

  4. python基础训练 day8

    python基础训练 day8 小,8,题! 题目来源 这应该是目录 python基础训练 day8 第一题(数列求和) 第二题 (完数) 第三题 (等比数列) . 第一题(数列求和) # # 求s= ...

  5. python基础训练—字典

    文章目录 1.字典的基本知识 2.创建字典 3.字典长度 4.访问字典 5.检查字典中是否存在指定的键 6.嵌套字典 7.python中的四种集合数据类型 字典的基本知识 字典的理解 字典(dicti ...

  6. Python 将字符串转为字典

    引言 在工作中遇到一个小问题,需要将一个 Python 的字符串转为字典,比如字符串: user_info = '{"name" : "john", " ...

  7. python 遍历字符串

    python 遍历字符串, 可以把字符串当作列表 来遍历即可 第一种方法使用for in 循环 # 使用for in str_a = "Hello,Python" for i in ...

  8. python删除指定位置的字符串_python去除区域 python删除字符串中指定位置字符

    python删除字符串中指定位置字符 原程序是这样的: ser = serial.Serial("/dev/ttyAMA0", 9600) def main字符串的话,你可以把他当 ...

  9. python 遍历字符串的每一个字符_Python之字符串的遍历的4种方式

    python的字符串遍历有4种方式: 1. 下标法 2. for in 3. iter内置函数 4. enumerate 其中下标法和enumerate适合需要判断后续字符的场景,比如循环到下标ind ...

最新文章

  1. 在GitHub上管理项目
  2. 从html导出带样式的excel,关于将HTML导出到Excel中时样式的问题
  3. ajax get请求_JSP中的对讲机Ajax简述
  4. Mac OS X必备APP推荐之一
  5. LLVM 4中将加入新的LLVM链接器LLD
  6. AI YOLO目标检测算法
  7. 数据结构严蔚敏 栈基本操作 C语言实现
  8. oracle12c如何完全卸载_如何卸载oracle12c
  9. 神经网络算法详解 03:竞争神经网络(SONN、SOFM、LVQ、CPN、ART)
  10. 视觉SLAM | OKVIS
  11. 2020牛客暑期多校训练营Groundhog and Gaming Time(数学期望,线段树,逆元)
  12. 一代大商孟洛川的经商之道
  13. HTML常用基础知识归纳
  14. 郭盛华一生特别自律,这两样东西从不沾,网友:不愧是教父级人物
  15. 雷达探测项目仿真代码(Matlab代码实现)
  16. python:talib 计算 KDJ 用 pro_api
  17. python练习题之廖雪峰的官方网站
  18. Spring MVC Aop注入遇到空指针bug
  19. OLA音频变速算法的仿真与剖析
  20. 牛客第三场 F Popping Balloons —— 思维 + 搞题

热门文章

  1. consists of 和 is comprised of
  2. 用uniapp开发打包多端应用完整指南
  3. 计算机科学与技术专业成功人士,我校2002级计算机科学与技术专业校友重返母校...
  4. 信息服务器v6,服务器ipv6设置
  5. 给华为服务器RH2288V3(hm23-03)安装驱动
  6. HTML5和CSS3归纳
  7. 计算机瞬间关闭所有程序的方法,Win10如何设置关机时快速关闭所有程序
  8. 【2月每日一题】leetcode Java + c++版 (6 完结)
  9. 信息系统项目管理师-业务流程管理知识点
  10. 微信小程序使用fixed定位的input输入框placeholder随屏幕滚动的bug