参考链接: Python | 字符串upper
本章主要讲述关于字符串(str)类型的相关知识点,主要包括有字符串表示法、转移字符、ASCII编码、raw原始字符串函数、字符串运算、字符串索引及切片、常用字符串序列函数、字符串方法、格式化字符串及占位符等
1、字符串 str
作用:用来记录文本信息 序列的概念:字符串是序列的一种
表示方法: 在非注释中,凡是用引号括起来的部分都是字符串,包括以下四种:
' 单引号
" 双引号
''' 三单引号
""" 三双引号
空字符串的表示方法: 注: 空字符串的布尔值为False ' '
" "
''' '''
""" """
非空字符串表示方式: 'hello'
"hello"
'''hello'''
"""hello"""
单引号和双引号的区别: 单引号内可以包含双引号
双引号内可以包含单引号
三引号字符串的作用: 三引号字符串中的换行会自动转换为换行符 'n'
三引号内可以包含单引号和双引号
示例:
print('welcome to beijing.nI like python!nI am Studing!')
隐式字符串字面值拼接
s = "I'm " 'a programer.' 'my name is "python3"'
print(s)
2、用转义序列代表特殊字符
转义格式意义'单引号(')"双引号(")\反斜杠( )n换行r返回光标至行首f换页t水平制表符v重直制表符b倒退 空字符,字符值为零 oooo为两位八进制表示的字符xXXXX为两位十六进制表示的字符uXXXXUnicode 16的十六进制表示的字符UXXXXXXXXUnicode 32的十六进制表示的字符
3、ASCII 编码 查看ASCII 编码表:
$ man ascii<回车>
常用的ASCII编码: 字符 十进制 十六进制
'0' 48 0x30
'A' 65 0x41
'a' 97 0x61
4、raw 字符串(原始字符串) 格式:
r'字符串内容'
r"字符串内容"
r'''字符串内容'''
r"""字符串内容"""
作用:让转义符号 无效
示例:
a = 'C:newfiletest.py'
print(a)
5、字符串的运算
加号用于拼接字符串
x = "ABC" 'DEF'
print(x)
y = "123"
z = x y
= 复合赋值
x = y 等同于 x = x y
* 运算符生成重复的字符串
x = "ABC" * 2
print(x)
注: 字符串只能和整数相乘
*= 运算符:
x *= y 等同于 x = x * y
6、字符串的比较运算
运算符:
> >= < <= == !=
示例:
"A" == 'A' # True
'A' < 'B' # True
'ABC' > 'ABB' # True
'ADC' < 'ABC' # False
'AD' > 'ABC' # True
'AB' > 'ABC' # False
'ABCD' != 'DCBA' # True
7、in / not in 运算符
作用:
in 用于序列,字典,集合等容器类中,用于判断某个值是否存在于容器中,如果存在返回True,不存在返回False
not in 与 in运算符返回的布尔值相反
格式:
对象 in 序列
示例:
x = 'welcome to beijing'
'to' in x # True
'hello' in x # False
8、字符串的索引
索引 index:
python 字符串是不可以改变的字符序列
语法:字符串[整数表达式]
说明:
python序列都可以用索引(index)来访问序列中的对象
python 序列正向的索引从0开始,第二个索引为1,最后一个索引为len(s)-1
python 序列的反向索引从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)
9、切片 slice 作用:
从字符串序列中取出一部分相应的元素重新组成一个字符串
语法:
字符串[(开始索引b):(结束索引e)(:(步长s))]
注: () 内括起的部分代表可以省略
说明:
1. 开始索引是切片开始切下的位置0代表第一个元素,-1代表最后一个元素
2. 结束索引是切片的终止索引(但不包含终止索引)
3. 步长是切片每次获取完当前索引后移动的方向和偏移量
a、 没有步长,相当于取值完成后向后移动一个索引的位置(默认为1)
b、当步长为正整数时,取正向切片:
步长默认值为1, 开始索引默认值为0, 结束索引的默认值为len(s)
c、当步长为负整数时,取反向切片:
反向切片时,默认的起始位置为最后一个元素,默认终止位置为第一个元素的前一个位置
示例:
s = 'ABCDE'
a = s[1:4] # a -> 'BCD'
a = s[1:] # a -> 'BCDE'
a = s[:2] # a -> 'AB'
a = s[:] # a -> 'ABCDE'
a = s[4:2] # a -> ''
a = s[2:10000] # a -> 'CDE' 开始索引/结束索引可以越界
a = s[::2] # a -> 'ACE'
a = s[1::2] # a -> 'BD'
a = s[::-1] # a -> 'EDCBA'
a = s[::-2] # a -> 'ECA'
a = s[4:0:-2] # a -> 'EC'
10、python3中常用的序列函数 len(x) 返回序列的长度
max(x) 返回序列的最大值元素
min(x) 返回序列的最小值元素
字符串编码(encode)的转换函数:
ord(c) 返回一个字符的Unicode 值
chr(i) 返回i这个值所对应的字符
整数转换为字符串的函数:
hex(i) 将整数转换为十六进制的字符串
oct(i) 将整数转换为八进制的字符串
bin(i) 将整数转换为二进制的字符串
字符串的构造函数 str
str(obj='') 对象转字换为字符
11、python3中常用的字符串方法(method) 方法的调用语法:
对象.方法名(方法传参)
示例:
'abc'.isalpha() # 是正确的语法
123.isalpha() # 是错的
常用字符串方法
方法说明S.isdigit()判断字符串中的字符是否全为数字S.isalpha()判断字符串是否全为英文字母S.islower()判断字符串所有字符是否全为小写英文字母S.isupper()判断字符串所有字符是否全为大写英文字母S.isspace()判断字符串是否全为空白字符S.center(width[,fill])将原字符串居中,左右默认填充空格S.count(sub[, start[,end]])获取一个字符串中子串的个数S.find(sub[, start[,end]])获取字符串中子串sub的索引,失败返回-1S.strip()返回去掉左右空白字符的字符串S.lstrip()返回去掉左侧空白字符的字符串S.rstrip()返回去掉右侧空白字符的字符串S.upper()生成将英文转换为大写的字符串S.lower()生成将英文转换为小写的字符串S.replace(old, new[, count])将原字符串的old用new代替,生成一个新的字符串S.startswith(prefix[, start[, end]])返回S是否是以prefix开头,如果以prefix开头返回True,否则返回False,S.endswith(suffix[, start[, end]])返回S是否是以suffix结尾,如果以suffix结尾返回True,否则返回False以下是不常用的 S.title()生成每个英文单词的首字母大写字符串S.isnumeric()判断字符串是否全为数字字符
空白字符:是指空格,水平制表符(t),换行符(n)等不可见的字符
13、格式化字符串中的占位符和类型码
占位符类型码意义%s字符串%r字符串,使用repr 而不是str%c整数转为单个字符%d十进制整数%o八进制整数%x十六进制整数(字符a-f小写)%X十六进制整数(字符A-F大写)%e指数型浮点数(e小写),如2.9e 10%E指数型浮点数(E大写),如2.9E 10%f, %F浮点十进制形式%g, %G十进制形式浮点或指数浮点自动转换%%等同于一个%字符
14、占位符和类型码之间的格式语法 格式:
% [- 0 宽度.精度] 类型码
说明:
- 左对齐(默认是右对齐)
显示正号
0 左侧空白位置补零
宽度: 整个数据输入的宽度
精度: 保留小数点后多少位(默认是6位)
示例:
'd' % 123 # ' 123'
'%-10d' % 123 # '123 '
's' % 'abc' # ' abc'
'd' % '123' # '00123'
'%- 5d' % 123 # ' 123 '
15、附录
人工智能(python)—— 目录汇总