数据类型详解-字符串

数据类型详解

字符串

字符串的定义方式

  1. 单引号定义字符串 ‘ ’
  2. 双引号定义字符串 “ ”
  3. 三引号定义字符串 ‘’‘内容’‘’或者 “”“内容”“”
  4. 字符串定义时,引号可以互相嵌套

转义字符

一个普通的字符出现在转义符 \ 的后面时,实现了另外一种意义

  • \ 转义符,续行符。
    • 作为转义符时,在\后面出现的字符可能会实现另外一种意义。
    • 作为续行符时,在行尾使用了\后,可以换行继续书写内容
  • \n 代表一个换行符
  • \r 代表光标位置(从\r出现的位置开始作为光标的起点)
  • \t 代表一个水平制表符(table 缩进)
  • \b 代表一个退格符
  • \ 反转义\,输出了\,取消\的转义效果
    把转义字符作为普通字符输出,在字符串的前面加 r’ '
# \ 续行符
# 续行符
vars = 'abc' \
       'def'


# \ 转义符,在字符出现的特定字符有着特定的意义
# \n  代表一个换行符
vars = '故人西辞黄鹤楼,\n\n烟花九月下扬州。。'

# \r 代表光标的位置(从\r出现的位置开始作为光标的起点)
vars = '故人西辞黄鹤楼,\r烟花九月下扬州。。'

# \t 水平制表符(table 缩进)
vars = '故人西辞黄鹤楼,\t烟花九月下扬州。。'

# \b 退格符
vars = '故人西辞黄鹤楼,\b烟花九月下扬州。。'

# \\ 一个\是转义符,在这个符号前在定义一个\ 就会取消转义。变成一个普通的\输出
vars = '故人西辞黄鹤楼,\\烟花九月下扬州。。'

# 把转义字符作为普通字符输出,在字符串的前面加 r''
vars = r'故人西辞黄鹤楼,\n\n烟花九月下扬州。。'

字符串相关的操作

  • 字符串 + 操作
  • 字符串 * 操作
  • 字符串 [] 切片操作
    • 字符串[开始值:结束值:步进值]
      开始值:默认为0,结束值默认是最后一个下标,步进值默认为1
# - 字符串 + 操作
vara = '床前明月光,疑似地上霜'
varb = '举头望明月,低头思故乡'
res = vara + varb


# - 字符串 * 操作
vars = '你真帅' * 5
print(vars) #你真帅你真帅你真帅你真帅你真帅


# - 字符串 [] 切片操作 ****
# 字符串的索引操作,字符串中只能使用[]下标 访问,不能修改
'''
0 1 2 3 4 5 6 7 8 9 10 ....
床前明月光,疑似地上霜

'''
vars = '床前明月光,疑似地上霜'
# print(vars[5])
# print(vars[-5])

'''
字符串的切片操作
str[开始值:结束值:步进值]
开始值:默认为0,结束值默认是最后一个下标,步进值默认为1
'''

vars[5] # 写一个值就是获取指定下标的元素
vars[2:5] # 从2下标开始取值,一直到下标5之前,能取到2,取不到5
vars[4:8:2] 
vars[::] # 从头取到尾
vars[::2] # 从头取到尾,每隔一个取一个
vars[::-1]  # 字符串倒转过来
vars[::-2] # 字符串倒转过来,每隔一个取一个

字符串格式化的方法

  • format
  • f
# 1 format  普通方式
a = '李白'
# vars = '{}乘舟将欲行,互闻岸上踏歌声'.format(a)
# vars = '{}乘舟将欲行,互闻岸上{}'.format(a,'踏歌声')

# 2 format  通过索引传参                      0   1   2
# vars = '{2}乘舟将欲行,互闻岸上{1}'.format('a','b','c')

# 3 format  关键字传参
# vars = '{a}乘舟将欲行,互闻岸上{b}'.format(a='李白',b='踏歌声')

# 4 format  容器类型数据传参
# vars = '豪放派:{0[0]},婉约派:{0[1]},蛋黄派:{0[2]}'.format(['李白','辛弃疾','达利园'])

data = {'a':'辛弃疾','b':'鸟语声'}
vars = '{a}乘舟将欲行,互闻岸上{b}'.format(**data)

# 3.7中新增的 格式化方法 f方法
vars = f'{data["a"]}乘舟将欲行,互闻岸上{data["b"]}'
# print(vars)

字符串相关函数

# 字符串相关函数 (一) 英文字符与字符检测相关函数
vars = 'iloveyou'
# 返回字符串的副本,该字符串的首个字符大写,其余小写。
# str.capitalize()
res = vars.capitalize()
# 把字符串中的一个单词的首字母大写
res = vars.title()
# 把字符串全部改为 大写
res = vars.upper()
# 把字符串全部改为 小写
res = vars.lower()
# 字符串中的大小写字符转换,大写转小写,小写转大写
res = vars.swapcase()

# 检测字符串是否为全部大写字母组成
res = vars.isupper()
# 检测字符串是否为全部小写字母组成
res = vars.islower()
# 检测字符串是否符合标题title的要求
res = vars.istitle()
# 检测字符串是否由数字和字母组成,如果字符串中包含来非数字字母的其它字符,则返回False
res = vars.isalnum()
# 检测字符串是否全部由字符(包含英文字符和中文)组成
res = vars.isalpha()
# 检测字符串是否由纯数字字符组成
res = vars.isdigit()
# 检测当前字符串是否为 空格 字符组成 ' '
res = vars.isspace()

# 检测字符串是否以指定的字符开始的,也可以指定开始和结束的位置
res = vars.startswith('y')
# res = vars.startswith('y',5)
# 检测字符串是否以 指定的字符 结束的,也可以指定开始和结束的位置
# res = vars.endswith('y')
res = vars.endswith('e',1,5)

字符串 查找与操作相关函数


#  ** find() 方法 ,找到则返回字符中符合条件的第一个字符出现的索引位置。未找到返回 -1
vars = 'iloveyou'
res = vars.find('love')
# print(vars[res:res+3])

# index() 方法
# res = vars.index('youe') # 找到则返回索引位置,未找到则报错 ValueError
# print(res)

vars = '129.168.1.110'

# ** split() 方法 可以按照指定的分隔符,把字符串分隔成列表
res = vars.split('.') # ['129', '168', '1', '110']
# res = vars.split('.',2)  # ['129', '168', '1.110']
# print(res)

# rsplit() 方法是从右向左进行,从后向前
res = vars.rsplit('.')  # ['129', '168', '1', '110']
# res = vars.rsplit('.',2)  # ['129.168', '1', '110']
# print(res)

# ** join() 方法 ,使用指定的字符串,把一个容器中的元素连接成一个字符串
varlist = ['129', '168', '1', '110']
res = '_'.join(varlist) #129_168_1_110


# ** strip() 去除字符串左右两侧的指定字符
vars = '  nizhenshuai  '
res = vars.strip(' ')
vars = '@zhangsan'
res = vars.strip('@')

# rstrip() 去除字符串右侧的指定字符, lstrip() 去除字符串左侧的指定字符

# ** len() 函数可以获取当前字符串的长度
res  = len(vars)
# ** replace() 替换函数
vars = 'iloveyou'
# 找到 love  替换为 live
res = vars.replace('love','like')

vars = 'aaeeddeessfffggg'
#  可以限制替换的次数
res = vars.replace('b','B',2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值