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
    1. 以反斜杠 \ 打头,表示接下来进入“转义时间”
    2. 反斜杠后面接“字母”、“符号”或“数字”
    3. 组合后就有了新的意义

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('\\')
\
>>>

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
>>>

4. 格式化

4.1 简介

  • 不是 U 盘、硬盘的那种

  • 是为了让字符串能按照一定格式排版好输出

  • 两种方法

    1. 利用 %
    2. 利用 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.
>>>

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 字符串的基本使用的更多相关文章

  1. Python3 格式化字符串

    Python3 格式化字符串 在Python 3.6之前,有两种将Python表达式嵌入到字符串文本中进行格式化的主要方法:%-formatting和str.format() 一.%-formatti ...

  2. 一篇文章助你理解Python3中字符串编码问题

    前几天给大家介绍了unicode编码和utf-8编码的理论知识,以及Python2中字符串编码问题,没来得及上车的小伙伴们可以戳这篇文章:浅谈unicode编码和utf-8编码的关系和一篇文章助你理解 ...

  3. python3的字符串和字节

    Python3中内置类型bytes和str用法及byte和string之间各种编码转换 Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是Unicode(16进制) ...

  4. Python3.x - 字符串

    Python3 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号( ' 或 " )来创建字符串. var1 = 'hello world' var2 = "he ...

  5. Python2与python3中字符串的区别

    Python2 在python中包含两种字符串类型:str和unicode,str并不是完全意义上的字符串,其实是由unicode经过编码(encode)后的字节组成的字节字符串,而unicode则是 ...

  6. python3 拼接字符串的7种方法

    1.直接通过(+)操作符拼接 1 2 >>> 'Hello' + ' ' + 'World' + '!' 'Hello World!' 使用这种方式进行字符串连接的操作效率低下,因为 ...

  7. Python3中字符串的编码与解码以及编码之间转换(decode、encode)

    一.编码 二.编码与解码 Python3中对py文件的默认编码是urf-8.但是字符串的编码是Unicode. 由于Unicode采用32位4个字节来表示一个字符,存储和传输太浪费资源,所以传输和存储 ...

  8. Python3 数据类型-字符串

    字符串是 Python 中最常用的数据类型,是一个个字符组成的有序的序列,是字符的集合. 一 字符串定义 创建字符串很简单,可以使用引号('或"或""")来创建 ...

  9. python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等)

    python3 解释器默认编码为Unicode,由str类型进行表示.二进制数据使用byte类型表示. 字符串通过编码转换成字节串,字节码通过解码成为字符串. encode:str-->byte ...

随机推荐

  1. java中list和map详解

    一.概叙 List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口, List下有ArrayList,Vector,LinkedList Set下有HashSet ...

  2. 修改vue-cli脚手架顶部图标

    1. 将ico图标放到static目录下 2. 在 build/webpack.dev.conf.js 文件修改   new HtmlWebpackPlugin({ ... favicon: './s ...

  3. R中的常用命令(持续更新)

    (1)工作环境 #Ctrl+L键:清屏#Ctrl+Shift+C键:注释.取消注释(仅在RStudio中)(可以多行) rm(变量) #清除某变量 ls() #列出内存中的变量 rm(list=ls( ...

  4. JAVA中的23种设计模式

    http://blog.csdn.net/chmask/article/details/2631485 http://www.cnblogs.com/hnrainll/archive/2011/12/ ...

  5. UVa 11235 Frequent values (RMQ && 区间出现最多次的数的次数)

    题意 : 给出一个长度为 n 的不降序序列,并且给出 q 个形如(L, R)的问询,问你这个区间出现的最多次的数的次数. 分析 : 很自然的想到将区间“缩小”,例如1 1 2 3 3 3就可以变成2 ...

  6. 技术干货:Python解析CSV

    1. 什么是CSV CSV(Commma-Separated Value)是都好分隔符,其文件以纯文本形式存储表格数据(数字和文本). 案例: 2. 为什么要使用CSV 与专有的二进制文件格式截然不同 ...

  7. C# 异步编程,async与await的简单学习

    前提声明:C# 5.0 .NET Framework 4.5 2012-08-15 异步和等待(async和await).调用方信息(Caller Information)  (C#版本与.NET版本 ...

  8. rollup的学习

    概述(Overview) Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序.Rollup 对代码模块使用新的标准化格式,这些 ...

  9. 20175221 曾祥杰 数据库MySQL(课下作业,必做)

    数据库MySQL(课下作业,必做) 题目要求: 1. 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB ...

  10. 七、chromedriver各版本下载网址

    http://chromedriver.storage.googleapis.com/index.html