python基础 - 字符串作
split(sep=None, maxsplip=-1)
从左到右
sep 指定分隔字符串,缺省情况下空白字符串,指定的字符串会被切掉
maxsplit 指定分隔次数,-1 表示遍历
rsplit(sep=None, maxsplit=-1)
从右到左
...
splitlines([keepends])
按照行来分隔字符串
keepends 指的是是否保留行分隔符
行分隔符包括 \n, \r\n, \r 等
partition(sep)
从左到右,遇到分隔符就把字符串分割成两个部分,返回头,分隔符,尾三部分的三元组,如果没有找到分隔符,就返回头,两个空元素的三元组。
sep 必须指定。
rpartition(seq)
从右到左
字符串大小写
upper(): 全大写
lower(): 全小写
swapcase(): 交互大小写
字符串排版
title(): 标题的每个单词都大写
capitalize: 首个单词大写
center(width [,fillchar]): width 打印宽度,fillchar: 填充的字符
zfill(width): width 打印宽度,居右,左边用0填充
ljust(width[,fillchar]): 左对齐
rjust(width[,fillchar]): 右对齐
字符串修改
replace(old, new[,count]):
找到匹配字符串换为新串,count指定替换几次,不指定全部替换。
strip([chars]):
从字符串两端去除chars中字符,没有指定chars去除两端空格
字符串查找
find(sub[,start[,end]]):
在指定区间 [start, end],从左到右,查找子串 sub 。找到返回索引,没有返回 -1
rfind(sub[,start[,end]])
从右到左
index(sub[,start[,end]])
在指定区间[start, end],从左至右,查找子串sub。找到返回索引,没有找到抛出异常ValueError
count(sub[,start[,end]])
在指定区间 [start, end], 从左到右,统计子串 sub 出现的次数。
字符串判断
endswith(suffix[,start[,end]]):
在指定区间 [start, end],字符串是否是 suffix 结尾,返回 bool
startswith(prefix[,start[,end]]):
在指定区间 [start, end], 字符串是否是 prefix 开头, 返回 bool
is 系列
isalnum(): 是否是字母和数字组成
isalpha(): 是否是字母
isdecimal(): 是否只包含十进制数字
isdigit(): 是否全部数字(0-9)
islower(): 是否全都是小写
isupper(): 是否全部大写
isspace(): 是否只包含空白字符
字符串格式化
printf-style formatting
"I'm %03"%(20)
"I like %s"%'Python'
"I am %-5d"%(20)
format 函数格式字符串语法
"{} {xxx}".format(*args,**kwargs)
# args 是位置参数,是一个元组
# kwargs 是关键字参数,是一个字典
# 花括号表示占位符
# {} 表示按顺序匹配位置参数,{n}
# 表示取位置参数索引为n的值
# {xxx} 表示在关键字参数中搜索名称一致的
# {{}} 表示打印花括号
# 位置参数
"{},{}".format('1111',8888) # 这就是按照位置顺序用位置参数替换前面的格式字符串的占位符中
# 关键字参数或命名参数
"{server}{1}:{0}",format(8888,'192.168.0.1',server='Web Server Info')
# 访问元素
"{0[0]}.{0[1]}".format(('magedu','com'))
# 对象属性访问
Point = namedtuple('Point','x y')
p = Point(3,5)
"{{{0.x},{0.y}}}".format(p)
'{0}*{1}={2:>2}'.format(3,2,2*3) # 3*2=06
'{:>}' # 右对齐
'{:<}' # 左对齐
'{:^30}'.format('centered') # ^ 居中
'{:*^30}'.format('centered') # 居中并以 * 填充
进制
'int:{0:d};hex:{0:x};oct:{0:o};bin:{0:b}'.format(42)
'int:{0:d};hex:{0:#x};oct:(0:#o);bin:{0:#b}'.format(42) # 会显示进制符号
octets = [192,168,0,1]
'{:02X}{:02X}{:02X}{:02x}'.format(*octets) # * 表示解构