1.字符串 str
作用:
是用来记录文本信息(文字信息)
字符串的字面值表示方式:
在非注释中凡是用引号括起来的部分都是字符串
' 单引号
" 双引号
''' 三单引号
""" 三双引号
空字符串
'' "" '''''' """"""
#非空字符串
'hello' "hello" '''hello''' """hello"""
单引号和双引号的区别:
单引号内的双引号不算结束符
双引号内的单引号不算结束符
三引号字符串
作用:
三引号内可以包含单引号和双引号
三引号字符串中的换行会自运转换为换行符'\n'
字符串的字面值的隐式拼接
表示内容为:
s = "I'm a teacher" 'my name is "Tarena"'
print(s) #
>>>
2.用转义字符代表特殊字符
字符串字面值中用字符反斜杠 \后跟一个或一些字符代表特殊的一个字符
字符串中转义字符:
\'一个单引号
\"一个双引号
\\ 一个反斜杠
\n 换行符
\r 返回光标至行收首 “abcd\rAB” >>> ABcd
\f 换页
\t 水平制表符
\v 垂直制表符
\b 倒退
\a响铃(已无效)
\0 字符串(编码值为0的字符)
\0oo oo 为两位八进制表示的字符
\xXX xx 为两位十六进制表示的字符
\uXXXX Unicode 四位的十六进制表示的字符
\UXXXXXXXX Unicode 八位十六进制表示的字符
ASCII 编码: $ man ascii<回车>
常用的的ASCII 编码:
字符 十进制 十六进制
'0' 48 0x30
'A' 65 0x41
'a' 97 0x61
3.序列的概念
字符串是序列(有序排列)
所有的序列都能用len(x) 函数求其长度
len(x) 函数
返回字符串中字符的个数
用交互模式验证如下字符串有几个字符
1. '1234abcd' # 8个
2. '5\'4"' # 4个
3. '\"A\x34\056'# 4个
4. '\a\bc\td\n' # 6个
raw 字符串(原始字符串)
格式:
r'字符串内容'
r"字符串内容"
r'''字符串内容'''
r"""字符串内容"""
作用:
让转义符 \ 无效
当做普通字符
示例:
a = 'C:\newfile\test.py'
print(a)
print(len(a))
a = r'C:\newfile\test.py'
print(a)
print(len(a))
4.字符串的运算
运算符:
+ += * *=
+ 加号 作用是拼接字符串
+= 复合运算符 拼接后改变原字符串的变量的绑定的关系
y += x y = y + x
* 用于生成重复的字符串
字符串只能和整数相乘
x="ABC" *3
print(x) #ABCABCABC
*= 生成重复字符串。同时用原来变量来绑定
x = '123'
x *= 2
print(x) # 123123
比较运算符:
> >= < <= == !=
规则:
依次按编码值进行两两 字符比较,一但不同则比较结果,
返回比较结果,当编码值与长度完全相同时,两个字符串相同。
示例:
'A' > 'B' # False
'A' != 'B' # True
'AB' < 'AC' #
'ACB' < 'ABC' # False
'AB' < 'D' # True
'AB' < 'A' # False
'ABCD' != 'DCBA' # True
'abc' == 'ABC' # False
in, not in 运算符
作用:
in 主要用于序列,字典,集合中,用于判断某个值是否存在于容器中,如果存在返回Ture,否则返回False
格式:
对象 in 序列
示例:
x = 'welcome to tarena!'
'to' in x # True
'hello' in x # False
'e t' in x # True
'abc' not in x # True
5.索引 index
Python 字符串是不可变的序列
不可变是指一旦创建将不可改变
序列是指有先后顺序关系有序列排
作用:
从一个字符串中获取其中的一个字符
语法:
字符串[整数表达式]
说明:
Python 序列都可以用索引来访问序列中的对象
Python序列的正向索引是从0开始,第二个索引为1....,
最后一个索引为len(x)-1
Python的序列的反向索引是从-1开始的,-1代表最后一个,
-2代表倒数第二个,以此类推,第一个是-len(s)
示例:
s = 'ABCDE'
s[0] # 'A'
s[1] # 'B'
s[4] # 'E' # len(5)-1,E就不存在
s[5] # 越界错误 IndexError
s[-1] # 'E'
s[-2] # 'D'
s[-5] # 'A'
s[-8] # 越界
6.切片 slice
作用:
从字符串序列中取出相应的元素重新组成一个新的字符串
语法:
字符串[(开始索引b):(结束索引e)(:(步长s))]
注:小括号()括起的部分代表可省略
说明:
1. 开始索引 是切片切取的起始位置
2. 结束索引 是切片的终止点(但不包含终止点)
3. 步长是切片每次获取完当前元素后移动的方向和偏移量
a) 没有步长,相当于取值完成后向右移动一个索引的位置(默认为1)
b) 当步长为正整数时,取正向切片,开始索引默认为0,结束索引默认为len(s)
c) 当步长为负整数时,取反向切片,开始索引默认为最后一个元素。结束索引为第一个元素的前一个位置
示例:
s = 'ABCDE'
a = s[1:4] # a = "BCD"
a = s[:4] # a = 'ABCD'
a = s[1:] # a = 'BCDE'
a = s[:] # a = 'ABCDE'
a = s[3:3] # a = ''
a = s[4:2] # a = ???
a = s[0::2] # a = 'ACE'
a = s[0:5:2] # a = 'ACE'
a = s[0:5:3] # a = 'AD'
a = s[:3:2] # a = 'AC'
a = s[-2::-2]
a = s[3::-1] # a = 'DCBA'
开始索引和结束索引也可以省略
省略后步长真,默认最前最后
省略后步长负,默认最后最前
特例:开始索引和结束索引可以不存在
=================》最大最后,最小最前
7.运算符优先级
Python 运算符的优先级
参见 文档
pyhton3 中常见的序列函数:
len(s) 返回序列的长度
max(s) 返回序列的最大值元素
min(s) 返回序列的最小值元素
字符串编码转换函数:
ord(c) 返回一个字符串的Unicode编码值
chr(i)返回整数i 这个值所对应的字符
print(ord('A)) #65
print(ord('中')) #20013
8.整数转换为字符串函数
hex(i) 将整数转换为十六进制的字符串
oct(i) 将整数转换为八进制的字符串
bin(i) 将整数转换为二进制的字符串
示例:
"123" + 456 # 不可以
int('123') + 456 # 可以
'123' + str(456) # '123456'
字符串创建函数 str
str(obj='') 将对象转为字符串
python3 中常用的字符串 方法(method)
字符串方法的调用语法:
对象.方法名(方法传参)
示例:
s = 'abc'
print(s.isalpha()) # True
"abc".isalpha() # 语法是对的
123.isalpha() # 语法是错的
查看字符串所有方法:
>>> help(str)<回车>