[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 ...
随机推荐
- 用css编写三角和半圆形状样式
1.三角样式 htriangle-down { height:; border-left:11rpx solid transparent; border-right:11rpx solid trans ...
- MySql截取手机号
IF(IFNULL(phone_number,'')='','',CONCAT(LEFT(phone_number,3),'****',RIGHT(phone_number,4))) phone_n ...
- hibernate中save()、get()、load()、update()、saveorupdate()、merge()等方法
1.save()方法 直接传个user对象 session.save(user); 2.get()方法和load()方法 get(): 传id session.get(UserInfo. ...
- linux下部署nginx服务
1.安装依赖包 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2.下载并解压安装包 cd /usr/loc ...
- 数据:ContentResolver类
ContentResolver是通过URI来查询ContentProvider中提供的数据.除了URI以 外,还必须知道需要获取的数据段的名称,以及此数据段的数据类型. 如果你需要获取一个特定的记 ...
- Android学习笔记之数据的Sdcard存储方法及操作sdcard的工具类
FileService.java也就是操作sdcard的工具类: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...
- sar性能监控
1.安装sar: yum -y install sysstat 第一次使用sar命令会提示如下错误:“无法打开 /var/log/sa/sa13: 没有那个文件或目录”. 这里的值13是当天的日期,如 ...
- for循环,foreach, map,reduce用法对比+for in,for of
for不做赘述,相当简单: foreach方法: forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数. 注意: forEach() 对于空数组是不会执行回调函数的. array.f ...
- Qt数据库之数据库连接池
前面的章节里,我们使用了下面的函数创建和取得数据库连接: void createConnectionByName(const QString &connectionName) { QSql ...
- IntelliJ IDEA2018破解教程
破解方法:下载破解补丁→修改配置文件→输入激活码→激活成功 由于JetBrains封杀,大部分激活服务器已经不能使用,使用下面的比较麻烦的方法也可以进行破解,但是有效期是到2100年(emmmm,也算 ...