本文概述
到目前为止, 我们已经讨论了数字作为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所示, slice运算符[]用于访问字符串的各个字符。但是, 我们可以在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
但是, 在示例1中, 可以将字符串str完全分配给以下示例中指定的新内容。
例子2
str = "HELLO"
print(str)
str = "hello"
print(str)
输出
HELLO
hello
字符串运算符
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 HelloHelloHello
print(str+str1)# prints Hello world
print(str[4]) # prints o
print(str[2:4]); # prints ll
print('w' in str) # prints false as w is not present in str
print('wo' not in str1) # prints false as wo is present in str1.
print(r'C://python37') # prints C://python37 as it is written
print("The string str : %s"%(str)) # prints The string str : Hello
输出
HelloHelloHello
Hello world
o
ll
False
False
C://python37
The string str : Hello
Python格式运算符
Python允许我们使用C的printf语句中使用的格式说明符。 python中的格式说明符与在C中的处理方式相同。但是, Python提供了一个额外的运算符%, 用作格式说明符及其值之间的接口。换句话说, 可以说它将格式说明符绑定到值。
考虑以下示例。
Integer = 10;
Float = 1.290
String = "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 10
Hi I am float ... My value is 1.290000
Hi 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() |
评论前必须登录!
注册