一、字符串的定义

字符串是就一堆字符,可以使用""(双引号)、‘’(单引号)来创建。

1 one_str = "定义字符串"

字符串内容中包含引号时,可以使用转义字符:/'、/"。

二、字符串的常见操作

1.索引的定义

1 #使用索引打印y
2 one_str = "My name is apple!"
3 print(one_str[1])

2.字符串的切片

object[start_index:end_index:step]

start_index:

    • 起始索引;
    • 包含本身;
    • 省略时,表示从对象“端点”开始取值;

end_index:

    • 结束索引
    • 不包含本身
    • 省略时,表示取到对象的“端点”

step:

    • 步长,可正可负
    • 正数:从左向右取
    • 负数:从右向左取

1 one_str = "字符串的切片操作示例"
2 print(one_str[::]) # 三个参数都可以省略。省略时,默认从起始正向打印至结束,步长为1
3 print(one_str[::1]) # 正向打印 默认步长1的时候,:1可以省略
4 print(one_str[::-1]) # 反向打印
5 print(one_str[1:4]) # 左闭右开的原则
6 print(one_str[::2]) # 正向,步长为3打印,即一个间隔一个地打印
7 print(one_str[::-2]) # 反向,步长为3打印
8 print(one_str[2:-2:2]) # 可以正向索引、反向索引结合使用

上面代码执行结果:

字符串的切片操作示例
字符串的切片操作示例
例示作操片切的串符字
符串的
字串切操示
例作片的符
串切操

切片的组合是花式多样的,只要符合切片的规则,这里不一一列举了。

切片适用于:字符串、列表、元祖等序列类型

3、字符串的内置方法

3.1判断类型

方法          什么情况下是TRUE
one_str.isalnum() # 字符串全部为字母或者数字
one_str.isdigit() # 字符串全部为数字
one_str.isalpha() # 字符串全部为字母

one_str.isspace() # 只包含空格

one_str.isupper() # 全部为大写
one_str.islower() # 全部为小写
one_str.istitle() # 每个单词首字母都是大写

3.2查找替换

one_str.startswith(str)     #判断是否以str开始
one_str.endswith(str) #判断是否以str结尾
one_str.find(str,start,end) # 从start至end范围内,是否存在str,存在返回索引,不存在返回-1
one_str.index(str,start,end)
one_str.replace(old_str,new_str,num) # 讲字符串中的old_str换成new_str,若num指定,则表示替换num次
1 one_str = "It's a beautiful day,isn't it?1234567"
2 print(one_str.startswith("It's"))
3 print(one_str.endswith("67"))
4 print(one_str.find("day", 0, len(one_str)))
5 print(one_str.rfind("456", 0, len(one_str))) # 与find类似,但是从右向左查询
6 print(one_str.find("happy", 0, len(one_str))) # 不存在的情况下,报-1
7 print(one_str.index("day", 0, len(one_str))) # 与find类似,但不存在的情况下,报错
8 print(one_str.index("day", 0, len(one_str))) # 与index类似,但是从右向左查询
9 print(one_str.replace("beautiful", "nice", 1))

结果:

True
True
17
33
-1
17
17
It's a nice day,isn't it?1234567

3.3大小写替换

one_str.lower()     # 转化为小写
one_str.upper() # 转化为大写
one_str.title() # 每个单词首字母大写
one_str.capitalize() # 字符串首字母大写
one_str.swapcase() # 翻转大小写
1 one_str = "it's a beautiful DAY,isn't it?"
2 print(one_str.lower())
3 print(one_str.upper())
4 print(one_str.title())
5 print(one_str.capitalize())
6 print(one_str.swapcase())

结果:

it's a beautiful day,isn't it?
IT'S A BEAUTIFUL DAY,ISN'T IT?
It'S A Beautiful Day,Isn'T It?
It's a beautiful day,isn't it?
IT'S A BEAUTIFUL day,ISN'T IT?

3.4文本对齐

3.5去除空白字符

  删除左侧、右侧、两侧的空白字符

1 one_str = "   Python*字*符*串*操*作练习*!!   *示例  "
2 print(one_str.lstrip())
3 print(one_str.rstrip())
4 print(one_str.strip())

结果:

Python*字*符*串*操*作练习*!!   *示例
Python*字*符*串*操*作练习*!! *示例
Python*字*符*串*操*作练习*!! *示例

3.6拆分和连接

one_str.partition(str)      # 返回类型为【元祖】。以&作为分隔,将字符串分为:str左侧,str,str右侧三部分
one_str.rpartition(str) # 与partition类似,但是从右侧查找str,并切分
1 one_str = "好好学习, 天天向上&Python初学笔记&字符串&列表"
2 print(one_str.partition("&"))
3 print(one_str.rpartition("&"))

结果:

('好好学习, 天天向上', '&', 'Python初学笔记&字符串&列表')
('好好学习, 天天向上&Python初学笔记&字符串', '&', '列表')
one_str.split(str,num)        # 以str为标志进行切分,切分结果为【list】类型。如果定义了num,则代表切分num次
one_str = "好好学习, 天天向上&Python初学笔记&字符串&列表"
print(one_str.split("&",1))
print(one_str.split("&",2))
print(one_str.split("&"))

结果:

['好好学习, 天天向上', 'Python初学笔记&字符串&列表']
['好好学习, 天天向上', 'Python初学笔记', '字符串&列表']
['好好学习, 天天向上', 'Python初学笔记', '字符串', '列表']
str.join(one_list)      # 以str连接one_list的所有元素
1 one_str = "好好学习&天天向上&Python初学笔记&字符串&列表"
2 one_list = one_str.split("&")
3 print(one_list)
4 print("+++".join(one_list))

结果:

['好好学习', '天天向上', 'Python初学笔记', '字符串', '列表']
好好学习+++天天向上+++Python初学笔记+++字符串+++列表

Python初学笔记之字符串的更多相关文章

  1. python 初学笔记 (一)

    初学python第一天,希望自己真正了解计算机语言,并且做出成效. 写下学习笔记,记录学习进度,娱乐学习,不断成长. python详细介绍: python是什么?运用到哪里?有哪些在使用它? pyth ...

  2. Python 初学笔记(转)

    >>> print "isn't that grand"isn't that grand #不需要转义的#为了让文字符扩展到多行,可以在一行的末尾使用反斜线符号, ...

  3. python初学笔记(二)

    注释: 任何时候,我们都可以给程序加上注释.注释是用来说明代码的,给自己或别人看,而程序运行的时候,Python解释器会直接忽略掉注释,所以,有没有注释不影响程序的执行结果,但是影响到别人能不能看懂你 ...

  4. Python自学笔记之字符串的操作

    1.将字符串全部变为小写:lower() casefold() 范围更广 2.将字符串全部变为大写:upper() 3.判断是否大小写:isupper() islower() 4.居中:center( ...

  5. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

  6. Python初学笔记

    一.安装:直接通过软件管理程序,搜索Python,安装:安装过程中自定义路径,有个选项类似“add Python3.5 to Path”,勾选后便可以在cmd命令窗口,通过输入Python,启动Pyt ...

  7. Python学习笔记3—字符串

    原始字符串 使用\转义或者r,这种方法在网站设置网站目录结构的时候非常管用. >>> dos="c:\news" >>> print dos c ...

  8. 【Python学习笔记】字符串操作

    字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...

  9. python初学笔记(三)

    Unicode字符串 字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节 (byte),所以,一 ...

随机推荐

  1. 【LeetCode】7. Reverse Integer 整数反转

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:整数,反转,题解,Leetcode, 力扣,Python, ...

  2. 【LeetCode】208. Implement Trie (Prefix Tree) 实现 Trie (前缀树)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:Leetcode, 力扣,Trie, 前缀树,字典树,20 ...

  3. 移动端H5-iPhone安全距离适配

    安全区域? 安全区域指的是一个可视窗口范围,处于安全区域的内容不受圆角(corners).齐刘海(sensor housing).小黑条(Home Indicator)影响,如下图蓝色区域: 也就是说 ...

  4. 【环境搭建】安装pyQt5 在pycharm报This application failed to start because no Qt platform plugin could be initialized的问题

    报错:This application failed to start because no Qt platform plugin could be initialized 解决办法: http:// ...

  5. .Net Core 3.1 WebApi使用Swagger生成Api文档

    用swagger生成Api文档 1.安装Swashbuckle.AspNetCore 右键单击"解决方案资源管理器" > "管理 NuGet 包"中的项目 ...

  6. .net core中Grpc使用报错:Request protocol 'HTTP/1.1' is not supported.

    显然这个报错是说HTTP/1.1不支持. 首先,我们要知道,Grpc是Google开源的,跨语言的,高性能的远程过程调用框架,它是以HTTP/2作为通信协议的,所以当我启动启用一个服务作为Grpc的服 ...

  7. hadoop 之 某一个datanode启动失败(Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to)

    环境 集群7台 master 3台 datanode 4台 每个datanode有12个硬盘 场景 启动集群之后,发现有一台datanode未启动,手动启动,还是未启动.查看日志,发现: Initia ...

  8. Python 使用timeit模块计算时间复杂度时系统报“invalid syntax”错误

    最近在看算法相关的文档 在时间复杂度环节 遇到一个实例: 导入timeit模块后,通过Timer定时器计算两种不同处理方法的时间复杂度 错误代码及报错如下图所示: 仔细查阅 发现from__main_ ...

  9. unittest_TestSuite测试套件(2)

    在前面一章中演示了unittest如何执行一个简单的测试,但有两个问题: 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢? 一个测试文 ...

  10. docker查看容器的ip地址

    查看Docker的底层信息. docker inspect 会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息 # 列出所有容器的IP地址docker inspect --forma ...