String(字符串)
Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
创建字符串很简单,只要为变量分配一个值即可。例如:
var1=‘Hello’
var2=“World”
字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以0为开始值,-1为从末尾的开始位置。
加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,紧跟的数字为复制的次数。
实例:
str = 'Runoob'
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符串两次
print (str + "TEST") # 连接字符串
输出结果:
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
Python字符串更新
可以截取字符串的一部分并与其他字段拼接.
实例:
var1 = 'Hello World!'
print ("已更新字符串 : ", var1[:6] + 'Runoob!')
输出结果:
已更新字符串 : Hello Runoob!
Python转义字符
Python 使用反斜杠()转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
实例:
print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
输出结果:
hello
runoob
hello\nrunoob
Python字符串运算符
实例:
a = "Hello"
b = "Python"
print("a + b 输出结果:", a + b)#字符串连接
print("a * 2 输出结果:", a * 2)#重复输出字符串
print("a[1] 输出结果:", a[1])#通过索引获取字符串中字符
print("a[1:4] 输出结果:", a[1:4])#截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。
if( "H" in a) :#成员运算符 - 如果字符串中包含给定的字符返回 True
print("H 在变量 a 中")
else :
print("H 不在变量 a 中")
if( "M" not in a) :#成员运算符 - 如果字符串中不包含给定的字符返回 True
print("M 不在变量 a 中")
else :
print("M 在变量 a 中")
print (r'\n')#所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符
print (R'\n')#所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符
输出结果:
a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n
Python字符串格式化
Python 的字符串内建函数
- capitalize():将字符串的第一个字符转换为大写
- center(width, fillchar):返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
- count(str, beg= 0,end=len(string)):返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
- bytes.decode(encoding=“utf-8”, errors=“strict”):Python3 中没有 decode 方法,但可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
- encode(encoding=‘UTF-8’,errors=‘strict’):以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’
- endswith(obj , beg=0, end=len(string)):检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
- expandtabs(tabsize=8):把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
- find(str, beg=0 end=len(string)):检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
- index(str, beg=0, end=len(string)):跟find()方法一样,只不过如果str不在字符串中会报一个异常.
- isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
- isalpha():如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
- isdigit():如果字符串只包含数字则返回 True 否则返回 False.
- islower():如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False。
- isnumeric():如果字符串中只包含数字字符,则返回 True,否则返回 False。、
- isspace():如果字符串中只包含空白,则返回 True,否则返回 False.
- istitle():如果字符串是标题化的(见 title())则返回 True,否则返回 False。
- isupper():如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False。
- join(seq):以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串。
- len(string):返回字符串长度。
- ljust(width[, fillchar]):返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
- lower():转换字符串中所有大写字符为小写.
- lstrip():截掉字符串左边的空格或指定字符。
- maketrans():创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
- max(str):返回字符串 str 中最大的字母。
- min(str):返回字符串 str 中最小的字母。
- replace(old, new [, max]):把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
- rfind(str, beg=0,end=len(string)):类似于 find()函数,不过是从右边开始查找.
- rindex( str, beg=0, end=len(string)):类似于 index(),不过是从右边开始.
- rjust(width,[, fillchar]):返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串。
- rstrip():删除字符串字符串末尾的空格.
- split(str="", num=string.count(str)):num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串。
- splitlines([keepends]):按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
- startswith(str, beg=0,end=len(string)):检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
- strip([chars]):在字符串上执行 lstrip()和 rstrip()
- swapcase():将字符串中大写转换为小写,小写转换为大写。
- title():返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
- translate(table, deletechars=""):根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中。
- upper():转换字符串中的小写字母为大写。
- zfill (width):返回长度为 width 的字符串,原字符串右对齐,前面填充0。
- isdecimal():检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。
注意:
1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
2、字符串可以用+运算符连接在一起,用*运算符重复。
3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
4、Python中的字符串不能改变。