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) # * 表示解构

posted @ 2018-11-08 21:23  目标进大厂的柳乘风  阅读(222)  评论(0编辑  收藏  举报