python的学习日常笔记 - 字符串
转义字符
转义字符 | 含义 |
---|---|
\\ | 反斜杠符号 |
\’ | 单引号 |
\" | 双引号 |
\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
- 在v中查找子串 “up”
- 判断 v 变量对应的值是否以 “S” 开头和以 “D” 结尾
- 将 v 变量对应的值中的 “d” 替换为 “p”
- 将 v 变量对应的值根据 空格 分割
- 将 v 对应的值分别变大写和小写
- 输出 v 变量的前五个字符
- 将 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的学习日常笔记 - 字符串相关推荐
- python神经结构二层_《python深度学习》笔记---8.3、神经风格迁移
<python深度学习>笔记---8.3.神经风格迁移 一.总结 一句话总结: 神经风格迁移是指将参考图像的风格应用于目标图像,同时保留目标图像的内容. 1."神经风格迁移是指将 ...
- 过拟合解决方法python_《python深度学习》笔记---4.4、过拟合与欠拟合(解决过拟合常见方法)...
<python深度学习>笔记---4.4.过拟合与欠拟合(解决过拟合常见方法) 一.总结 一句话总结: 减小网络大小 添加权重正则化 添加 dropout 正则化 1.机器学习的根本问题? ...
- 4. Python脚本学习实战笔记四 新闻聚合
4. Python脚本学习实战笔记四 新闻聚合 本篇名言:"人言纷杂,保持自我:工作勤奋,娱乐适度:对待朋友,不玩心术:处理事务,不躁不怒:生活讲究,量入为出:知足常乐,一生幸福!" ...
- python 动物分类_《python深度学习》笔记---5.3-1、猫狗分类(使用预训练网络)
<python深度学习>笔记---5.3-1.猫狗分类(使用预训练网络) 一.总结 一句话总结: [小型图像数据集]:想要将深度学习应用于小型图像数据集,一种常用且非常高效的方法是使用预训 ...
- keras之父《python深度学习》笔记 第六章
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 深度学习用于文本和序列 前言 一.处理文本数据 1.文本向量化介绍 2.one-hot编码 3.embedding编码 4.预训练词向 ...
- Python 百天读书笔记 | 字符串和常用数据结构 7day
一.字符串 第二次世界大战促使了现代电子计算机的诞生,最初计算机被应用于导弹弹道的计算,而在计算机诞生后的很多年时间里,计算机处理的信息基本上都是数值型的信息.世界上的第一台电子计算机叫ENIAC ...
- Python入门学习 DAY 05 字符串,列表的内置方法
Python入门 DAY 05 本篇文章主要介绍字符串类型及内置方法,列表类型及内置方法 1.字符串类型及内置方法 (1)字符串定义 1.字符串中的字符是有序的 可以通过 ...
- keras之父《python深度学习》笔记 第五章
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 深度学习用于计算机视觉 前言 一.卷积神经网络介绍 1.卷积神经网络简介 2.卷积网络特点 3.卷积网络中一些重要操作 4.池化层 二 ...
- keras之父《python深度学习》笔记 第八章
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 生成式深度学习 前言 一.使用LSTM 生成文本 1.生成式网络的历史 2.如何生成序列数据 3.采样策略的重要性 4.字符级LSTM ...
最新文章
- 计算机表格计算总积分,Excel函数教程: 根据条件计算成绩表-excel技巧-电脑技巧收藏家...
- LeetCode算法题7:DFS和BFS
- 九度OJ 1168:字符串的查找删除 (查找)
- 一起学windows phone7开发(二十二.使用系统资源)
- 关于DNS区域查询,DNS字典爆破,以及查询文件问题
- C++11 —— 简易的旋转锁类
- cacti添加I/O监控
- php面向对象教学笔记,php学习笔记之面向对象编程
- windows server 2008 DC 活动目录备份还原
- 孩子数学成绩不好怎么办_我孩子数学成绩不好,怎么办
- 语言怎么得到直流电压并采样_250V10A高频直流电源/大电流直流稳压稳流电源
- linux 别名设置
- JAVA-JVM调优标志
- 寄存器PLC地址与寄存器modbus协议地址
- 步进电机驱动器单片机控制电路
- 用户体验测试(UX测试)
- 输入输出系统 ——I/O方式(程序查询、程序中断、DMA方式)
- 拿得起,放得下,想得开
- NLP系列(8)_用可视化解构BERT,从上亿参数中提取出的6种直观模式
- The specified target project directory 项目名\src\main\resources does not exist 问题解决