什么是字符串?

字符串该如何定义呢?通俗的说:字符串就是一系列的字符。

创建字符串的3种方式

单引号创建

>>> a = 'I am a student'
>>> print(a)
I am a student

双引号创建

>>> b = "I am a teacher"
>>> print(b)
I am a teacher

三引号创建

三引号又分为单三引号、双三引号,通过连续 3 个单引号或者 3 个单引号,可以帮助我们创建多行字符串。

>>> a = '''
I am a student
My name is 李雷
I am a teacher
My name is 韩梅梅
'''
>>> print(a)
I am a student
My name is 李雷
I am a teacher
My name is 韩梅梅

常见的5种转义字符

转义字符列举

Python 中常见的转义字符,我这里为大家详细列举出来了。

  • \n: 换行符;
  • ': 单引号;
  • \: 在行尾时,续行符;
  • \t: 空四个字符,也称缩进,相当于按一下 Tab 键;
  • \n\t: 换行加每行空四格;

\n:换行符

>>> a = 'i\nlove\nyou'
>>> print(a)
i
love
you

\':单引号

>>> s = 'Yes,he doesn't'
SyntaxError: invalid syntax >>> s = 'Yes,he doesn\'t'
>>> print(s,type(s),len(s))
Yes,he doesn't <class 'str'> 14

\ :在行尾时,续行符

>>> s = 'abcd\
eegf'
>>> print(s)
Abcdeegf

\t:表示空四个字符,也称缩进,相当于按一下 Tab 键

>>> print("Python")
Python
>>> print("\tPython")
Python

\n\t:换行加每行空四格

>>> print("\n\tLilei\n\tlove\n\tHanmeimei")
Lilei
love
Hanmeimei
>>> print("\n\tLilei\n\tlove\n\tHanmeimei")
Lilei
love
Hanmeimei
# 注: \t\n 效果和\n 是一样的,不建议使用。
>>> print("\t\nPython")
Python
>>> print("\nPython")
Python
>>> print("\n\tPython")
Python

字符串的索引和切片

关于字符串的索引和切片,大家好好了解一下就行,直接上例子。

>>> x = 'python'
>>> print(x[0],x[5])
p n
>>> print(x[-6],x[-1])
p n
>>> print(x[1:4])
yth
>>> print(x[-5:-2])
yth
>>> x[::-1]
'nohtyp'
>>> x[::-2]
'nhy

字符串拼接的2种方式

6.1 join()方法

>>> a = ['韩','梅','梅']
>>> b = ''.join(a)
>>> print(b)
陈丽美丽
>>> c = '\n'.join(a)
>>> print(c)



6.2 “+” 号拼接法

>>> print('str' + 'ing')
string
>>> str = ''
>>> for i in range(5):
... str += '韩梅梅' # 相当于 str = str + '韩梅梅'
>>> print(str)
韩梅梅韩梅梅韩梅梅韩梅梅韩梅梅

6.3 join 方法和“ +” 字符串拼接性能比较

>>> import time
>>> time01 = time.time()
>>> st = ''
>>> for i in range(1000000):
... st += '陈丽'
... time02 = time.time()18
... print('用时: ' + str(time02-time01))
用时: 1.2170696258544922 >>> time03 = time.time()
>>> a = []
#随着迭代次数增大。我们发现:使用 join 内置函数,拼接字符串所用时间少。
>>> for i in range(1000000):
... a.append('陈丽')
... li = ''.join(a)
... time04 = time.time()
... print('用时: ' + str(time04-time03))
用时: 0.24601387977600098

综上所述:进行字符串拼接,推荐使用‘join’ 进行字符串拼接,少用‘+’ 。

字符串比较

注意下面3对符号。

  • ==、 !=:比较字符串 a 和字符串 b, 是否含有相同的字符。
  • is、 not is:比较两个对象, 是否是同一个对象。
  • in、 not in:判断某个字符, 是否存在于某个字符串中。
>>> str1 = 'abcdefgh'
>>> print('a' in str1)
True
>>> print('ab' in str1)
True
>>> str2 = "123"
>>> str3 = "123"
>>> str2 == str3
True
>>> str2 is str3
True
>>> id(str2)
1995935692312
>>> id(str3)
1995935692312

字符串驻留机制

Python 支持字符串驻留机制,对于符合标识符的字符串(注意:仅仅包含下划线_、字母、数字),才会启用字符串驻留机制。此时,保存一份相同且不可变的字符串, 不同的值被存在驻留池中,因此,他们还是同一个东西。

>>> m = '12_abv'
>>> n = '12_abv'
>>> print(id(m),id(n))
51210312 51210312
>>> print(m == n)
True
# m 和 n 是同一个对象,存储地址相同才是同一个对象。
>>> print(m is n)
True
-----------------------------------------------------------------
>>> p = 'ab#'
>>> q = 'ab#'
>>> print(id(p),id(q))
51209808 51210368
>>> print(p == q)
True
# p 和 q 不是同一个对象,存储地址相同才是同一个对象。
>>> print(p is q)
False

字符串中需要注意的地方

  • 字符串本质:字符序列。
  • Python 字符串是不能变的的。因此,我们无法对字符串进行修改。
  • Python 不支持单字符。就算是单字符,也作为字符串来使用。

Python基础(七):字符串的使用(上)的更多相关文章

  1. python基础之字符串讲解(上)

    字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或者")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.For example: 为str输入一个变量,p ...

  2. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  3. Python基础(二) —— 字符串、列表、字典等常用操作

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...

  4. Python基础__字符串拼接、格式化输出与复制

    上一节介绍了序列的一些基本操作类型,这一节针对字符串的拼接.格式化输出以及复制的等做做详细介绍.一. 字符串的拼接 a = 'I', b = 'love', c = 'Python'. 我们的目的是: ...

  5. Python基础二字符串和变量

    了解一下Python中的字符串和变量,和Java,c还是有点区别的,别的不多说,上今天学习的代码 Python中没有自增自减这一项,在转义字符那一块,\n,\r\n都是表示回车,但是对于不同的操作系统 ...

  6. python基础、字符串和if条件语句,while循环,跳出循环、结束循环

    一:Python基础 1.文件后缀名: .py 2.Python2中读中文要在文件头写: -*-coding:utf8-*- 3.input用法      n为变量,代指某一变化的值 n = inpu ...

  7. Python基础之字符串和编码

    字符串和编码 字符串也是一种数据类型,但是字符串比较特殊的是还有个编码问题. 因为计算机自能处理数字,如果徐娅处理文本,就必须先把文本转换为数字才能处理,最早的计算机子设计时候采用8个比特(bit)作 ...

  8. python基础类型—字符串

    字符串str 用引号引起开的就是字符串(单引号,双引号,多引号) 1.字符串的索引与切片. 索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推. a = 'ABCDEFGHIJK' p ...

  9. python基础七

    subprocess subprocess是专门用来替代os.system;os.spawn更加的先进. 但是subprocess.run()是在python3.5之后才出现的 实例 >> ...

  10. python基础知识——字符串详解

    大多数人学习的第一门编程语言是C/C++,个人觉得C/C++也许是小白入门的最合适的语言,但是必须承认C/C++确实有的地方难以理解,初学者如果没有正确理解,就可能会在使用指针等变量时候变得越来越困惑 ...

随机推荐

  1. 密码 & 安全

    密码 & 安全 拖库/脱库 如何在数据库中存储密码更安全? https://time.geekbang.org/dailylesson/detail/100044031 拖库和撞库 https ...

  2. 解析js字符串

    myEval export const evalExp = /[!\&\|\+\-\*\%=\/<\>\^\(\)\~\:\?\;]/g; export function myEv ...

  3. NGK公链全面服务旅游经济

    有数据显示,2019 年全球旅游总收入已达 6.5万亿美元, 占全球 GDP 的 7.3%,旅游业发展所创造的收益,于全球经济的重要性,不言而喻. 在旅游产业蓬勃发展的同时,中心化运营模式下却仍存在痛 ...

  4. NGK——解决区块链用户之“难”

    自比特币诞生以来,区块链行业已发展十余年,而且在在金融.民生.司法存证.供应链协同.税务发票.版权保护等领域得到一定程度的应用,但大多属于边缘业务,以探索试点为主,应用深度和广度不足.为什么会这样?是 ...

  5. NGK DeFi项目即将上线,打造去中心化闭环金融生态!

    据最新官方消息称:NGK已于近日宣布将进军DeFi领域,NGK此次的DeFi的项目将会是一个去中心的交易平台,其最大的功能是进行数字货币的交换.在用户选择了需要支付的数字货币和想购买的数字货币后,系统 ...

  6. Unity3d 拖拽脚本报错Can't add the script component "" because the script class cannot be found

    解决办法: ①报错原因:文件名与文件内容中的类名不相符. ②关闭360.鲁大师等防护软件,重新安装系统.

  7. Java如何保证文件落盘?

    本文转载自Java如何保证文件落盘? 导语 在之前的文章Linux/UNIX编程如何保证文件落盘中,我们聊了从应用到操作系统,我们要如何保证文件落盘,来确保掉电等故障不会导致数据丢失.JDK也封装了对 ...

  8. 翻译:《实用的Python编程》02_05_Collections

    目录 | 上一节 (2.4 序列) | 下一节 (2.6 列表推导式) 2.5 collections 模块 collections 模块为数据处理提供了许多有用的对象.本部分简要介绍其中的一些特性. ...

  9. oracle 查锁

    reference:https://www.cnblogs.com/XQiu/p/5212787.html--以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$ ...

  10. keras环境搭建

    操作系统 : CentOS7.5.1804_x64 Python 版本 : 3.6.8 keras + tensorflow 环境搭建,使用cpu,安装命令如下: virtualenv -p /usr ...