Python中的字符串,我们可以简单的认为是一组用单引号,双引号,三引号包含的一组字符,数字或者特殊字符。在Python3中,所有的字符串都是Unicode字符串。
变量定义
#单引号
string1 = 'abc'
#双引号
string2 = "def"
#三引号,文字可以换行
string3 = '''我可以
随便
换行'''
print(string1)print(string2)print(string3)
常规操作符
对与字符串我们可以进行拼接,截取,重复,判断,格式化等操作。python中常规的操作符有如下几种:
操作符描述
+
字符串连接,将多个字符串连接成一个字符串
*
重复输出字符串内容
[]
通过索引获取字符串中的部分内容
[ : ]
使用start:end的方式截取字符串中的一部分内容,遵循左闭右开原则,str[0,5] 是不包含第 5 个字符的,取前四个内容。
in
成员运算符 - 如果字符串中包含给定的字符返回 True
not in
成员运算符 - 如果字符串中不包含给定的字符返回 True
r/R
原始字符串 - 所有的字符串都是定义的值来显示,转译符和特殊字符不会被转译。
%
格式字符串,根据定义的格式输出字符串
字符串连接:使用"+",将多个字符串连接成一个字符串.
string1 = 'abc'string2= "def"string3= '''gh
ijk'''
print(string1 + string2 +string3)#输出 abcdefgh#ijk
重复输出:重复输出字符串内容。
string1 = 'abc'string2= "def"string3= '''gh
ijk'''
print(string1 * 2)#输出:abcabc
print(string1 *len(string2))#输出: abcabcabc
索引取值:使用[]字符,通过索引获取字符串中的部分内容。注意索引正向是从 0 开始的,如果取值超过索引范围会报系统错误。索引也可以是是负数,表示反向取值。
string1 = 'abc'string2= "def"string3= '''gh
ijk'''
print(string1[2])#输出:c
print(string1[-3])#输出:a
print(string1[3])#输出: IndexError : string index out of range
范围取值: 使用[start:end]的形式,取字符串的部分内容,遵循左闭右开原则,str[0,5] 是不包含第 5 个字符的,取前四个内容。还可以使用[start:end:step]的形式获取内容,意思是从start到end位置,每隔step个取一个字符。
string1 = 'abc'string2= "123456789"string3= '''gh
ijk'''
print(string1[0:2])#输出:ab
print(string1[0:10])#输出:abc
print(string1[0:-2])#输出: a , -2表示倒数第二个字符,即 'b'
print(string2[0:10:2])#输出:13579
成员运算符: 判断主字符串是否包含子字符串,返回True or False。
string1 = 'abc'string2= "123456789"string3= '''gh
ijk'''
print('a' instring1)#输出:True
print('d' not instring1)#输出:True
print(string1 instring2)#输出: False
print("d" instring2)#输出:False
原始字符串: r/R + “” 用来显示原始定义的字符,转译符也将作为普通字符来显示。
string1 = 'abc'string2= "123456789"string3= '''gh
ijk'''string4= r"display original chanter \n"string5= R"\t \\"
print(string4)#输出:display original chanter \n
print(string5)#输出:\t \\
格式字符串:使用%来格式化输出想要的字符类型:
符 号描述
%c
格式化字符及其ASCII码
%s
格式化字符串
%d
格式化整数
%u
格式化无符号整型
%o
格式化无符号八进制数
%x
格式化无符号十六进制数
%X
格式化无符号十六进制数(大写)
%f
格式化浮点数字,可指定小数点后的精度
%e
用科学计数法格式化浮点数
%E
作用同%e,用科学计数法格式化浮点数
%g
%f和%e的简写
%G
%f 和 %E 的简写
%p
用十六进制数格式化变量的地址
string1 = 'abc'string2= "123456789"int_num= 10
print("string4 is %s" %string1)#输出:string4 is abc
print("string4 is %d" %int_num)#输出:string4 is abc
我们也可以使用 format关键字进行格式化,注意点“.”不要遗漏了
name = 'ralf'age= 35
print("name is {var_name} and age is {var_age}".format(var_name = name, var_age =age))#输出: name is ralf and age is 35