python之字符串的特性与常用方法

一世执手 提交于 2020-02-06 08:34:13

1. 字符串的定义

字符串就算一系列字符,在python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。

单引号:a = ‘kane’
双引号:b = “kane”
当字符串内有单引号时,单引号+转义字符:c = ‘what\’s’
当字符串内有单引号时,双引号:d = “westos’s”
三引号(多行输出):
d = """
    用户管理系统
    1.添加用户
    2.擅长用户
    3.显示用户
    .....
"""

2. 字符串的特性

2.1 索引

索引:0 1 2 3 4 索引从0开始

s = 'hello'
print(s[0]) 		##拿出第一个字符
print(s[1]) 		##拿出第二个字符
print(s[4])			##拿出最后一个字符
print(s[-1])		##拿出最后一个字符

输出结果:
在这里插入图片描述

2.2 切片

切片: s[start:stop:step] 从start开始到stop-1结束, step:步长

s = 'hello'
print(s[0:3])   	##显示索引为0 1 2的字符
print(s[0:4:2]) 	##s[start:stop:step] 从satrt开始到stop-1结束 步长为step
print(s[:])			##显示所有的字符
print(s[:3])		##显示前3个字符
print(s[::-1])		##字符串的反转
print(s[2:]) 		##除了前2个字符之外的其他字符

输出结果:
在这里插入图片描述

2.3 重复

print(s * 10),将字符串s打印10遍

s = 'hello'
print(s * 10)

输出结果:
在这里插入图片描述

2.4 连接

print(‘hello’ + ‘world’), 将两个字符串连接起来形成新的字符串并打印

s = 'hello'
print('hello ' + 'world')

输出结果:
在这里插入图片描述

2.5 成员操作符

‘he’ in s:如果字符串s中有he元素,就返回True,否则返回False
‘aa’ in s:如果字符串s中有aa元素,就返回True,否则返回False
‘he’ not in s:如果字符串s中没有he元素,就返回True,否则返回False

s = 'hello'
print('he' in s)
print('aa' in s)
print('he' not in s)

输出结果:
在这里插入图片描述

2.6 for循环遍历

s = 'hello'
for i in s:
    print(i)

输出结果:
在这里插入图片描述end=’'表示字符后面不加空格

s = 'hello'
for i in s:
    print(i,end='')

输出结果:
在这里插入图片描述

2.7 枚举

返回索引值与对应的value值

for i,v in enumerate('hello'):
    print(str(i) + '---' + v)

输出结果:
在这里插入图片描述

2.8 zip压缩

s1 = 'kaiserking'
s2 = '9876543210'
for i in zip(s1,s2):
    print(i)

输出结果:
在这里插入图片描述

3. 字符串的常用方法

3.1 字符串的判断

s.istitle() 是否为标题,返回布尔值,只要有一个元素不满足,就返回False
s.isupper() 是否为大写字母,返回布尔值,只要有一个元素不满足,就返回False
s.islower() 是否为小写字母,返回布尔值,只要有一个元素不满足,就返回False
s.isdigit() 是否为数字,返回布尔值,只要有一个元素不满足,就返回False
s.isalpha() 是否为字母,返回布尔值,只要有一个元素不满足,就返回False
s.isalnum() 是否为字母与数字的结合,返回布尔值,只要有一个元素不满足,就返回False
s.startswith(xxx) 以xxx开始
s.endswith(xxx) 以xxx结尾

print('hello'.isupper())       #是否为大写字母,返回布尔值,只要有一个元素不满足,就返回False
print('Hello'.isupper())
print('HELLO'.isupper())
print('hello'.islower())       #是否为小写字母,返回布尔值,只要有一个元素不满足,就返回False
print('Hello'.islower())
print('beijing2008'.isdigit()) #是否为数字,返回布尔值,只要有一个元素不满足,就返回False
print('shanghai123'.isalpha()) #是否为字母,返回布尔值,只要有一个元素不满足,就返回False
print('shanxi456'.isalnum())   #是否为字母与数字的结合,返回布尔值,只要有一个元素不满足,就返回False

输出结果:
在这里插入图片描述

filename = 'hello.loggggg'
if filename.endswith('.log'):
    print(filename)
else:
    print('error.file')

输出结果:
在这里插入图片描述

url = 'https://172.25.254.250/index.html'
if url.startswith('http://'):
    print('爬取网页')
else:
    print('不能爬取')

输出结果:
在这里插入图片描述

3.2 字符串的转换

s.lower() 转化为小写字母
s.upper() 转化为大写字母
s.title() 转化为标题

print('Hello'.lower())  # s.lower() 转化为小写字母
print('hello'.upper())  # s.upper() 转化为大写字母
print('hello'.title())  # s.title() 转化为标题

输出结果:
在这里插入图片描述

3.3 字符串的去除

s.rstrip() :去除右边的空格
s.lstrip() :去除左边的空格
s.strip() :去除空格
注意:s.strip()去除左右两边的空格,空格为广义的空格(包括:\t \n)
s.strip(‘x’) :去除字符串中的所有字符x
s.lstrip(‘x’) :去除字符串中最左边的字符x

s = '       hello       '
print(s.rstrip())   	  # s.rstrip() 去除右边的空格
print(s.lstrip())   	  # s.lstrip() 去除左边的空格
print(s.strip())    	  # s.strip() 去除空格
s2 = '\thello\n'
print(s2)
print(s2.strip()) 		   # s.strip() 去除左右两边的空格,空格为广义的空格 包括:\t \n
s3 = 'helloh'
print(s3.strip('h'))       # s.strip('x') 去除字符串中的所有字符x
print(s3.lstrip('h'))      # s.lstrip('x') 去除字符串中最左边的字符x

输出结果:
在这里插入图片描述

3.4 字符串的对齐

s.center(num) :字符串s位于num个单元格的中间
s.center(num,’#’) :字符串s位于num个单元格的中间,其他单元格用#补齐
s.ljust(num,’#’) :字符串s位于num个单元格的左边,其他单元格用#补齐
s.rjust(num,’#’) :字符串s位于num个单元格的右边,其他单元格用#补齐

print('学生管理系统'.center(30))
print('学生管理系统'.center(30,'*'))
print('学生管理系统'.ljust(30,'*'))
print('学生管理系统'.rjust(30,'*'))

输出结果:
在这里插入图片描述

3.5 字符串的查找与替换

s.find(‘xxx’) :找到子字符串xxx,并返回子字符串最小的索引
s.rfind(‘xxx’) :找到字符串s最右边出现的子字符串xxx,并返回子字符串最小的索引
s.replace(‘xxx’,‘###’) :替换字符串中的xxx为###

s = 'hello world hello'

# find找到子字符串,并返回最小的索引
print(s.find('hello'))
print(s.find('world'))
print(s.rfind('hello'))

# 替换字符串中的hello为westos
print(s.replace('hello','westos'))

输出结果:
在这里插入图片描述

3.6 字符串的统计

s.count(‘xxx’) :统计字符串s中子字符串xxx出现的次数
len(s) :统计字符串s的长度

# s.count('xxx'):统计字符串s中子字符串xxx出现的次数
print('hello'.count('l'))
print('hello'.count('ll'))
# len(s):统计字符串s的长度
print(len('westossssss'))

输出结果:
在这里插入图片描述

3.7 字符串的分离和连接

s.split(‘xxx’) :以xxx作为分隔符分离字符串s,存放在列表中
‘xxx’.join(s):通过指定的连接符号,连接列表中的每个字符,形成新的字符串

# 分离
s = '172.25.254.250'
s1 = s.split('.')   	  #s.split('.'):以.作为分隔符分离字符串s,存放在列表s1中
print(s1)
print(s1[::-1]) 		  #倒序

date = '2019-12-19'
date1 = date.split('-')   #s.split('-'):以-作为分隔符分离字符串data,存放在列表date1中
print(date1)

# 连接:'xxx'.join(s) 通过指定的连接符号,连接每个字符
print(''.join(date1))     #''.join(date1):直接连接每个字符
print('/'.join(date1))    #'/'.join(date1):通过指定的连接符号/,连接每个字符
print('~~'.join('hello'))

输出结果:
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!