转义字符

转义字符 含义
\\ 反斜杠符号
\’ 单引号
\" 双引号
\n 换行
\b 退格
\t 横向制表符
\v 垂直制表符

在字符串前面添加r或R,禁止转义字符的实际意义

print(r'c:\user\name')

ps: 通过r禁止 \n 的换行意义

格式化字符串输出

  • 格式符
name = ""
print("My name is %s" % name)
  • format()
name = ""
print("My name is {}".format(name))
  • f-strings
name = ""
print("My name is {name}")

字符串的索引

  • 语法格式
    字符串[索引]
str_1 = 'Python'  #获取字符P
print(str_1[0])  #正向索引
print(str_1[-6])  #反向索引

字符串的切片

切片通过冒号隔开的两个索引来实现

  • 语法格式
    slice[start:end:step]
    start:表示起始索引,省略时,从序列中第一个元素开始
    stop:表示结束索引(不包含结束位本身),省略时,到序列最后一个元素结束
    step:表示步长(默认为1,不能为0)
str_1 = "Python"
print(str_1[1:4:2])  #输出 yh
print(str_1[::-1])  #输出 nohtyP
print(str_1[:3])  #输出 Pyt

切片与索引的区别:
索引只能获取单个元素,而切片可以获取一定范围内的元素。

字符串的处理方法

注意:
字符串对象是不可变的,字符串对象提供的涉及字符串“修改”的方法都是返回修改后的新字符串,并不对原始字符串做任何修改

  • 语法格式
    字符串.方法名([参数列表])
  • 大小写转换
s = 'What is your name?'
print(s.lower())  # what is your name?
print(s.upper())  # WHAT IS YOUR NAME?
print(s.capitalize())  # What is your name?
print(s.title())  # What Is Your Name?
print(s.swapcase())  # wHAT IS YOUR NAME?
  • 字符串中字符类型的判断
    (1) isdecimal(): 如果字符串中只包含十进制数字则返回True,否则返回False
    (2) isdigit(): 如果字符串中只包含数字则返回True,否则返回False
    (3) isnumeric(): 如果字符串中只包含数字则返回True,否则返回False
    (4) isalpha(): 如果字符串中至少有一个字符,并且所有字符都是字母则返回True,否则返回False
    (5) isalnum(): 如果字符串中至少有一个字符,并且所有字符都是字母或数字则返回True,否则返回False
  • 字符串对齐
    (1) ljust(width,fillchar = None): 使用字符 fillchar 以左对齐方式填充字符串,使其长度变为width;
    (2) center(width,fillchar = None): 使用字符 fillchar 以居中方式对其填充字符串,使其长度变为width;
    (3) rjust(width,fillchar = None); 使用字符 fillchar 以右对齐方式填充字符串,使其长度变为width;
str_2 = "Main Menu"
print(str_2.center(20, '='))
print(str_2.ljust(20, '-'))
print(str_2.rjust(20, '+'))

运行结果如下:

  • 子串查找
    (1) find(sub, start = None, end = None)
    (2) index(sub, start = None, end = None)

两种方法进行查找子串,如果查找到则返回查找该子串首次出现的位置索引,如果没有查找到 find 方法返回 -1,index方法则抛出异常

text = "Explicit is better than implicit."
print(text.find('i'))  # 4
print(text.index('t'))  # 7
print(text.find('o'))  # -1
print(text.index('o'))  # 异常
  • 字符串前缀和后缀的判断
    (1) startswith(prefix, start = None, end = None): 判断字符串前缀
    (2) endswith(suffix, start = None, end = None): 判断字符串后缀
path = 'C:\\python37\\NEWS.txt'
print(path.endswith('.txt')) # True
print(path.startswith('C:')) # True
print(path.startswith('E:')) # False
  • 字符串替换
    str.replace(old, new, count = None)
    old — 表示原有子串
    new — 表示新的子串
    count — 用于设定替换次数
word = "美女,美女,美女"
print(word.replace('美女', '帅哥', 1))
print(word.replace('美女', '帅哥'))
# 如果替换次数为空则替换所有。

输出结果如下图:

  • 字符串分割
    字符串的spilt()方法可以使用分隔符把字符串分割成序列,该方法的语法格式如下:
    str.split(sep = None, maxsplit = -1)
    sep — 分隔符,默认为空格
    maxsplit — 用于设定分割次数

小测验

创建字符串 ‘Study Hard’ ,命名为 v

  1. 在v中查找子串 “up”
  2. 判断 v 变量对应的值是否以 “S” 开头和以 “D” 结尾
  3. 将 v 变量对应的值中的 “d” 替换为 “p”
  4. 将 v 变量对应的值根据 空格 分割
  5. 将 v 对应的值分别变大写和小写
  6. 输出 v 变量的前五个字符
  7. 将 v 居中对齐,宽度为20,填充字符为 *

v = 'Study Hard'
print(f"1.查找子串up: {v.find('up')}")
print(f"2.变量是否以 S 开头: {v.startswith('S')}")
print(f"3.变量是否以 D 结尾: {v.endswith('D')}")
print(f"4.根据空格分割: {v.split()}")
print(f"5.转换为大写: {v.upper()}")
print(f"  转换为小写: {v.lower()}")
print(f"6.输出前五个字符: {v[:5]}")
print(f"7.居中对齐,宽度为20,填充字符为*: {v.center(20, '*')}")

输出结果如下:

python的学习日常笔记 - 字符串相关推荐

  1. python神经结构二层_《python深度学习》笔记---8.3、神经风格迁移

    <python深度学习>笔记---8.3.神经风格迁移 一.总结 一句话总结: 神经风格迁移是指将参考图像的风格应用于目标图像,同时保留目标图像的内容. 1."神经风格迁移是指将 ...

  2. 过拟合解决方法python_《python深度学习》笔记---4.4、过拟合与欠拟合(解决过拟合常见方法)...

    <python深度学习>笔记---4.4.过拟合与欠拟合(解决过拟合常见方法) 一.总结 一句话总结: 减小网络大小 添加权重正则化 添加 dropout 正则化 1.机器学习的根本问题? ...

  3. 4. Python脚本学习实战笔记四 新闻聚合

    4. Python脚本学习实战笔记四 新闻聚合 本篇名言:"人言纷杂,保持自我:工作勤奋,娱乐适度:对待朋友,不玩心术:处理事务,不躁不怒:生活讲究,量入为出:知足常乐,一生幸福!" ...

  4. python 动物分类_《python深度学习》笔记---5.3-1、猫狗分类(使用预训练网络)

    <python深度学习>笔记---5.3-1.猫狗分类(使用预训练网络) 一.总结 一句话总结: [小型图像数据集]:想要将深度学习应用于小型图像数据集,一种常用且非常高效的方法是使用预训 ...

  5. keras之父《python深度学习》笔记 第六章

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 深度学习用于文本和序列 前言 一.处理文本数据 1.文本向量化介绍 2.one-hot编码 3.embedding编码 4.预训练词向 ...

  6. Python 百天读书笔记 | 字符串和常用数据结构 7day

    一.字符串   第二次世界大战促使了现代电子计算机的诞生,最初计算机被应用于导弹弹道的计算,而在计算机诞生后的很多年时间里,计算机处理的信息基本上都是数值型的信息.世界上的第一台电子计算机叫ENIAC ...

  7. Python入门学习 DAY 05 字符串,列表的内置方法

    Python入门 DAY 05 本篇文章主要介绍字符串类型及内置方法,列表类型及内置方法 1.字符串类型及内置方法 (1)字符串定义       1.字符串中的字符是有序的          可以通过 ...

  8. keras之父《python深度学习》笔记 第五章

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 深度学习用于计算机视觉 前言 一.卷积神经网络介绍 1.卷积神经网络简介 2.卷积网络特点 3.卷积网络中一些重要操作 4.池化层 二 ...

  9. keras之父《python深度学习》笔记 第八章

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 生成式深度学习 前言 一.使用LSTM 生成文本 1.生成式网络的历史 2.如何生成序列数据 3.采样策略的重要性 4.字符级LSTM ...

最新文章

  1. 计算机表格计算总积分,Excel函数教程: 根据条件计算成绩表-excel技巧-电脑技巧收藏家...
  2. LeetCode算法题7:DFS和BFS
  3. 九度OJ 1168:字符串的查找删除 (查找)
  4. 一起学windows phone7开发(二十二.使用系统资源)
  5. 关于DNS区域查询,DNS字典爆破,以及查询文件问题
  6. C++11 —— 简易的旋转锁类
  7. cacti添加I/O监控
  8. php面向对象教学笔记,php学习笔记之面向对象编程
  9. windows server 2008 DC 活动目录备份还原
  10. 孩子数学成绩不好怎么办_我孩子数学成绩不好,怎么办
  11. 语言怎么得到直流电压并采样_250V10A高频直流电源/大电流直流稳压稳流电源
  12. linux 别名设置
  13. JAVA-JVM调优标志
  14. 寄存器PLC地址与寄存器modbus协议地址
  15. 步进电机驱动器单片机控制电路
  16. 用户体验测试(UX测试)
  17. 输入输出系统 ——I/O方式(程序查询、程序中断、DMA方式)
  18. 拿得起,放得下,想得开
  19. NLP系列(8)_用可视化解构BERT,从上亿参数中提取出的6种直观模式
  20. The specified target project directory 项目名\src\main\resources does not exist 问题解决

热门文章

  1. Wikipedia viewer
  2. 转载:Open Sound System (OSS) 研究笔记 作者联系方式:Li XianJing
  3. cat EOF追加与覆盖
  4. codeforces round 309 div1 Nudist Beach 二分+搜索
  5. WIS_EMAP_INPUT使用
  6. 编程笔记1:使用c语言编译器
  7. Collection接口常用方法
  8. 华为2020届应届生招聘公告
  9. 淘客一招学会提高流量
  10. OSChina 周三乱弹 ——程序员、魔法师和麻瓜