Python字符串用法及其操作函数

本文概述

  • 字符串索引和拆分
  • 重新分配字符串
  • 例子1
  • 例子2
  • 字符串运算符
  • 例子
  • Python格式运算符
  • 内置字符串功能
到目前为止, 我们已经讨论了数字作为python中的标准数据类型。在本教程的这一部分中, 我们将讨论python中最流行的数据类型, 即字符串。
在python中, 可以通过将字符或字符序列括在引号中来创建字符串。 Python允许我们使用单引号, 双引号或三引号来创建字符串。
考虑下面的示例在python中创建一个字符串。
str = "Hi Python !"

在这里, 如果我们使用python脚本检查变量str的类型
print(type(str)), then it will print string (str).

在python中, 字符串被视为字符串序列, 这意味着python不支持字符数据类型, 而是将一个写为’ p’ 的单个字符视为长度为1的字符串。
字符串索引和拆分 像其他语言一样, python字符串的索引从0开始。例如, 字符串” HELLO” 的索引如下图所示。
Python字符串用法及其操作函数

文章图片
如python所示, slice运算符[]用于访问字符串的各个字符。但是, 我们可以在python中使用:(冒号)运算符来访问子字符串。考虑以下示例。
Python字符串用法及其操作函数

文章图片
在这里, 我们必须注意, 在slice运算符中给出的上限始终是互斥的, 即, 如果给出了str =’ python’ , 则str [1:3]将始终包括str [1] =’ p’ , str [2 ] =’ y’ , str [3] =’ t’ , 仅此而已。
重新分配字符串 更新字符串的内容就像将其分配给新字符串一样容易。字符串对象不支持项目分配, 即字符串只能用新字符串替换, 因为其内容不能部分替换。字符串在python中是不可变的。
考虑以下示例。
例子1
str = "HELLO"str[0] = "h"print(str)

输出
Traceback (most recent call last):File "12.py", line 2, in < module> str[0] = "h"; TypeError: 'str' object does not support item assignment

【Python字符串用法及其操作函数】但是, 在示例1中, 可以将字符串str完全分配给以下示例中指定的新内容。
例子2
str = "HELLO"print(str)str = "hello"print(str)

输出
HELLOhello

字符串运算符
Operator Description
+ 它被称为串联运算符, 用于连接运算符两侧给出的字符串。
* 它被称为重复运算符。它连接同一字符串的多个副本。
[] 它称为切片运算符。它用于访问特定字符串的子字符串。
[:] 它被称为范围切片运算符。用于访问指定范围内的字符。
in 它被称为成员运算符。如果指定的字符串中存在特定的子字符串, 则返回。
不在 它也是成员运算符, 与in完全相反。如果指定的字符串中不存在特定的子字符串, 则返回true。
r/R 它用于指定原始字符串。在需要打印转义字符(例如” C:// python” )的实际含义的情况下, 使用原始字符串。要将任何字符串定义为原始字符串, 字符r或R后跟该字符串。
% 它用于执行字符串格式化。它利用C编程中使用的格式说明符(如%d或%f)在python中映射它们的值。我们将讨论如何在python中完成格式化。
例子 考虑以下示例, 以了解Python运算符的实际用法。
str = "Hello" str1 = " world"print(str*3) # prints HelloHelloHelloprint(str+str1)# prints Hello world print(str[4]) # prints oprint(str[2:4]); # prints llprint('w' in str) # prints false as w is not present in strprint('wo' not in str1) # prints false as wo is present in str1. print(r'C://python37') # prints C://python37 as it is writtenprint("The string str : %s"%(str)) # prints The string str : Hello

输出
HelloHelloHelloHello worldollFalseFalseC://python37The string str : Hello

Python格式运算符 Python允许我们使用C的printf语句中使用的格式说明符。 python中的格式说明符与在C中的处理方式相同。但是, Python提供了一个额外的运算符%, 用作格式说明符及其值之间的接口。换句话说, 可以说它将格式说明符绑定到值。
考虑以下示例。
Integer = 10; Float = 1.290String = "Ayush"print("Hi I am Integer ... My value is %d\nHi I am float ... My value is %f\nHi I am string ... My value is %s"%(Integer, Float, String));

输出
Hi I am Integer ... My value is 10Hi I am float ... My value is 1.290000Hi I am string ... My value is Ayush

内置字符串功能 Python提供了各种用于字符串处理的内置函数。许多弦乐
Method Description
capitalize() 它大写字符串的第一个字符。 python3不推荐使用此功能
casefold() 它返回适用于无大小写比较的的版本。
中心(宽度, 填充字符) 它返回一个空格填充的字符串, 其原始字符串居中, 左右数相等。
计数(字符串, 开始, 结束) 它计算在开始索引和结束索引之间的字符串中子字符串出现的次数。
解码(编码=’ UTF8′ , 错误=’ 严格’ ) 使用注册用于编码的编解码器解码字符串。
encode() 使用注册用于编码的编解码器对S进行编码。默认编码为” utf-8″ 。
endwith(后缀, begin = 0, end = len(string)) 如果字符串在开始和结束之间以给定的后缀终止, 则它将返回一个布尔值。
expandtabs(tabsize = 8) 它在字符串中将制表符定义为多个空格。默认空间值为8。
find(子字符串, beginIndex, endIndex) 它返回字符串的索引值, 在开始索引和结束索引之间找到子字符串。
format(value) 它使用传递的值返回S的格式化版本。
索引(订阅, beginIndex, endIndex) 如果找不到字符串, 则会引发异常。它与find()方法相同。
isalnum() 如果字符串中的字符是字母数字(即字母或数字)并且至少包含1个字符, 则返回true。否则, 它返回false。
isalpha() 如果所有字符都是字母并且至少有一个字符, 则返回true, 否则返回False。
isdecimal() 如果字符串的所有字符均为小数, 则返回true。
isdigit() 如果所有字符都是数字并且至少有一个字符, 则返回true, 否则返回False。
isidentifier() 如果字符串是有效的标识符, 则返回true。
islower() 如果字符串的字符为小写, 则返回true, 否则返回false。
isnumeric() 如果字符串仅包含数字字符, 则返回true。
isprintable() 如果s的所有字符都是可打印的或s为空, 则返回true, 否则返回false。
isupper() 如果字符串的字符为大写, 则返回false, 否则返回False。
isspace() 如果字符串的字符为空格, 则返回true, 否则返回false。
istitle() 如果字符串标题正确, 则返回true, 否则返回false。标题字符串是第一个字符为大写而其他字符为小写的字符串。
isupper() 如果字符串的所有字符(如果存在)为true, 则返回true, 否则返回false。
join(seq) 它合并给定序列的字符串表示形式。
len(string) 它返回一个字符串的长度。
光(宽度[, fillchar]) 它返回空格填充的字符串, 其中原始字符串左对齐到给定的宽度。
lower() 它将字符串的所有字符转换为小写。
lstrip() 它删除字符串的所有前导空格, 也可以用于删除前导中的特定字符。
partition() 它搜索S中的分隔符sep, 并返回它之前的部分, 分隔符本身和之后的部分。如果找不到分隔符, 则返回S和两个空字符串。
maketrans() 它返回要在翻译功能中使用的翻译表。
替换(旧, 新[, 计数]) 它将旧字符序列替换为新序列。如果给出max, 则替换max字符。
rfind(str, beg = 0, end = len(str)) 它与find相似, 但它以反向方向遍历字符串。
RINDEX(页, 求= 0, 结束= LEN(P)) 它与索引相同, 但沿反向方向遍历字符串。
恰好(width, [, fillchar]) 返回空格填充的字符串, 其原始字符串右对齐至指定的字符数。
rstrip() 它删除字符串的所有尾随空格, 也可用于删除尾随的特定字符。
rsplit(sep = None, maxsplit = -1) 与split()相同, 但它从反向处理字符串。它返回字符串中的单词列表。如果未指定Separator, 则字符串将根据空格进行分割。
split(str, num = string.count(str)) 根据定界符str拆分字符串。如果未提供定界符, 则字符串将根据空格进行拆分。它返回与定界符连接的子字符串列表。
splitlines(num = string.count(‘ \ n’ )) 它返回删除了换行符的每一行的字符串列表。
startswith(str, beg = 0, end = len(str)) 如果字符串在begin和end之间以给定的str开头, 则它将返回一个布尔值。
strip([chars]) 它用于对字符串执行lstrip()和rstrip()。
swapcase() 它会反转字符串中所有字符的大小写。
title() 它用于将字符串转换为标题大小写, 即字符串meEruT将转换为Meerut。
翻译(表格, 电子技术=” ) 它根据函数中传递的转换表转换字符串。
upper() 它将字符串的所有字符转换为大写。
zfill(width) 返回原始字符串, 将其用零填充到总的宽度字符;用于数字, zfill()保留给定的任何符号(小于1的零)。
rpartition()

    推荐阅读