当前位置:
首页 > temp > python入门教程 >
-
05python字符串基础
这一篇文章主要介绍python字符串相关知识。
单引号字符串及对单引号的转义
字符串(String)就是一段文本,几乎在所有的Python程序中都有字符串的身影。
字符串可以用单引号表示,也可以用双引号表示,但是输出一般为单引号:
>>> 'Hello World!'
'Hello World!'
>>>
>>> "Hello World!"
'Hello World!'
>>>
如果字符串中有单引号,我们就需要用双引号表示字符串;同样如果字符串中有双引号,我们就需要用单引号表示字符串。否则,会报错
>>> "Let's go!"
"Let's go!"
>>>
>>> '"Hello, world!" she said'
'"Hello, world!" she said'
>>>
>>> 'Let's go!'
File "<stdin>", line 1
'Let's go!'
^
SyntaxError: invalid syntax
>>>
>>> ""Hello, world!" she said"
File "<stdin>", line 1
""Hello, world!" she said"
^^^^^
SyntaxError: invalid syntax
>>>
可以通过转义符\
的使用表示字符串里面的引号:
>>>
>>> "\"Hello, world!\" she said"
'"Hello, world!" she said'
>>> 'Let\'s go!'
"Let's go!"
>>>
- 这样对引号转义很有作用,且在有些情况下必须这样做,例如字符串同时包含单引号和双引号时
字符串拼接
>>>
>>> "Let's say " '"Hello , world!"'
'Let\'s say "Hello , world!"'
>>>
>>> x = "Hello, "
>>> y = "world!"
>>> x y
File "<stdin>", line 1
x y
^
SyntaxError: invalid syntax
>>>
>>> x + y
'Hello, world!'
>>>
- 同时依次输入两个字符串,Python会自动将他们拼接起来,这是一种输入字符串的特殊方式,而非通用的字符串拼接方法
- 正确的拼接字符串的方法是借助于+,将字符串拼接起来
字符串的str和repr
>>>
>>> "Hello, world!"
'Hello, world!'
>>> print("Hello, world!")
Hello, world!
>>>
>>> "Hello, \nworld!"
'Hello, \nworld!'
>>> print("Hello, \nworld!")
Hello,
world!
>>>
>>> print(repr("Hello, \nworld!"))
'Hello, \nworld!'
>>> print(str("Hello, \nworld!"))
Hello,
world!
>>>
- Python打印会尽量保留在代码中的样子
- print打印的结果是希望用户看到的样子
- print+repr函数的效果就是python打印效果
- print+str类就是打印出字符串的用户效果
长字符串
要表示很长的字符串(跨越多行的字符串),可以使用三引号(而不是普通的引号):
>>>
>>> print('''This is a very long string. It continues here.
... And it's not over yet. "Hello, world!"
... Still here.''')
This is a very long string. It continues here.
And it's not over yet. "Hello, world!"
Still here.
>>>
>>> 1 + 2 + \
... 4 + 5
12
>>>
>>> print\
... ('Hello, world!')
Hello, world!
>>>
- 也可以使用三个双引号表示长字符串
- 注意:长字符串本身包含单引号或双引号无需使用反斜杠转义。因为三引号让解释器能够识别表示字符串的开始和结束位置,不冲突。区别于引号表示的字符串。
- 常规字符串也可以 横跨多行,只要在行尾加上反斜杠,反斜杠和换行符将被转义,即被忽略
原始字符串
原始字符串不以特殊方式处理反斜杠,因此在有些情况下很有用,例如正则表达式中。
因为反斜杠对字符进行转义,可以表达字符串中原本无法包含的字符,但是如果字符中本身就有反斜杠或包含反斜杠的组合,就会出问题。这个时候有两种方案:
- 用反斜杠转义反斜杠
- 用原始字符串表示——在字符串前面用r表示
例如我们想要表达文件路径:
>>>
>>> print('C:\Program Files\fnord\foo\baz')
C:\Program Files
nord
oaz
>>>
>>> print('C:\\Program Files\\fnord\\foo\\baz')
C:\Program Files\fnord\foo\baz
>>>
>>> print(r'C:\Program Files\fnord\foo\baz')
C:\Program Files\fnord\foo\baz
>>>
>>> print(r'Let\'s go!')
Let\'s go!
>>>
>>> print(r'C:\Program Files\fnord\foo\baz' '\\' )
C:\Program Files\fnord\foo\baz\
>>>
- 原始字符串不能以单个反斜杠结尾,因为python无法判断其是否结束。如果要表示这种字符串可以拼接一个反斜杠转义的斜杠。
出处:https://www.cnblogs.com/palien/p/16880690.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数