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. canvas实现圆角、圆框图片

    参考资料: http://www.zhangxinxu.com/study/201406/image-border-radius-canvas.html https://www.jianshu.com ...

  2. IOS上编译boost库

    环境:xcode9mac os 10.13 1.下载boost库并解压2.cd到解压后的文件包内,执行 sh bootstrap.sh(解压后会得到这个脚本文件).3.执行./b2 编译整个库.4.经 ...

  3. 【leetcode&CN&竞赛】1198.Find Smallest Common Element in All Rows

    题目如下: 给你一个矩阵 mat,其中每一行的元素都已经按 递增 顺序排好了.请你帮忙找出在所有这些行中 最小的公共元素. 如果矩阵中没有这样的公共元素,就请返回 -1. 示例: 输入:mat = [ ...

  4. 6402. 【NOIP2019模拟11.01】Cover(启发式合并)

    题目描述 Description 小 A 现在想用

  5. Linux培训教程 linux磁盘分区详解

    在学习 Linux 的过程中,安装 Linux 是每一个初学者的第一个门槛.在这个过程中间,最大的困惑莫过于给硬盘进行分区.虽然,现在各种发行版本的 Linux 已经提供了友好的图形交互界面,但是很多 ...

  6. BZOJ 4488: [Jsoi2015]最大公约数 暴力 + gcd

    Description 给定一个长度为 N 的正整数序列Ai对于其任意一个连续的子序列 {Al,Al+1...Ar},我们定义其权值W(L,R )为其长度与序列中所有元素的最大公约数的乘积,即W(L, ...

  7. [模板][HDU]P2544[单源最短路][SPFA]

    题目就不放了,主要是写一下SPFA,很少写,今天特别学了一个用STL的队列来做的. 代码: #include<iostream> #include<cstdio> #inclu ...

  8. sh_01_重复执行

    sh_01_重复执行 # 打印 500 遍 Hello Python(复制粘贴的方法,手动复制500次) print("Hello Python") print("Hel ...

  9. 苹果CMSv10对接微信公众号教程

    首先声明下,对接公众号的话需要自行注册公众号“订阅号”  对接失败的原因大多是域名变红导致!简单的测试方法就是把域名链接发给qq好友或是qq群里看看有没有变红 域名变红以后大概率不会对接成功的,请知悉 ...

  10. kibana花式查询

    在kibana提供的界面上进行操作. POST /school/student/_bulk{ "index": { "_id": 1 }}{ "nam ...