Python初学笔记之字符串

一、字符串的定义

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

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初学笔记+++字符串+++列表

 

posted on 2019-06-23 18:00  青柠锦鲤  阅读(302)  评论(0编辑  收藏  举报