Python字符串-编码

字符串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’

猜你喜欢

转载自blog.csdn.net/weixin_43409365/article/details/83045670