day04_数据序列之字符串

数字序列之字符串

字符串是 Python 中最常用的数据类型。我们一般使用引号来创建字符串。创建字符串很简单,只要为变量分配一个值即可。单引号丶双引号,三引号都可以来定字符串。三引号形式的字符串支持换行。

# 单引号
a = 'hello '

# 双引号
b = "TOM"

# 三引号
c = '''i am TOM'''

字符串类型的数据修改的时候不能改变原有字符串,属于不能直接修改数据的类型即是不可变类型。

下标

“下标”又叫“索引”,就是编号。比如火车座位号,座位号的作用:按照编号快速找到对应的座位。同理,下标的作用即是通过下标快速找到对应的数据。下标从0开始

切片

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

语法:

注意事项:

  • 不包含结束位置下标对应的数据,开始和结束位置正负整数均可。下标-1表示最后一个数据,依次向前类推
  • 步长是选取间隔,正负整数均可,默认步长为1。默认情况下,选取方向为从左到右。但是-1步长:从右向左选取

代码示例

# 序列名[开始位置的下标:结束位置的下标:步长]

str1 = '012345678'

print(str1[2:5:1])  # 234
# 步长为2
print(str1[2:5:2])  # 24

# 默认步长唯一
print(str1[2:5])  # 234

# 如果不写开始,默认从0开始选取
print(str1[:5])  # 01234 

# 如果不写结束,表示选取到最后
print(str1[2:])  # 2345678

# 如果不写开始和结束,表示选取所有
print(str1[:])  # 012345678

# 如果步长为负数,表示倒叙选取
print(str1[::-1])  # 876543210
# 下标-1表示最后一个数据,依次向前类推
print(str1[-4:-1])  # 567

# 终极测试
print(str1[-4:-1:1])  # 567
# 选取方向默认为从左到右,但是-1步长:从右向左选取
print(str1[-4:-1:-1])
# **** 如果选取方向(下标开始到结束的方向) 和 步长的方向冲突,则无法选取数据
print(str1[-1:-4:-1])  # 876

字符串常用操作方法之查找

所谓字符串查找方法即是查找子串在字符串中的位置或出现的次数。 开始和结束位置下标可以省略,表示在整个字符串序列中查找

find( ):检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。使用方式:

rfind(): 和find()功能相同,但查找方向为右侧开始。

代码示例

mystr = "hello world and Java and PHP and Python"

# 开始和结束位置下标可以省略,表示在整个字符串序列中查找。
print(mystr.find('and'))  # 12
# 在指定范围里查找
print(mystr.find('and', 15, 30))  # 21
# 查找不存在的字串
print(mystr.find('ands'))  # -1

 index( ):检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则报异常。使用方式:

rindex( ):和index()功能相同,但查找方向为右侧开始。

mystr = "hello world and Java and PHP and Python"

# 开始和结束位置下标可以省略,表示在整个字符串序列中查找。
print(mystr.index('and'))  # 12
# 在指定范围里查找
print(mystr.index('and', 15, 30))  # 21
# 查找不存在的字串
print(mystr.index('ands'))  # 报错

count( ):返回某个子串在字符串中出现的次数。使用方式:

mystr = "hello world and Java and PHP and Python"

# 开始和结束位置下标可以省略,表示在整个字符串序列中查找。
print(mystr.count('and'))  # 3
# 在指定范围里查找
print(mystr.count('and', 0, 20))  # 1
# 查找不存在的字串
print(mystr.count('ands'))  # 0

字符串常用操作方法之修改

所谓修改字符串,指的就是通过函数的形式修改字符串中的数据

replace( ):替换,replace函数有返回值,返回值是修改后的字符串使用方式:

mystr = "hello world and Java and PHP and Python"

# 默认情况下全部替换
new_str = mystr.replace('and', 'he')
print(new_str)  # hello world he Java he PHP he Python
# 替换次数1
new_str = mystr.replace('and', 'he', 1)  # hello world he Java and PHP and Python
print(new_str)
# 替换次数如果超出子串出现的次数,表示替换所有这个子串
new_str = mystr.replace('and', 'he', 10)
print(new_str)  # hello world he Java he PHP he Python
# 字符串是不可变类型
print(mystr)  # hello world and Java and PHP and Python

split( ):按照指定字符分割字符串。使用方式:

num表示的是分割字符出现的次数,即将来返回数据个数为num+1个。

#  split() -- 分割,返回一个列表, 丢失分割字符
list1 = mystr.split('and')
print(list1)  # ['hello world ', ' Java ', ' PHP ', ' Python']
list2 = mystr.split('and', 1)
print(list2 ) # ['hello world ', ' Java and PHP and Python']

 join( ):用一个字符或子串合并字符串,即是将多个字符串合并为一个新的字符串。使用方式:

#  join() -- 合并列表里面的字符串数据为一个大字符串
mylist = ['aa', 'bb', 'cc']
new_str = '...'.join(mylist)
print(new_str)  # aa...bb...cc

capitalize( ):将字符串第一个字符转换成大写

title( ):将字符串每个单词首字母转换成大写

lower( ):将字符串中大写转小写

upper( ):将字符串中小写转大写。

lstrip( ):删除字符串左侧空白字符。

rstrip( ):删除字符串右侧空白字符。

mystr = "hello world "

# 1. capitalize() 字符串首字母大写
new_str = mystr.capitalize()
print(new_str)  # Hello world 
# 2.title(): 字符串中每个单词首字母大写
new_str = mystr.title()
print(new_str)  # Hello World 
# 3. upper():小写转大写
new_str = mystr.upper()
print(new_str)  # HELLO WORLD 
# 4. lower(): 大写转小写
new_str = mystr.lower()
print(new_str)  # hello world 

mystr = "   hello world    "
# 1. lstrip(): 删除左侧空白字符
new_str = mystr.lstrip()

# 2. rstrip(): 删除右侧空白字符
new_str = mystr.rstrip()

# 3.strip():删除两侧空白字符
new_str = mystr.strip()

ljust(长度, 填充字符 ):返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度 的新字符串。

rjust(长度, 填充字符):返回一个原字符串右对齐,并使用指定字符(默认空格)填充至对应长度 的新字符串,语法和ljust()相同。

center(长度, 填充字符):返回一个原字符串居中对齐,并使用指定字符(默认空格)填充至对应长度 的新字符串,语法和ljust()相同。

字符串常用操作方法之判断

所谓判断即是判断真假,返回的结果是布尔型数据类型:True 或 False

startswith( ):检查字符串是否是以指定子串开头,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查

endswith( ):检查字符串是否是以指定子串结尾,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。

isalpha( ):如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False。

isdigit( ):如果字符串只包含数字则返回 True 否则返回 False。

isalnum( ):如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False。

isspace( ):如果字符串中只包含空白,则返回 True,否则返回 False。

原文地址:https://www.cnblogs.com/wurengen/p/15352370.html