数据类型详解-字符串

  • 回顾字符串的定义方式
  • 了解转义字符
  • 字符串相关的操作
  • 字符串格式化的方法
  • 字符串相关函数

字符串的定义方式

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

转义字符

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

  • \ 转义符,续行符。

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

把转义字符作为普通字符输出,在字符串的前面加 r’ '

示例:

# \ 续行符
#续行符
# vars = '123' \
#        '456'
# print(vars)# \ 转义符,在字符出现的特定字符有着特定的意义
# \n  代表一个换行符
# vars = '岁月是把杀猪刀,\n\n但是它拿长得丑的人一点办法都没有。。。'# \r 代表光标的位置(从\r出现的位置开始作为光标的起点)
# vars = '岁月是把杀猪刀,\r但是它拿长得丑的人一点办法都没有。。。'# \t 水平制表符(table 缩进)
# vars = '岁月是把杀猪刀,\t但是它拿长得丑的人一点办法都没有。。。'# \b 退格符
# vars = '岁月是把杀猪刀,\b但是它拿长得丑的人一点办法都没有。。。'# \\ 一个\是转义符,在这个符号前在定义一个\ 就会取消转义。变成一个普通的\输出
# vars = '岁月是把杀猪刀,\\n但是它拿长得丑的人一点办法都没有。。。'# 把转义字符作为普通字符输出,在字符串的前面加 r''
vars = r'岁月是把杀猪刀,\b但是它拿长得丑的人一点办法都没有。。。'
print(vars)

字符串相关的操作

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

示例:

# - 字符串 + 操作
vara = '君不见,黄河之水天上来,奔流到海不复回.'
varb = '君不见,高堂明镜悲白发,朝如青丝暮成雪'
# res = vara + varb
res = '将进酒 '+'李白'
# print(res)# - 字符串 * 操作
# vars = '鸡你太美,' * 5
# print(vars)
# 鸡你太美鸡你太美鸡你太美鸡你太美鸡你太美# - 字符串 [] 切片操作 ****
# 字符串的索引操作,字符串中只能使用[]下标 访问,不能修改
'''
0 1 2 3 4 5 6 7 8 9 10 ....
君不见,黄河之水天上来,奔流到海不复回-4 -3 -2 -1
'''
vars = '君不见,黄河之水天上来,奔流到海不复回'
# print(vars[5])
# print(vars[-5])'''
字符串的切片操作
str[开始值:结束值:步进值]
开始值:默认为0,结束值默认是最后一个下标,步进值默认为1
'''
# print(vars)
# print(vars[5]) # 写一个值就是获取指定下标的元素
# print(vars[2:5]) # 从2下标开始取值,一直到下标5之前,能取到2,取不到5
# print(vars[4:8:2]) # 黄河之水 ==> 黄之
# print(vars[::]) # 从头取到尾
# print(vars[::2]) # 从头取到尾,每隔一个取一个
# print(vars[::-1])  # 字符串倒转过来
# print(vars[::-2])  # 字符串倒转过来,每隔一个取一个
# print(vars[1::])  # 不见,黄河之水天上来,奔流到海不复回
# print(vars[1::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 = '圆周率是多少:{:.2f}'.format(3.1415926)
# print(vars)

字符串相关函数

官方文档:内置类型:字符串

https://docs.python.org/3.7/library/stdtypes.html#text-sequence-type-str

(一) 英文字符与字符检测相关函数

# 字符串相关函数 (一) 英文字符与字符检测相关函数
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)print(res)

(二)字符串 查找与操作相关函数 重点重点重点

示例:

#  ** find() 方法 ,找到则返回字符中符合条件的第一个字符出现的索引位置。未找到返回 -1
res = vars.find('you')
# print(vars[res:res+3])# index() 方法
# res = vars.index('youe') # 找到则返回索引位置,未找到则报错 ValueError
# print(res)vars = 'user_admin_id_123'# ** split() 方法 可以按照指定的分隔符,把字符串分隔成列表
# res = vars.split('_') # ['user', 'admin', 'id', '123']
res = vars.split('_',2)  # ['user', 'admin', 'id_123']
# print(res)# rsplit() 方法是从右向左进行,从后向前
# res = vars.rsplit('_')  # ['user', 'admin', 'id', '123']
res = vars.rsplit('_',2)  # ['user_admin', 'id', '123']
# print(res)# ** join() 方法 ,使用指定的字符串,把一个容器中的元素链接成一个字符串
varlist = ['user', 'admin', 'id', '123']
res = '_'.join(varlist)# ** strip() 去除字符串左右两侧的指定字符
vars = '  zhangsan  '
res = vars.strip(' ')
vars = '@admin'
res = vars.strip('@')
# print(vars)
# print(res)# rstrip() 去除字符串右侧的指定字符, lstrip() 去除字符串左侧的指定字符# ** len() 函数可以获取当前字符串的长度
# print(len(vars))
# print(len(res))# ** replace() 替换函数
vars = 'iloveyou'
# 找到 love  替换为 live
res = vars.replace('love','live')vars = 'aabbccddeeabcdef'
#  可以限制替换的次数
res = vars.replace('b','B',2)
# print(res)

Python 数据类型详解(字符串)相关推荐

  1. Python数据类型详解03

    原文博客地址: Python数据类型详解03 第一篇Python数据类型详解01中主要介绍了Python中的一些常用的数据类型的基础知识 第二篇Python数据类型详解02文章中, 详细介绍了数字(N ...

  2. 07 Python数据类型详解

    文章目录 一.整数类型(int)详解 1.1 整数的不同进制 1) 十进制形式 2) 二进制形式 3) 八进制形式 4) 十六进制形式 1.2 数字分隔符 1.3 相关方法 二.字符串类型(strin ...

  3. 第二章 Python数据类型详解

    基本概念 迭代(iteration):如果给定一个list或tuple,我们可以通过for循环来遍历,这种遍历我们称为迭代(iteration) 可变:value改变,id不变,可变类型是不可hash ...

  4. python数据类型详解

    目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(') 用单引号括起来表示字符 ...

  5. python类型-Python数据类型详解

    目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(') 用单引号括起来表示字符 ...

  6. python数据类型详解(全面)

    1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(') 用单引号括起来表示字符串,例如: str='this is string'; print str; b.使用双引号(" ...

  7. python数据类型详解(转自:http://www.cnblogs.com/linjiqin/p/3608541.html)

    目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(') 用单引号括起来表示字符 ...

  8. python数据类型详解及类型转换函数

    文章目录 前言 一.数据类型 1.number 2.string 3.list 4.tuple 5.set 6.dictionary 二.内置类型转换函数 1.数据类型做函数名 2.ascii转换和进 ...

  9. 5.数据类型详解-字符串

    目录 5.1字符串概念 5.2# 索引 5.3切片 --> 提取子序列 5.4获取的操作 5.5转换 5.6判断操作 1.判断字符串的内容是否是纯数字 2.判断字符串的内容是否是纯字母 3.断字 ...

最新文章

  1. 月薪50K的机器学习工程师,需要具备哪些条件?
  2. 有哪些事情是你成为程序员之后才知道的?
  3. 深入Java泛型(二):通配符与嵌套
  4. OpenWRT 随记
  5. 文巾解题 231. 2的幂
  6. 荣耀鸿蒙系统开机动画,荣耀赵明:鸿蒙系统首发设备欲屏蔽开机广告
  7. java中select的用法_mybaties中select用法,以及常用增删改查
  8. 避坑!使用 Kubernetes 最易犯的 10 个错误
  9. EJB3.0框架实例----区分有状态bean和无状态bean
  10. javaweb实训第二天上午——jQuery基础
  11. 在线GIF图片帧修改工具
  12. RocketMQ 延时消息的使用和延时级别的配置
  13. Crtmpserver编译
  14. GridView里面模板获取唯一值(如ID)
  15. 算法:回文数字9. Palindrome Number
  16. JAVA系统性能优化
  17. VTD场景搭建指南-搭建一个最简单的场景
  18. autocad二次开发资料总结
  19. 研华工控机维修IPC-610MB-L主机电脑维修
  20. 备战2022软考网络管理员(1)介绍与开篇

热门文章

  1. 【算法学习笔记】二分查找法
  2. 嵌入式教程:什么是物联网
  3. 34 机器学习与人工智能
  4. 【微信小程序】可拖拽操作的“树状图”模块的制作和小程序经验的总结
  5. 数据库实验(进一步了解Sql server企业管理器)实验报告
  6. docker 搭建响应式个人博客
  7. OSS云文件列举分页功能的解决方法
  8. manifest文件linux,MANIFEST 文件扩展名: 它是什么以及如何打开它?
  9. fabric-ca-client颁发Orderer节点证书
  10. 小甲鱼零基础学python笔记 P24 递归:这帮小兔崽子