Python基础-String字符串及字符串常用函数

版权声明:转载请注明出处https://blog.csdn.net/TaoismHuang https://blog.csdn.net/TaoismHuang/article/details/91373418

字符串是一种非常常见的数据类型,这里会讲到字符串的一些简单运用以及常用的函数

创建字符串

在Python,字符串是以单引号或者双引号括起来的任意文本,一个字符串由若干个任意字符组成。

创建字符串很简单,只要为变量分配一个值即可。例如:

str1 = "hello world"
str2 = 'you are good'
字符串运算
字符串链接

1、使用“+”进行链接

s1 = "welcome"
s2 = 'to guangzhou'
print(s1 + s2)	#welcometo guangzhou

注意:字符串 + 数字,这样会报错,不同类型的不能相加

2、使用“,”进行链接

s1 = 'hello'
s2 = 'world'
print(s1, s2)	#hello world

注意:使用“,”链接的时候,在“,”的位置会产生一个空格

3、使用%格式化链接

s1 = 'hello'
s2 = 'world'
print("%s %s"%(s1, s2))		#hello world

4、使用join函数进行链接

s1 = ['hello', 'world','!']
print("*".join(s1))		#hello*world*!

注意:"".join()函数内部只需要传递一个参数

5、使用"{}{}".format()来进行拼接

print("{} word {}".format("hello","!"))		#hello word !
重复输出字符串

重复输出字符串,通过乘法的方式实现

s3 = 'good'
print(s3 * 3)	#goodgoodgood
获取字符串中的字符

访问方式:变量名称[索引]

索引(下标)取值范围:[0,str.length-1]

str3 = 'good'
print(str3[0])		#g

索引值还可以从-1开始,-1代表倒数第一个字符

str3 = 'good'
print(str3[-1])		#d
截取字符串

通过下标截取字符串,截取字符串的范围是str[start : end] 它是一个前闭后开的区间[start,end),如果n的值超过了字符串的最大长度,则仍然截取原下标的长度

str1 = "hello world"
print(str1[3:7])		#lo w

#从开头截取到指定索引之前[0,5)
print(str1[:5])		#hello

#从指定截取到结尾[4,str1.length)
print(str1[4:])		#o world

注意:使用str[start : end]来截取字符串的时候,若start不写默认从第一个字符开始,若end不写,则默认到最后一个字符结束

判断是否包含指定字符

判断字符串中是否包含某指定字符串,可以使用成员运算符in来进行判断,若包含有则返回True否则为False

str1 = "you are a good boy"
print("good" in str1)	#True
字符串常用函数
1. eval(str)

功能:将字符串str当成有效的表达式来求值并返回计算结果。

可以把list,tuple,dict, set和string相互转化

num1 = eval('123')
print(num1)		#123
num2 = eval("[1, 2, 3]")
print(num2)		#[1, 2, 3]
num3 = eval("12-3")
print(num3)		#9
2. len(str)

功能:返回当前字符串的长度(字符的个数)

print(len("you are good"))	#12
3. str.lower()

功能:返回一个把字符串中的大写字母转换为小写字母 的字符串

str1 = "Hello World"
print(str1.lower())		#hello world
print(str1)				#Hello World

注意:此方法不改变原本的字符

4. str.upper()

功能:返回一个把字符串中的小写字母转换为大写字母的字符串

str = "Hello World"
print(str.upper())	#HELLO WORLD
5. str.swapcase()

功能:返回一个把字符串中的大写字母转为小写字母,小写字母转换为大写字母的字符串

str = "Hello World"
print(str.swapcase())	#hELLO wORLD
6. str.capitalize()

返回一个首字母大写,其他小写的字符串

str = "Hello World"
print(str.capitalize())		#Hello world
7. str.title()

返回一个每个单词首字母大写的字符串

str1 = "today is a good day"
print(str1.title())		#Today Is A Good Day
8. str.center(width[,fillchar])

功能:返回一个指定宽度的居中字符串,fillchar为填充的字符,默认使用空格

str1 = "today is a good day"
print(str1.center(50,"*"))

#***************today is a good day****************
9. str.ljust(width[, fillchar])

功能:返回一个指定宽度的左对齐字符串,fillchar为填充字符。默认使用空格填充

str1 = "today is a good day"
print(str1.ljust(50,"*"))

#today is a good day*******************************
10. str.rjust(width[, fillchar])

功能:返回一个指定宽度右对齐字符串,fillchar为填充字符,默认使用空格填充

str1 = "today is a good day"
print(str1.rjust(50,"*"))
#*******************************today is a good day
11. str.zfill(width)

功能:返回一个长度为width字符串,原字符串右对齐,前面补0

str1 = "today is a good day"
print(str1.zfill(30))
#00000000000today is a good day
12. str.count(str [,start][, end])

功能:返回字符串中str出现的次数,可以指定一个范围,若不指定则默认从头到尾,匹配的时候是区分大小写的。

str1 = "today is a good day"
print(str1.count("day", 0 , 10))		#1
13. str.find(str1[, start][, end])

功能:从左到右检测str1字符串是否包含在字符串中,可以指定范围,默认从头到尾。

返回的是第一次出现的开始的下标,若未查询到,则返回-1

str1 = "today is a good day"
print(str1.find("day", 0 , 10))	#2
14. str.rfind(str1[, start][, end])

功能:类似于str.find(),不过是从右边开始查找

str1 = "today is a good day"
print(str1.rfind("day", 0 , 10))    #2
print(str1.rfind("day"))            #16
15. str.index(str1[, start = 0] [,end = len(str)])

功能:类似于find(),与find() 不同的是,如果str1不存在的时候会报一个异常

str1 = "today is a good day"
print(str1.index("day", 0 , 10))    #2
print(str1.index("Day"))  #ValueError: substring not found
16. str.strip()

功能:截掉字符串左右两侧指定的字符串,则默认删除空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')

str1 = "*****today is a good day*****"
print(str1.strip("*"))    
#today is a good day
17. str.lstrip()

功能:截掉字符串左侧指定的字符串,则默认删除空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')

str1 = "*****today is a good day*****"
print(str1.lstrip("*"))
#today is a good day*****
18. str.rstrip()

功能:截掉字符串右侧指定的字符串,则默认删除空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')

str1 = "*****today is a good day*****"
print(str1.rstrip("*"))
#*****today is a good day
19. string.split(str="", num=string.count(str))

功能:以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串

str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数

str1 = "*****today is a good day*****"
print(str1.split())
print(str1.split(" ",3))
#['*****today', 'is', 'a', 'good', 'day*****']
#['*****today', 'is', 'a', 'good day*****']

猜你喜欢

转载自blog.csdn.net/TaoismHuang/article/details/91373418