定义
什么是字符串?
字符串是 Python 中最常用的数据类型。我们可以使用引号(‘或”)来创建字符串。 单引号双引号都可以。
如何定义字符串?
创建字符串很简单,只要为变量分配一个值即可。
以下有四种方式:
#第一种
a = 'today is Saturday'
>>> type(a)
<class 'str'>
#第二种
>>> b = "tomorrow is Sunday"
>>> type(b)
<class 'str'>
#第三种
>>> c = """
... 我不想上课了!
... """
>>> type(c)
<class 'str'>
#第四种
>>> d = str("我想回广东")
>>> type(d)
<class 'str'>
字符串的常用方法
1.首字母大写:capitalize()
>>> a
'today is Saturday'
>>> a.capitalize()
'Today is saturday'
2.将字符串居中:center()
>>> a.center(50)
' today is Saturday '
3.统计字符串中出现的字符或字符串的次数:count()
>>> e = '2,6,2,6,2,9,8,7,6,6,6,6,6,6'
>>> e.count('6')
8
4.将字符串转换为字节:encode()
注意:进行编码转换统一使用utf-8;
编码和解码一定要使用同一个标准
>>> a.encode()
b'today is Saturday'
5.判断字符串是否以‘xx’结尾:endswith()
>>> b.endswith("day")
True
6.判断字符串是否以‘xx’开头:startswith()
>>> b.startswith("t")
True
7.查找字符串最后一次出现的位置(从右往左):rfind()
如果没有匹配值则返回 -1,字符串内的所有符号都算字符串的字符,因为我在定义e的时候使用的是单引号,查找时使用了双引号,所以会多一个字符。
>>> e
'2,6,2,6,2,9,8,7,6,6,6,6,6,6'
>>> e.rfind("6")
26
8.查找字符串中某个字符或字符串第一次出现的位置:index()
不存在会抛出异常
>>> b
'tomorrow is Sunday'
>>> b.index("sunday")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> b.index("Sunday")
12
9.格式化字符串:format.()
回顾:三种方式
>>> f = 10
>>> g = 20
>>> print("%s %s" %(f,g))
10 20
>>> print(f,g)
10 20
>>> print(str(f)+"-"+str(g))
10-20
format 函数可以接受不限个参数,位置可以不按顺序。
语法格式:
print("{} - {} ={}",format(“a”,“b”,(“a”"-"“b”)))
>> "{0} {1} {2}".format("s","ss","sss")
's ss sss'
10.拼接字符串:join()
>>> z = ["hello","world"]
>>> "+".join(z)
'hello+world'
11.全部字符转小写:lower.()
>>> "Today is nice day".lower()
'today is nice day'
12.全部字符转大写:upper.()
>>> "Today is nice day".upper()
'TODAY IS NICE DAY'
13.将字符串转换为一个符合标题:title()
>>> "Today is nice day".title()
'Today Is Nice Day'
14.从左开始切割字符串:split()
和join相似,二者可进行转换。
>>> s = 'asd dfdf ff'
>>> s.split()
['asd', 'dfdf', 'ff']
>>> s.rsplit()
['asd', 'dfdf', 'ff'] #这样看不出差别
15.从右开始分割字符串:rsplit()
>>> s.split(' ',1)
['asd', 'dfdf ff']
>>> s.rsplit(' ',1)
['asd dfdf', 'ff'] #这样可以看出差别
16.清除字符串两边的空格:strip()
>>> ' hello world '.strip()
'hello world'
17.清除右边空格:rstrip()
18.清除左边空格:istrip()
操作方式一致,不进行操作了。
19.替换字符串:replace()
>>> k
'hello world'
>>> k.replace("hello","hi")
'hi world'
仅需要了解的指令
1.判断字符串是不是标题:istitle()
'hi world'
>>> k.istitle()
False
>>> "Hi World".istitle()
True
2.判断是不是空白字符:isspace()
3.判断是不是小写字母:islower()
4.判断是不是大写字母:isupper()
>>> "AAAAAAAAAccccccccc".islower()
False
>>> "aaaaaaaaaaaaaaaaaa".islower()
True
>>> "AAAAAAAAAAAAAAAAAA".isupper()
True
5.判断是不是由字母和数字组成:isalnum()
>>> "abc123".isalnum()
True
>>> "aaa".isalnum()
True
>>> "123".isalnum()
True
>>> "abc123___".isalnum()
False
6.判断是不是都由字母组成:isalpha()
False
>>> "aaaBBBB".isalpha()
True
>>> "aaaBBB111".isalpha()
False
7.判断是不是都由数字组成:isdight()