[Python3] 004 字符串的基本使用
1. 字符串简介
1.1 作用
- 表示一段文字信息
1.2 注意点
- 1 个字符,表示长度为 1 的字符串
- 许多地方,1 个英文字符占 1 个字节,1 个中文字符占 2 个字节,它们是不同的
- Python3 中,就长度而言,中英文一视同仁,1 个字符对应 1 个长度
2. 使用方式
2.1 用引号括起来
- 单引号、双引号、三引号均可
少废话,上例子
'你好,Python!'
"你好,Python!"
"""
小时候,快乐是件很简单的事。
长大后,简单是件很快乐的事。
—— 云村的某位网友
"""
2.2 单、双引号可以“轮换交替”
- 单引号中可以嵌入双引号
- 双引号中可以嵌入单引号
少废话,上例子
"I'm YorkFish."
'His nickname is "YorkFish".'
3. 转义字符
3.1 简介
- 顾名思义,转变了意义的字符
- 形如 \n \" \x7d
- 以反斜杠
\
打头,表示接下来进入“转义时间” - 反斜杠后面接“字母”、“符号”或“数字”
- 组合后就有了新的意义
- 以反斜杠
3.2 常用的转义字符及含义(第一梯队)
符号 | 释义 | 使用方法 |
---|---|---|
\' | 单引号 | 在一对单引号中插入单引号,见例 3.1 |
\" | 双引号 | 在一对双引号中插入双引号,见例 3.2 |
\n | 换行符 | Windows 下表示“回车” |
\r | 回车符 | Linux 下与 \n 组队表示“回车”,如 \n\r |
\t | 横向制表符 | 相当于 Tab 键 |
\ + 八进制数 | 八进制数代表的字符 | 见例 3.3 |
\x | 十六进制数代表的字符 | 见例 3.4 |
\\ | 反斜杠 | 见例 3.5 |
# 例 3.1
>>> print('I\'m YorkFish.')
I'm YorkFish.
>>>
# 例 3.2
>>> print("I am learning \"Python3\".")
I am learning "Python3".
>>>
# 例 3.3
>>> print("Hello\12World") # \12 表示换行;\12=10 => Ascii 表的 10 意为“换行”
Hello
World
>>>
# 例 3.4
>>> print('\x40') # \x40 表示 @;\x40=64 => Ascii 表的 64 意为 @
@
>>>
# 例 3.5
>>> print('\')
File "<stdin>", line 1
print('\')
^
SyntaxError: EOL while scanning string literal
>>>
>>> print('\\')
\
>>>
- 挖个坑,已经填平,详见 [Python3 填坑] 004 关于八进制
- 内容:\o 无效
- 编号:Py004-1
3.3 常用的转义字符及含义(第二梯队)
符号 | 释义 | 使用方法 |
---|---|---|
\a | 发出系统响铃声 | 挖个坑,已经填平,详见 [Python3 填坑] 005 如何“响铃” 内容:如何响铃 编号:Py004-2 |
\b | 退格符 | 往前删一个字,见例 3.6 |
\v | 纵向制表符 | 挖个坑,日后填平 内容:如何使用“纵向制表符” 编号:Py004-3 |
\f | 换页符 | 挖个坑,日后填平 内容:如何使用“换页符” 编号:Py004-4 |
\0 | 0 为数字 表示一个空字符 |
见例 3.7 |
# 例3.6
>>> print("123\b45")
1245
>>>
>>> print("12三\b45") # 每个字符,长度均为 1
1245
>>>
# 例 3.7
>>> s = "012"
>>> print(s[3])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>>
- 挖个坑,已经填平,详见 [Python3 填坑] 006 “杠零”,空字符的使用]
- 内容:Python3 是否类似 C,以
\0
结尾 - 编号:Py004-5
- 内容:Python3 是否类似 C,以
4. 格式化
4.1 简介
不是 U 盘、硬盘的那种
是为了让字符串能按照一定格式排版好输出
两种方法
- 利用 %
- 利用 format()
4.2 方法一:利用 %
4.2.1 关于 %s
# 例 4.1
>>> s1 = "Python3"
>>> s2 = "I am learning %s1."
>>> print(s2)
I am learning %s1.
>>>
# 例 4.2
>>> print("I am learning %s." % "Python3")
I am learning Python3.
>>>
# 例 4.3
>>> s1 = "I am learning %s."
>>> print(s1 % "Python3")
I am learning Python3.
>>>
4.2.2 关于 %d
# 例 4.4
>>> print("I am learning Python%d." % 3)
I am learning Python3.
>>>
# 例 4.5
>>> s1 = "I am %s. And I'm learning Python%d."
>>> print(s1 % ("YorkFish", 3))
I am YorkFish. And I'm learning Python3.
>>>
- 挖坑,已经填平,详见 [Python3 填坑] 001 格式化符号 & 格式化操作符的辅助指令
- 内容:Python3 的其它格式化符号;编号:Py004-6
- 内容:Python3 的格式化操作符的辅助指令,编号:Py004-7
4.3 方法二:利用 format()
# 例 4.6
>>> s1 = "I am {}.".format("YorkFish")
>>> print(s1)
I am YorkFish.
>>>
>>> s2 = "My nickname is {0}. I am learning Python{1}. Today, I dug more than {0} holes.".format(YorkFish, 3)
>>> print(s2)
My nickname is YorkFish. I am learning Python3. Today, I dug more than 3 holes.
- 挖个坑,日后填平
- 内容:format() 的更多用法
- 编号:Py004-8
[Python3] 004 字符串的基本使用的更多相关文章
- Python3 格式化字符串
Python3 格式化字符串 在Python 3.6之前,有两种将Python表达式嵌入到字符串文本中进行格式化的主要方法:%-formatting和str.format() 一.%-formatti ...
- 一篇文章助你理解Python3中字符串编码问题
前几天给大家介绍了unicode编码和utf-8编码的理论知识,以及Python2中字符串编码问题,没来得及上车的小伙伴们可以戳这篇文章:浅谈unicode编码和utf-8编码的关系和一篇文章助你理解 ...
- python3的字符串和字节
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是Unicode(16进制) ...
- Python3.x - 字符串
Python3 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号( ' 或 " )来创建字符串. var1 = 'hello world' var2 = "he ...
- Python2与python3中字符串的区别
Python2 在python中包含两种字符串类型:str和unicode,str并不是完全意义上的字符串,其实是由unicode经过编码(encode)后的字节组成的字节字符串,而unicode则是 ...
- python3 拼接字符串的7种方法
1.直接通过(+)操作符拼接 1 2 >>> 'Hello' + ' ' + 'World' + '!' 'Hello World!' 使用这种方式进行字符串连接的操作效率低下,因为 ...
- Python3中字符串的编码与解码以及编码之间转换(decode、encode)
一.编码 二.编码与解码 Python3中对py文件的默认编码是urf-8.但是字符串的编码是Unicode. 由于Unicode采用32位4个字节来表示一个字符,存储和传输太浪费资源,所以传输和存储 ...
- Python3 数据类型-字符串
字符串是 Python 中最常用的数据类型,是一个个字符组成的有序的序列,是字符的集合. 一 字符串定义 创建字符串很简单,可以使用引号('或"或""")来创建 ...
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等)
python3 解释器默认编码为Unicode,由str类型进行表示.二进制数据使用byte类型表示. 字符串通过编码转换成字节串,字节码通过解码成为字符串. encode:str-->byte ...
随机推荐
- java中list和map详解
一.概叙 List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口, List下有ArrayList,Vector,LinkedList Set下有HashSet ...
- 【react学习一】首先先create-react-app 配置less、sass
1.安装初始化 npm create-react-app react-demo 2.安装初始化 npm run eject 3.配置sass / less cnpm i sass-loader nod ...
- Django初使用
目录 一.Django初使用 1. 静态文件配置 (1)静态文件配置步骤 2. form表单的get和post提交方式 (1)get (2)post (3)注意 3. views文件中的request ...
- react父子之间传值
1,父组件向子组件传值 2.子组件向父组件传值 3.没有嵌套关系的组件传值 // 父组件 var MyContainer = React.createClass( { getInitialState: ...
- 从1G到5G发展史(3GPP是个什么组织 为啥5G标准离不开它)
1.“3GPP”组织建立的来龙去脉 3GPP一直以来在人们心中是一个神秘的组织,很多用户对于它的理解和认知,说不清,道不明.最近关于5G网络的诸多报道,都陈述了“5G网络”的标准是由“3GPP”来规定 ...
- vue学习-day01(vue指令)
目录: 1.什么是vue.js 2.为什么要学习前端的流行框架 3.框架和库的区别 4.后端MVC和前端的MVVM的区别 5.vue.js的基本代码--hollo world代 ...
- 牛客网 Chess ( 博弈 && 奇异局势 )
题目链接 分析 : 发现如果一开始就在边界或者位于对角线的位置上肯定是必胜态 从终点逆推,画出胜负表格,填一填,就会发现和奇异局势的前几项一样 然后打个奇异局势的表就能 AC 了 #include&l ...
- FP AUTO节点ZPP002M执行卡住解决
正常情况下,不到一分钟即可执行完ZPP002M节点 异常情况下,超过十分钟都没有响应 再等待只会影响FP的执行时间,影响后续的节点,解决办法是将正在执行的JOB STOP掉 再到服务器上将该节点重新执 ...
- springCloud分布式事务实战(一)案例需求及实现步骤
本文不对分布式事务原理进行探索,而是通过一个案例来说明如何使用分布式事务 案例需求:创建2个基于springCloud的微服务,分别访问不同的数据库:然后创建一个整合服务,调用微服务实现数据的保存到2 ...
- AI工程师职业规划和学习路线完整版
AI工程师职业规划和学习路线完整版 如何成为一名机器学习算法工程师 成为一名合格的开发工程师不是一件简单的事情,需要掌握从开发到调试到优化等一系列能 力,这些能力中的每一项掌握起来都需要足够的努力 ...