字符串使用
1. 字符串的定义方式
双引号或者单引号括起来的数据,就是字符串。使用三引号括起来也是字符串,并支持换行。
例:
# 使用反斜线 对单引号进行转义
name1 = 'i\' Tom'
name2 = "Rose"
name3 = '''Tom '''
name4 = """ Rose """
a = ''' i am tom
nice to meet you! '''
b = """ i am Rose,
nice to meet you too ! """
2. 字符串输出
-
格式化操作符 %
name = '辉哥' print('姓名:%s' % name)
-
f-strings
name = '辉哥'
address = '西安'
format_string1 = '我的名字是{name}, 我在{address}'
print(format_string1)
op_str = F" 3 + 5 = {3+5}"
a = 10
b = 20
op_str2 = f" a + b = {a+b}"
print(op_str)
print(op_str2)
3. 字符串输入
username = input('请输入用户名:')
print("用户名为:%s" % username)
4. 字符串常见操作
1. 下标和切片
下标也就是字符串字符的索引,从0开始,通过索引可以获取当前索引的字符.
name = 'abcdef'
print(name[0])
print(name[2])
"""
输出如下:
a
c
"""
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组、都支持切片操作。
切片的语法:字符串[起始:结束:步长]
选取的区间从起始位置开始,到结束位置的前一位,不包含结束位置,步长表示选取的间隔。
起始参数默认为0,结束位置默认最后,步长默认为1 字符串[2:] 表示从下标2开始到最后全部
结束为负数(-2)表示从起始位置到倒数第几(2)个。
步长为负数表示结果反着取,从后向前取。
name = 'abcdef'
print(name:[0:3])
print(name:[3:])
print(name:[::-2]) #从后向前 每隔两个取一个
print(name[::-1]) #字符串反转输出
# 运行结果
abc
def
fdb
fedcba
2. find & rfind
语法: 字符串.find(子串,开始位置下标,结束位置下标)
示例:在开始和结束下标之间查找子串出现的其实下标位置
mystr = 'hello world i am hui zi'
index = mystr.find('hui', 0 10)
print(index)
# 输出 -1
index = mystr.find('hui')
print(index)
# 输出 17
rfind 和find 一样,只不过是从右边开始查找,结果和find一样
3. index & rindex
index 跟find方法一样,只不过在没有找到子串的情况下会抛出一个异常(ValueError)。
字符串序列.index(⼦串, 开始位置下标, 结束位置下标)
rindex 和 index 一样,只是从右边开始查找。结果一样。
4. count
语法: 字符串序列.count(⼦串, 开始位置下标, 结束位置下标)
mystr = 'hello world i am hui zi'
index = mystr.find('i')
print(index)
# 输出 3
5. replace
语法:字符串序列.replace(旧⼦串, 新⼦串, 替换次数N)
将字符串中的旧子串使用新子串进行替换N次.
mystr.replace(str1, str2, mystr.count(str1))
6. split
语法:字符串序列.split(分割字符, num)
将字符串使用分割字符进行分割num次。最多产生num+1个子串。num不指定则最大次数分割。
name="hello world ha ha"
result = name.split(" ", 2)
print(result)
#输出 ['hello', 'world', 'ha ha']
7. join
语法: 字符或⼦串.join(多字符串组成的序列)
例:
li = ["my","name","is","tom"]
str = " "
result = str.join(li)
print(result)
#输出 "my name is tom"
8. capitalize
把字符串的第一个字母大写
语法: mystr.capitalize()
mystr = "hello world"
str = str.capitalize()
print(str)
# Hello world
9. title
将字符串每个单词的首字母大写
a = 'hello world python'
b = a.title()
print(b)
# 输出 Hello World Python
10. lower & upper
将字符串全部转换为小写或者大写
语法: str.lower() str.upper()
11. lstrip & rstrip & strip
删除字符串左边出的空白字符,或者右边处的空白字符。或者删除两边的空白字符
str.lstrip() str.rstrip() str.strip()
12. ljust & rjust & center
返回一个原字符串 左对齐或者右对齐,或者居中对齐 按参数长度 不足的用空格补齐。
a = 'hello'
b = a.ljust(8)
c = a.rjust(8)
d = a.center(8)
print(b)
print(c)
print(d)
"hello "
" hello"
" hello "
13. startswith & endswith
检查字符串是否以参数子串开始或者结束,是返回True 不是返回False
14. isalpha & isdigit & isalnum & isspace
检查字符串所有字符是否都是以字母(isalpha)或者数子(isdigit) 或者字母或数字(isalnum)或者全空格(isspace) 组成 ,是返回True,不是返回False。
15. partition & rpartition
将字符串以参数子串为分割串,切割成 子串前,子串,子串后。rpartition为从右边开始找第一次出现的子串。
16. splitlines
按照行分割,将一个包含换行的字符串按照行分割为一个列表返回。
a = "123\n456"
print(a.splitlines())
# 输出 ['123','456']
17. len
获取字符串长度
语法:len(str) 返回字符串的长度