17.数据类型-字符串(str)---定义,特性及常用方法

1.字符串的定义方法

  • 单引号:a = 'sheena'
  • 双引号:b = "jay"
  • 当字符串内有单引号时,单引号+转义字符:c = 'jay\'s new song in 09.16'
  • 当字符串内有单引号时,双引号:d = "jay's new song in 09.16"
  • 三引号(多行输出):
e = """
        用户管理系统
        1.添加用户
        2.删除用户
        3.显示用户
"""

在这里插入图片描述
在这里插入图片描述

2.字符串的特性

(1)索引
s = 'hello'
#正向索引
print(s[0]) #显示第一个字符
print(s[1]) #第二个字符
print(s[4])	# 拿出最后一个字符
#反向索引
print(s[-1])	# 拿出最后一个字符

在这里插入图片描述

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

在这里插入图片描述

(3)重复

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

s = 'hello'
print(s * 3)

在这里插入图片描述

(4)连接

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

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

在这里插入图片描述

(5)成员操作符

'he' in s:如果字符串s中有he元素,就返回True
'aa' in s:如果字符串s中有aa元素,就返回False
'he' not in s:如果字符串s中有he元素,就返回False

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

在这里插入图片描述

(6)for循环遍历(迭代)
s = 'hello'
for i in s:
    print(i)

在这里插入图片描述

(7)枚举

返回索引值与对应的value值

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

在这里插入图片描述

(8)zip压缩
s1 = 'sheena'
s2 = '110900'
for i in zip(s1,s2):
    print(i)

在这里插入图片描述

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('sheena1109'.isdigit())  #是否为数字,返回布尔值,只要有一个元素不满足,就返回False
print('jay0118'.isalpha())     #是否为字母,返回布尔值,只要有一个元素不满足,就返回False
print('sehun0412'.isalnum())   #是否为字母与数字的结合,返回布尔值,只要有一个元素不满足,就返回False

在这里插入图片描述
在这里插入图片描述

示例1:

filename = 'hello.jay_chou'
if filename.endswith('.jay'):   # s.endswith(xxx) 以xxx结尾
    print(filename)
else:
    print('error.file')

在这里插入图片描述
示例2:

url = 'https://172.25.254.250/index.html'
if url.startswith('http://'):   # s.startswith(xxx) 以xxx开始
    print('爬取内容')
else:
    print('不能爬取内容.')

在这里插入图片描述

(2)字符串的转换

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

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

在这里插入图片描述

(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

在这里插入图片描述

(4)字符串的对齐

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

print('管理系统'.center(30))    # s.center(num):字符串s位于30个单元格的中间
print('管理系统'.center(30,'#')) # s.center(num,'#'):字符串s位于30个单元格的中间,其他单元格用#补齐
print('管理系统'.ljust(30,'#')) # s.ljust(num,'#'):字符串s位于30个单元格的左边,其他单元格用#补齐
print('管理系统'.rjust(30,'#')) # s.rjust(num,'#'):字符串s位于30个单元格的右边,其他单元格用#补齐

在这里插入图片描述

(5)字符串的查找与替换

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

s = 'sheena world sheena'
# s.find('xxx'):找到子字符串xxx,并返回子字符串最小的索引
print(s.find('sheena'))
print(s.find('world'))
print(s.rfind('sheena'))    # s.rfind('xxx'):找到字符串s最右边出现的子字符串xxx,并返回子字符串最小的索引

# s.replace():替换字符串中的sheena为sehun
print(s.replace('sheena','sehun'))

在这里插入图片描述

(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('wfqfqfqfq'))

在这里插入图片描述

(7)字符串的分离和连接

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

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

date = '2019-09-02'
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'))

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值