[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 ...
随机推荐
- ZROI 19.08.07模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "正睿从来没有保证,模拟赛的题目必须原创." "文案不是我写的,有问题找喵老师去."--蔡老师 ...
- java面向对象5--内部类
6内部类 内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. 内部类可以是静态static的,也可用public,default,protected和private修饰.(而外部顶级类 ...
- C语言字符串追加,双色球等案例
//C语言中没有字符串概念,有的只是字符型数组,以str1[]的值为例,该字符数组的长度为11--->包含了字母,空格,以及结束字符'\0'(斜杠0)//基于上述原因,读取一个字符型数组的有效方 ...
- js 数组 splice 函数 多线程
<script type="text/javascript"> var arr = new Array(6) arr[0] = "00" arr[1 ...
- Charles模拟数据
安装好Charles 桌面创建json文件
- strcat()与strcpy()用法
1.strcpy (1)原型 extern char *strcpy(char *dest,char *src); (2)用法 #include <cstring> (3)功能 把src所 ...
- 【BZOJ2022】Pku1837 Balance
Description Gigel has a strange "balance" and he wants to poise it. Actually, the device i ...
- javac不是内部或外部命令在win10上的解决方案
Path环境变量能够让你在任何路径都能使用命令,可能你百度谷歌了各种方案都无法解决javac无法使用的问题,那么你可以试试如下解决方案: 首先博主配置了JAVA_HOME 参数为 C:\Program ...
- 利用word宏功能一键导出数据库表结构
前言: 需求是: 为了完成<数据库设计文档>中的表结构展示,需要导出所有的表结构,包括字段名.长度.注释等必要标题. 数据库:MySQL 我选择的方法是——用word的宏功能导出.很多博客 ...
- Codechef TRIPS Children Trips (分块、倍增)
题目链接: https://www.codechef.com/problems/TRIPS 感觉CC有点毒瘤啊.. 题解: 首先有一个性质可能是因为太傻所以网上没人解释,然而我看了半天: 就是正序和倒 ...