Python基础变量主要有字符型和数值型两种,相比于数值型数据,字符型数据可以理解成是一种文本,在语言领域的应用更加广泛。Python的字符串数据类型属于不可改变数据类型,所以当创建一个变量的类型为字符串时,这个变量的字符串的字符不可以修改或者删除,只能在一个新的变量上进行操作。
Python提供了以下几种方式去标识字符串(str):
单引号(')
双引号(")
三引号('''或者""")
'This is python'
"This is python" #双引号和单引号用法一样,但不能混用
'''\
This is python a
This is python b
This is python c''' #三引号相对于单引号或者双引号,可以换行保持整齐。
Python字符串转义:
单引号转义
双引号与反斜杠转义
指定字符串
print('what's happend') #python不能辨识这段字符串从何处开始何处结束
输出结果:
File"D:/pystudy/字符串.py", line 129
print('what's happend')
^SyntaxError: invalid syntaxprint('what\'s happend')#反斜杠转义单引号
输出结果:
what's happend
print(r'D:\name\python') #用r(R)指定r(R)后面的单引号或双引号标识的是一个字符串
输出结果:
D:\name\python
Python的字符串拼接(相加)和字符串相乘:
a = 'abc'b= 'def'c= a +bprint(c)
d= 'ac' * 8
print(d)
输出结果:
abcdef
acacacacacacacac
Python的字符串索引:
python的字符串索引分为正索引和负索引,通常说的索引就是指正索引。正索引是从0开始的,也就是第一个字母的索引是0,第二个索引是1,以此类推。负索引是从右到左去标记字母的,然后加上负号(-)。负索引的第一个值是-1而不是0,如果是0,那么会导致有两个索引0,这种情况是不允许的。
字符串 P Y T H O N
索引 0 1 2 3 4 5
负索引 -6 -5 -4 -3 -2 -1
Python提取指定位置的字符:
name = 'python'
#索引 012345
a =name[0]
b= name[4]print(a)print(b)
输出结果:
p
o
Python字符串切片和步长:
name = 'python'
#索引 012345
a = name[0:3]#取字符串索引012 不包含3
b = name[:-1] #等于name[0:-1] 取字符串索引01234不包含-1,这里-1相当于5的意思
c = name[:6]
d= name[:]#从左到右取字符串
print(a)print(b)print(c)print(d)
输出为:
pyt
pytho
python
python#步长(默认步长为1)
e = name[0:3:2]#很明显这里加了个步长2,第一个索引为0,2的意思就是每次索引加2,所以下一个索引为0+2=2。
f = name[::2]#从左到右取字符,从第一个索引开始每个索引加2
g = name[-1:-4:-2]#因为从右到左取字符,为负索引,索引步长也需要为负。
h = name[::-1]#从右到左取字符,步长为-1,也就是反正字符串
print(e)print(f)print(g)print(h)
输出为:
pt
pto
nh
nohtyp
Python字符串的方法:
全部大写:
name = 'jiaming'new_name=name.upper()print(new_name)#把这个字符串全部变成大写
全部小写:
name = 'JIAMING'new_name=name.lower()print(new_name)#把这个字符串全部变成小写
以什么开头:
name = 'jiaming'new_name= name.startswith('jia')ifnew_name:print('是以jia开头')#判断这是不是字符串是不是以jia开头的
以什么结尾:
name = 'jiaming'new_name= name.endswith('ng')ifnew_name:print('是以ng结尾')#判断这是不是字符串是不是以ng结尾的
统计出现的次数:
name = 'aaabbbccc'new_name= name.count('a')print(new_name)#统计name这个字符串中a出现的次数
字符串替换:
name = '我去你大爷的大爷的'new_name= name.replace('大爷,'**',1)#第一个参数为要替换的字符或者字符串,第二个参数为要替换的内容,第三个参数是指从左到右替换多少个大爷。
print(new_name)#替换字符串中的内容
去除头尾两边的空格:
name = 'jiaming'new_name=name.strip()
new_name1= name.lstrip()#左边的空格
new_name2 = name.rstrip()#右边的空格
print(new_name)#去除头尾俩遍的空格
分割:
name = 'jia,ming'new_name= name.split(",")print(new_name)#通过,将字符串name进行切割
字符串格式化:
name = 'jiaming{}'new_name= name.format('好靓仔')print(new_name)#字符串格式化
is系列:
判断是不是阿拉伯数字,返回的是布尔值:
name = 'jiaming'new_name=name.isdigit()print(new_name)#判断是不是阿拉伯数字,返回结果是布尔值
判断是不是数字和字母,返回的是布尔值:
name = 'jiaming'new_name=name.isalnum()print(new_name)#判断是不是字母和数字,返回结果是布尔值
判断是不是纯字母和汉字,返回的是布尔值:
name = 'jiaming'new_name=name.isalpha()print(new_name)#判断是不是纯字母和汉字,返回的是布尔值
获取长度:
name = "jiaming"
print(len(name))
输出结果:7