一起学Python——String(字符串)

简介: 字符串运算

创建字符串可以使用单引号、双引号、三单引号和三双引号,其中三引号可以多行定义字符串,Python 不支持单字符类型,单字符也在Python也是作为一个字符串使用。


字符串运算

  • 下表实例变量a值为字符串 "Hello",b变量值为 "Python":
操作符 描述 实例
+ 字符串连接 a + b 输出结果: HelloPython
* 重复输出字符串 a*2 输出结果:HelloHello
[] 通过索引获取字符串中字符 a[1] 输出结果 e
[ : ] 截取字符串中的一部分 a[1:4] 输出结果 ell
in 成员运算符 - 如果字符串中包含给定的字符返回 True H in a 输出结果 1
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True M not in a 输出结果 1
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面
的意思来使用,没有转义特殊或不能打印的字符。
原始字符串除在字符串的第一个引号前加上字母"r"(可以大
小写)以外,与普通字符串有着几乎完全相同的语法。
print r'\n' prints \n 和 print R'\n' prints \n
% 格式字符串 请看下一节内容。

我们定义一个 s='python'语句,它在计算机中的执行顺序是先在内存中创建一个字符串 Python ,在程序栈寄存器中创建一个变量 s,最后把 Python 的地址赋给s 。

再来看看字符串的一些常见操作:

s = '学习Python'
# 切片
# 字符串索引index取值范围:-len()到len()-1   越界会报错
s[0], s[-1], s[3:], s[::-1] # '优', 'n', 'Python', 'nohtyP的雅优'
# 替换,还可以使用正则表达式替换
s.replace('Python', 'Java')  # '学习Java'
# 查找,find()、index()、rfind()、rindex()
s.find('P')     # 3, 返回第一次出现的子串的下标
s.find('h', 2)      # 6, 设定下标2开始查找
s.find('23333')     # -1, 查找不到返回-1
s.index('y')      # 4, 返回第一次出现的子串的下标
s.index('P')    # 不同与find(), 查找不到会抛出异常
# 转大小写, upper()、lower()、swapcase()、capitalize()、istitle()、isupper()、islower()
s.upper()     # '学习PYTHON'
s.swapcase()      # '学习pYTHON', 大小写互换
s.istitle()     # True
s.islower()     # False
# 去空格,strip()、lstrip()、rstrip()
# 格式化
s1 = '%s %s' % ('Windrivder', 21) # 'Windrivder 21'
s2 = '{}, {}'.format(21, 'Windridver')  # 推荐使用format格式化字符串
s3 = '{0}, {1}, {0}'.format('Windrivder', 21)
s4 = '{name}: {age}'.format(age=21, name='Windrivder')
# 连接与分割,使用 + 连接字符串,每次操作会重新计算、开辟、释放内存,效率很低,所以推荐使用join
l = ['2017', '03', '29', '22:00']
s5 = '-'.join(l)      # '2017-03-29-22:00'
s6 = s5.split('-')      # ['2017', '03', '29', '22:00']
相关文章
|
25天前
|
Python
1167: 分离字符串(PYTHON)
1167: 分离字符串(PYTHON)
|
3天前
|
Go 索引 Python
非常全面的python字符串相关处理方法(二)
非常全面的python字符串相关处理方法(二)
|
3天前
|
存储 索引 Python
非常全面的python字符串相关处理方法(一)
非常全面的python字符串相关处理方法(一)
|
7天前
|
缓存 安全 Java
【Java基础】String、StringBuffer和StringBuilder三种字符串对比
【Java基础】String、StringBuffer和StringBuilder三种字符串对比
6 0
|
8天前
|
机器学习/深度学习 存储 数据挖掘
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。
|
8天前
|
Python
Python 字符串格式化指南
本文介绍了Python中的三种字符串格式化方法:1) 使用 `%` 操作符,如 `%s` 和 `%d`;2) `str.format()` 方法,通过 `{}` 占位符插入变量;3) Python 3.6 引入的 f-strings,直接在字符串内嵌入变量。此外,还提到了高级用法,如格式控制(如指定小数位数)。这些方法有助于更有效地处理和格式化字符串输出。
9 0
|
9天前
|
Python
python html(文件/url/html字符串)转pdf
python html(文件/url/html字符串)转pdf
9 0
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
16天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
59 0
|
16天前
02-python的基础语法-标识符/运算符/字符串拓展/字符串的拼接/字符串格式化/字符串精度控制/字符串格式化方式2/对表达式进行格式化/练习题/数据输入-input语句
02-python的基础语法-标识符/运算符/字符串拓展/字符串的拼接/字符串格式化/字符串精度控制/字符串格式化方式2/对表达式进行格式化/练习题/数据输入-input语句