字符串str
作用:
用来记录文本信息
字面值表示方法:
用引号括起来的部分都是字符串
‘ 单引号
“ 双引号
’’’ 三单引号
””” 三双引号
空字符串’’, ””, ’’’’’’, ””””””
字符串的字面值表示方式:
‘ hello’
“ hello”
’’’ hello’’’
””” hello”””
单引号和双引号的区别:
单引号内的双引号不算结束符
双引号内的单引号不算结束符
三引号的作用:
三引号内可以包含单引号和双引号
三引号字符串中的换行会自动转换为’\n’
隐式字符串拼接
S =”I’m a teacher” ‘hello you’
用转义序列代表特殊字符
字符串字面值中用字符反斜杠\
后跟一些字符代表特殊的一个字符
例如:
\’ 代表一个单引号
\” 代表一个双引号
\n 代表一个换行符
字符串中的反斜杠转义字符表
\’ 单引号
\” 双引号
\ 反斜杠
\n 换行
\r 返回光标至行首 print(‘dsdfasf\rA’) # Asdfasf
\f 换页
\t 水平制表符 对齐用tap print(‘asdas\tdasdt\tsfsdf’) #asdas dasdt sfsdf
\v 垂直制表符
\b 退格
\0 字符串,字符值为0
\xXX XX为两位十六进制表示的字符
\uxxxx unicoid16的十六进制表示的字符
\uxxxxxxxx unicoid32的十六进制表示的字符(4X8)
常见ASCII编码
字符 十进制 十六进制
‘0’ 48 0x30
‘A’ 65 0x41
‘a’ 97 0x61
‘\0’ 0 0x00
‘\n’ 10 0x0A
UNICODE编码
全世界字符统一编码
分类:
UNICODE16(两个字节)
UNICODE32(四个字节)
示例:
>>> print(‘\u9042’)
遂
>>> print(‘\u00009042’)
遂
raw字符串 (原始字符串)
格式:
r’字符串内容’
r”字符串内容”
r’’’字符串内容’’’
r”””字符串内容”””
作用:
让转义符号\无效
示例:
# 转义之后
a=’C:newfile\test.py’ >>> print(’\’)
print(a) \
#未转义raw字符串
a=r’C:newfile\test.py’ >>> print(r’\’)
print(a) \
字符串的运算
+ 加号运算符用于拼接字符串
+=运算符用于原字符串与右侧字符串拼接生成新的字符串
示例:
s=’ABCD’+’EFG’
s+=’123’
print(s)
s2=s+s
print(s2)
*生成重复的字符串
*=生成重复的字符串并让原变量绑定生成后的字符串
示例:
s=”abd”*3
print(s)
s2=5*’0’
print(s2)
s=”abd”
s2*=3
字符串的比较运算
>
>=
<
<=
==
!=
格式:
x>y
比较规则:
1.字符串x的第一个字母,与字符串y的第一个字母比较,如果不相同,则直接得出比较结果;如果相同则再取第二个字母进行比较,以此类推
2.比较的依据是Unicode的编码值
示例:
‘ad’>’abc’ true
‘abc’!=’cba’ true
‘abc’==’cba’ false
‘ab’<=’abc’ true
in /not in运算符
作用:
用于序列,字典,集合等容器中,用于判断某个值是否存在于容器中,存在返回true,不存在则返回false
not in 与 in 运算符的返回结果相反
格式:
对象in序列
>>> ‘a’ in ‘asdf’
True
>>>’to’ in ‘welcome to classroom’
True
>>>’asdf’ in’sdrgs’
Faslse
字符串的索引与切片
Index
Python的字符串是不可以改变的字符序列
语法:
字符串[整数表达式]
说明:
Python序列都可以用索引(index)来访问序列中的对象
Python序列的正向索引是从0开始的,第二个索引为1…以此类推,最后一个索引是len(s)-1
Python序列的反向索引是从-1开始的,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)
[0] [1] [2] [3] [4] [5]
[-6][-5] [-4][-3] [-2][-1]
示例:
>>>a=’hello’
>>> a[0]
‘h’
切片 slice
从字符串中取出相应的元素,重新组成一个字符串
语法:
字符串[(开始索引b):(结束索引e)(:步长s)]
ps:小括号括起来的部分代表可以省略
语法说明:
1.开始索引是切片切下的位置,0代表第一个元素,1代表第二个元素,-1代表最后一个元素
2.结束索引是切片的终止索引(但不包含终止点)->数学上的左闭右开
3.步长是切片每次获取完当前元素后向右移动索引的偏移量
1)没有步长,相当于取值完毕后右移动一个索引的位置(默认为1)
2)当步长为正整数数,正向切片
3)当步长为负整数时,取反向切片
总结:最后一个数字为正则说明切片时正向的,如果为负则是反向的。
反向切片时,默认的起始位置为最后一个元素,
终止位置是第一个元素的前一个元素
示例:
>>> s=‘abcde’
\ >>> s[1:4]
‘bcd’
>>> s[::-1]
‘edcba’
>>> s[-2:-5:-1]
‘dcb’
>>> s[2:-2]
‘c’
>>> s[:-2:2]
‘ac’
>>> s[-1:0:-1]
‘edcb’
>>> s[-1:-100:-2] or s[::-2]
‘eca’
练习:
输入任意一个字符串,判断这个字符串是否是回文
回文示例:
上海自来水来自海上
回文是指中心对称的文字
0=-1
1=-2
2=-3
Python3中常用的序列函数
len(seq) length
max(x) 返回序列的最大值
min(x) 返回序列的最小值
字符串编码转换函数
ord© 返回一个字符的Unicode值
chr(i) 返回i这个值所对应的字符
示例:
>>> ord(‘婵’)
23157
>>> chr(23423)
‘孿’
>>> chr(13145)
‘㍙’
>>>
整数转换为字符串的函数
hex(i) 将整数转换成十六进制字符串
oct(i) 将整数转化为八进制
bin(i) 将整数转换为二进制数
示例:
>>> bin(10000)
‘0b10011100010000’
>>> hex(10000)
‘0x2710’
>>> oct(10000)
‘0o23420’
字符串构造函数
str(obj=’’) 将对象转换成字符串
示例:
\ >>> str(100)
'100
\ >>> str(None)
‘None’