python基础之字符串

Python基础变量主要有字符型和数值型两种,相比于数值型数据,字符型数据能够理解成是一种文本,在语言领域的应用更加普遍。Python的字符串数据类型属于不可改变数据类型,因此当建立一个变量的类型为字符串时,这个变量的字符串的字符不能够修改或者删除,只能在一个新的变量上进行操做。python

Python提供了如下几种方式去标识字符串(str):git

  1. 单引号(')
  2. 双引号(")
  3. 三引号('''或者""")
'This is python'

"This is python" #双引号和单引号用法同样,但不能混用

'''\
This is python a
This is python b
This is python c''' #三引号相对于单引号或者双引号,自身有以个

Python字符串转义:app

  1. 单引号转义
  2. 双引号与反斜杠转义
  3. 指定字符串
print('what's happend') #python不能辨识这段字符串从何处开始何处结束
输出结果:
File "D:/pystudy/字符串.py", line 129
    print('what's happend')
                ^
SyntaxError: invalid syntax

print('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 + b
print(c)
d = 'ac' * 8
print(d)
输出结果:
abcdef
acacacacacacacac

Python的字符串索引:spa

python的字符串索引分为正索引和负索引,一般说的索引就是指正索引。正索引是从0开始的,也就是第一个字母的索引是0,第二个索引是1,以此类推。负索引是从右到左去标记字母的,而后加上负号(-)。负索引的第一个值是-1而不是0,若是是0,那么会致使有两个索引0,这种状况是不容许的。code

字符串  P   Y   T   H  O   Norm

索引      0   1   2    3   4   5blog

负索引 -6  -5  -4  -3  -2  -1索引

Python提取指定位置的字符:ip

 

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')
if new_name:
    print('是以jia开头')
# 判断这是否是字符串是否是以jia开头的

以什么结尾:

name = 'jiaming'
new_name = name.endswith('ng')
if new_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
相关文章
相关标签/搜索