字符串是由数字、字母、符号组成的一串字符,用来表示文本。
目录
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 |