字符串是由数字、字母、符号组成的一串字符,用来表示文本。

目录

Python 转义字符

三引号

字符串运算符

格式化字符串


字符串支持索引(下标访问),第一个字符的索引是 0。

python的字串列表有2种取值顺序

从左到右索引默认0开始的,最大范围是字符串长度-1

从右到左索引默认-1开始的,最大范围是字符串开头

+---+---+---+---+---+---+
 | P | y | t | h | o | n |
 +---+---+---+---+---+---+
 0   1   2   3   4   5   6
-6  -5  -4  -3  -2  -1
str = 'Python'
print(str[0]+str[1]+str[2]+str[3]+str[4]+str[5]) #通过下标获取对应字符,结果输出python
print(str[-6]+str[-5]+str[-4]+str[-3]+str[-2]+str[-1])#通过下标获取对应字符,结果输出python
print(str[1:3]) #[头下标:尾下标] 获取的子字符串;包含头下标的字符,但不包含尾下标的字符,结果输出yt
print(str[1:]) #输出从第一个字符开始的字符串
print(str * 3) #输出字符串三次
print ("人生苦短,我爱"+str) #输出人生苦短,我爱python
print(str[0:5:2]) #第三个参数作用是截取的步长,此实例在索引 0 到索引 5 的位置并设置为步长为 2(间隔一个位置)来截取字符串

Python 转义字符

在需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符。如下表

转义字符

描述

代码示例

\(在行尾时)

续行符.写了续行符之后,续行符后面什么都不能 出现,必须换行(必须换行写内容)

print('python'\

'C#'\

'C++') 

\\

反斜杠符号,需要在字符串中保留一个反斜杠的情况下使用

print('python\\')

\'

单引号,需要在字符串中保留类似my name's lily这样的情况使用

print('my name\'s lily')

\"

双引号

print("\"python\" is very famous")

\a

响铃,在标准输出设备输出字符'\a'时,系统自带的扬声器(或蜂鸣器)会发出“叮”的一声

print("\a")

\b

退格(Backspace),会删除所在位置在前一个字符,放在头尾不起作用

print("That is ab\b  dog")

\000


print("ni\000ce")#输出nice

\n

换行

print("hello\npython")

\v

纵向制表符

print("亲爱的\v爸爸妈妈")

\t

横向制表符

print("亲爱的\t爸爸妈妈")

\r [unix系统]

\r\n [windows系统]

\n [Mac系统]

回车,在不同系统中有不一样的体现

\f

换页

三引号

字符串字面值可以实现跨行连续输入。实现方式是用三引号:"""...""" 或'''...''',让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的

print("""这里禁止停车""")
print ('''这里禁止开车''')

字符串运算符

操作符

描述

代码示例

输出结果

+

字符串拼接

print("a"+"b")

ab 

*

重复输出

print("a"*2)

aa

[]

通过索引获取字符串中字符

a = 'python'

print(a[1])

y

[a:b]

截取字符串中的一部分

a = 'python'

print(a[0:2])

py

in

查找字符串中包含给定的字符,找到返回True

print('h' in 'python')

True

not in

查找字符串中不包含给定的字符,未找到返回 True

print('a' not in 'python')

True

r/R

按内容原始输出,不进行转义

print(R'hello \n python') 

hello \n python

格式化字符串

符号

描述

代码示例

输出结果

%s

格式化字符串

name = 'xiaoming'

gender = 'boy'

print('%s is a %s' %(name,gender) )

xiaoming is a boy

%c

格式化整数

name = 'xiaoming'

gender = 12

print('%s age %d' %(name,gender) )

xiaoming age 12

%u

 格式化无符号整型

name = 'xiaoming'

gender = 12

print('%s age %u' %(name,gender) )

xiaoming age 12

%o

 格式化无符号八进制数

print('%o' %(0b11))

3

%x

 格式化无符号十六进制数

print('%x' %(0xEFEFEF))

efefef

%X

 格式化无符号十六进制数(大写)

print('%X' %(0xEFefEf))

EFEFEF

%f

 格式化浮点数字,可指定小数点后的精度

print('%.2f' %(12.33363556))

12.33

%e

 用科学计数法格式化浮点数

print('%.2e' %(12.33545454545363556))

1.23e+01

%E

 作用同%e,用科学计数法格式化浮点数

print('%.2E' %(12.33545454545363556))

1.23E+01

%g

 %f和%e的简写;在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法

print('%g' %(12.33363556))

12

 %G

 %F 和 %E 的简写

print('%.2G' %(12.33545454545363556))

12