[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-overflow-scroll 滑动粘手
长列表的滑动,CSS属性给了 overflow: auto:在IOS上可能会出现“粘手”效果,即滑动很慢.卡顿.粘手 解决: 启动硬件加速渲染: -webkit-overflow-scrolling: ...
- 详解WebService开发中四个常见问题(1)
详解WebService开发中四个常见问题(1) WebService开发中经常会碰到诸如WebService与方法重载.循环引用.数据被穿该等等问题.本文会给大家一些很好的解决方法. AD:WO ...
- 解决eclipse部署maven项目无法导入lib的问题
eclipse版本为2018-12(4.10.0) 1.默认tomcat的server配置 改成: 2.项目部署 按上面的配置,项目会部署到你配置的本地tomcat的webapps目录下. 部署了项目 ...
- Android 通过应用设置系统日期和时间的方法
Android 通过应用设置系统日期和时间的方法 android 2.3 android 4.0 测试可行,不过需要ROOT权限. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- NOIP2009靶形数独(暴搜)
题目传送门 题目描述 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向Z博士请教,Z博士拿出了他最近发明 ...
- 【Python】学习笔记十四:循环进阶
range() 在Python中,for循环后的in跟随一个序列的话,循环每次使用的序列元素,而不是序列的下标. 我们继续开发range的功能,以实现下标对循环的控制: s = 'abcdefghj' ...
- 14 补充 MySQL的创建用户和授权
权限管理 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操作.那么一般情况在公司之后DBA工程师会创建一个 ...
- 一、基础篇--1.1Java基础-重载和重写的区别
重载和重写的区别 重写: 1.也叫子类的方法覆盖父类的方法,要求返回值.方法名和参数都相同: 2.子类抛出的异常不能超过父类相应方法抛出的异常.(子类异常不能超出父类异常): 3.子类方法的的访问级别 ...
- ECMA Script 6新特性之解构赋值
1.基本概念用法 1.1解构赋值:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值. var a = 1; var b = 2; var c = 3; /*上述赋值语句用解构赋值为*/ v ...
- C:\WINDOWS\system32\drivers\etc\hosts文件的作用
在网络上访问网站,要首先通过DNS服务器把网络域名(www.XXXX.com)解析成XXX.XXX.XXX.XXX的IP地址后,我们的计算机才能访问.要是对于每个域名请求我们都要等待域名服务器解析后返 ...