字符串的构造(创建)函数
str(x) 返回一个对象的字符串表求方法
示例:
str(10) # '10'
str(0x0a) # '10'
str(True) # 'True'
str(None) # 'None'
str(3.14) # '3.14'
str(1+2J) # '(1+2j)'
bool(x) / int(x) / complex(x) /float(x)
索引 index
python 的字符串是"不可以改变"的"序列"
a = "ABC"
b = "DEF"
c = a + b # c = "ABCDEF"
语法:
字符串[整数表达式]
说明:
序列都可以用索引 来访问序列中的对象
序列的正向索引是从0开始的,第二个索引为1, 最后一个为len(s) - 1
序列的反向索引是从-1开始是, -1代表最后一个,-2代表倒数第二个... 第一个是-len(s)
示例:
s = "ABCDE"
print(s[0]) # "A"
print(s[4]) # "E"
print(s[-1]) # "E"
print(s[-5]) # "A"
print(s[10]) # IndexError 错误!
切片 slice
从字符串序列中取出相应的元素,重新组成一个字符串序列
语法:
字符串[(开始索引b):(结束索引e)(:(步长s))]
注: 小括号() 括起的部分代表可以省略
说明:
开始索引是切片切下的起始位置0代表第一个元素,1代表第一个元素,-1代表最后一个元素
结束索引是切片的终止点( 但不包含终止点)
步长是切片每次获取完当前元素后移动的方向和偏移量
1) 没有步长,相当于取值完成后向右移动一个索引的位置(默认为1)
2) 步长为正整数时,取正向切片
默认步长为1
步长代表下次索引取值的增长值
3) 当步长为负整数时,取反向切片
反向切片时,默认的起始位置为最后一个元素,终止位置是第一个元素的前一个位置
示例:
s = "ABCDE"
x = s[1:4] # "BCD"
x = s[:4] # "ABCD"
x = s[1:] # "BCDE"
x = s[1:500] # "BCDE"
x = s[:] # "ABCDE"
x = s[-4:3] # "BC"
x = s[::1] # "ABCDE"
x = s[::2] # "ACE"
x = s[1:4:2] # "BD"
练习:
写程序输入任意一个字符串,判断这个字符串是否是回文:
回文:
上海自来水来自海上
ABCCBA
python3 中常用的序列函数
len(s) 返回序列的长度
max(x) 返回序列的最大值的元素
min(x) 返回序列的最小值的元素
字符串编码转换函数:
ord(char) 返回一个字符的 UNICODE值
chr(i) 返回i这个值所对应的字符
整数转换为字符串的函数:
bin(i) 将整数转换为二进制字符串
oct(i) 将整数转换为八进制字符串
hex(i) 将整数转换为十六进制字符串
python中字符串方法(method)
调用方法的语法
对象.方法名(方法传参)
例:
"abc".isalpha() # 返回True
123.isalpha() # 错的
常用字符串方法:
如下假高字符串变量名为S
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的索引,失败返回-1
S.strip() 返回去掉左右空白字符的字符串
S.lstrip() 返回去掉左侧空白字符的字符串
S.rstrip() 返回去掉右侧空白字符的字符串
S.title() 生成每个英文单词首字母大写的字符串
S.upper() 生成全大写字符串
S.lower() 生成全小写字符串
S.replace(old, new[, count]) 将原字符串的old用new代替,生成一个新的字符串
字符串格式化表达式
运算符:
%
作用:
生成一定格式的字符串
语法:
格式字符串 % 参数值
或
格式字符串 % (参数值1, 参数值2, ...)
说明:
格式字符串中以% 开头的为占位符,占位符的位置将用参数值替换
示例:
fmt = "姓名: %s, 年龄: %d, 至今..."
n = "weimingze"
a = 35
print(fmt % (n, a))
格式化字符串中的占位符的类型码
%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 小数型浮点和指数浮点自动转换
%% 等同于一个%字符
占位符 % 和类型码之间的格式语法:
- 号左对齐
+ 显示正号
0 补零
宽度
宽度.精度
示例:
"%d" % 123 # '123'
"%10d" % 123 # ' 123'
"%-10d" % 123 # '123 '
"%010d" % 123 # '0000000123'
"%f" % 3.1415926535
"%7.3f" % 3.1415926535