python基础--字符串
字符串
-
字符串是以
""|''括起来的文本。 -
字符串的创建:
str_name = 'str'|"str"
# 字符串:
a = 'abgah'
b = "abgah"
c = """abgah"""
d = '''abgah'''
e = "f'aaf'"
f = r'aca\naf'
g = 'aca\\naf'
print('字符串:a =',a,b,c,d,e,f,g)
转义符
-
需要输出特殊字符如
\,可以在\前再加个\变成\\; -
使用
r前缀原样输出字符串。
访问字符串
-
字符串在python中是以 unicode 字符表示的字节数组。
-
但是python没有字符数据类型,1个字符表示长度为1的字符串。
-
字符串在python中属于不可变类型数据,即字符串一经赋值就不可改变。
访问字符
-
字符索引:第一个字符索引为0;最后一个字符索引为-1。
-
通过字符所对应的索引可以访问对应字符:
str[index]
s = "1233444444444444444"
print(s[4])
切片
-
字符串的切片:
str[start:end:step]-
start:表示开始的索引。
-
end:表示结束的索引。
-
step:表示步长。
-
拼接
-
字符串的拼接:
str1 + str2
复制
-
字符串的重复:
str *n
# 切片:
s = 'my name is weihao-xiong'
print(s)
print(s[:]) #获取字符串的副本
print(s[1:5]) #获取字符串索引从1到5之间的字符,包括索引为1的字符,不包括索引为5的字符
print(s[4:]) #获取字符串索引从4到末尾的所有字符,包括索引为4的字符。
print(s[:6]) #获取字符串前6个字符
print(s[::2]) #获取字符串每隔2的所有字符
# 拼接:
s1 = '.'
print(s + s1)
# 重复:
print(s *6)
-
F字符串:可以格式化字符串。
-
语法:
f"string{}"或者f'string{}'-
f-string以f开头,以{}来替换变量。
-
-
本质:f-string不是字符串常量,而是一个在运行时运算求值的表达式。
-
a = 124
print("不使用f-string:",a)
print("使用f-string:",f"注释:{a}")
-
字符串的长度:len(string)
s = "ssss"
print("字符串的长度:",len(s))
字符串函数
获取长度
-
len(string)-
计算字符的个数。
-
print("len():",len('asagaaga'))
查找字符
-
string.index(value,start,end)-
在字符串中搜索指定的值并返回它被找到的位置。
-
如果值不存在,会抛出异常
-
-
string.find(value,start,end)-
在字符串中搜索指定的值并返回它被找到的位置。
-
如果值不存在,返回-1
-
-
参数:
-
value:要检索的值,必须。
-
start:开始索引,可选
-
end:结束索引,可选
-
s = "12412452512132451145"
print(s.index('21'))
print(s.find('23'))
替换字符
-
string.replace(oldvalue, newvalue, count)-
方法用另一个指定的短语替换一个指定的短语。
-
-
参数:
-
oldvalue:必需。要检索的字符串。
-
newvalue:必需。替换旧值的字符串。
-
count:可选。数字,指定要替换的旧值出现次数。默认为所有的出现。
-
s = 'adaffsg'
s = s.replace('ada','ddd')
print(s)
分割字符
-
string.split(separator, max)-
方法将字符串拆分为列表。
-
-
参数:
-
separator:可选。规定分割字符串时要使用的分隔符。默认值为空白字符。
-
max:可选。规定要执行的拆分数。默认值为 -1,即“所有出现次数”。
-
s = 'a-d-a-f-f-s-g'
s = s.split('-')
print(s)
合并字符
-
string.join(iterable)-
方法获取可迭代对象中的所有项目,并将它们连接为一个字符串。
-
-
参数:
-
iterable:必需。所有返回值均为字符串的任何可迭代对象。
-
s = 'a-d-a-f-f-s-g'
s = s.join(s+'-')
print(s)
格式字符
-
string.format(value1, value2...)-
方法格式化指定的值,并将其插入字符串的占位符内。
-
占位符使用大括号 {} 定义。
-
format() 方法返回格式化的字符串。
-
-
参数:
-
value1, value2...:必需。一个或多个应该格式化并插入字符串的值。
-
值可以是数字,用于指定要删除的元素的位置。
-
这些值可以是用逗号分隔的值列表、键=值列表,或两者的组合。
-
这些值可以是任何数据类型。
-
-
t = "你好啊 {},{}"
t = t.format('vv',"!")
print(t)
'''-----------------'''
t = "你好啊,{},{},{},{}".format(1,2,3,4)
print(t)
字符统计
-
string.count(value, start, end)-
统计字符串中出现字符的次数。
-
-
参数:
-
value:要检索的值,必须。
-
start:开始索引,可选
-
end:结束索引,可选
-
print("11112341513514515".count('1'))
去掉空白
-
str.lstrip()|str.rstrip()|str.strip()-
删除字符串左边,右边或者两边的空白字符(空格,制表符,换行符),如果带有参数,那么将删除字符串两边指定的字符
-
s = " 中国!你好! "
print("lstrip():\n",s.lstrip())
print("rstrip():\n",s.rstrip())
print("strip():\n",s.strip())
print("strip(param):\n",'aaafasasfaf'.strip("aa"))
大小转换
-
str.lower()|str.upper()|str.title()-
把指定的字符串转换为小写,大写或者首字母大写的字符串。
-
-
str.swapcase()-
如果指定的字符是大写就转为小写,否则大写。
-
s = 'HEllo WOrld'
print("lower():\n",s.lower())
print("upper():\n",s.upper())
print("title():\n",s.title())
判断状态
-
isupper():判断字符串是否是大写 -
islower():判断字符串是否是小写 -
istitle():判断字符串是否是首字母大写 -
isalpha():判断字符串是否是只包含字母字符,并且非空 -
isalnum():判断字符串是否是只包含数字和字母字符,并且非空 -
isdecimal():判断字符串是否是只包含数字字符,并且非空 -
isspace():判断字符串是否是只包含空格,制表符和换行,并且非空。
print("islower():\n",'hello'.islower())
print("isupper():\n",'A'.isupper())
print("istitle():\n",'A'.istitle())
print("isalpha():\n",'aaffg中'.isalpha())
print("isalnum():\n",'aafs中12411'.isalnum())
print("isdecimal():\n",'121515'.isdecimal())
print("isspace():\n",' '.isspace())
指定开头
-
str.startswith('start')|str.endswith('end')-
判断str是否是以指定字符串开头|结尾,如果是返回True,否则返回False
-
参数:start:指定字符串以start开头;end:指定字符串以end结尾。
-
print("startswith():",'hello china'.startswith('he'))
print("endswith():","hello china".endswith('a'))
对齐文本
-
str.ljust(length,character)|str.rjust(length,character)|str.center(length,character)-
返回调用他们的字符串的填充版本,通过插入空格来对齐文本。左对齐,右对齐,居中对齐。
-
参数:
-
参数1:整数长度,用于对齐字符串,即希望调用的字符串放在一个整数长度的字符串中,减去字符串原始长度,其他空间使用空格填充,直到达到指定整数长度为止。
-
参数2:指定一个填充字符,取代空格符。
-
-
print('rjust():','rjust'.rjust(10,'-'))
print('ljust():','ljust'.ljust(20,'!'))
print('center():','center'.center(12,'-'))
浙公网安备 33010602011771号