(5)字符串

 一、字符串格式化

指定要设置其格式的值时,可使用单个
值(如字符串或数字),可使用元组(如果要设置多个值的格式),还可使用字典

最常用的是元组

方法1:使用类似C语言的格式化

%s是转换说明符, s代表字符串,如果值不是字符串,将会把其转成字符串

>>> format="hello, %s ni %s"
>>> values=('world','hao')
>>> format%values
'hello, world ni hao'

%.3f的意思是包含三位小数的浮点数,多于三位将舍去

>>> a='%.3f'
>>> b=1.888
>>> a%b
'1.888'
>>> c='%.3f'
>>> d=1.8888
>>> a%b
'1.888'

 方法二:模板字符串。类似于UNIX shell的语法

>>> from string import Template
>>> str1 = Template("Hello, $who ni $what ?")
>>> str1.substitute(who="ni", what="hao")
'Hello, ni ni hao ?'

 方法三:现在最常用的方法,使用字符串方法format

需要按顺序

>>> "Hello,{} ni {}".format("world","hao")
'Hello,world ni hao'

无需按顺序

>>> "Hello,{1} ni {0}".format("hao","world")
'Hello,world ni hao'

 自定义

扫描二维码关注公众号,回复: 5139511 查看本文章
>>> "{name} is {value:.2f}.".format(value=1.666, name="wide")
'wide is 1.67.'

方法四:快捷方法

直接输出变量名

>>> a=30
>>> f"wide is {a}"
'wide is 30'

二、字符串常用方法

常用方法

 1.center()

 在字符串两端添加字符,一个参数时,默认添加空格。参数1是总的长度,为单数时优先在字符串左侧添加。

参数2指定要填充的字符(只能是一个字符)

>>> 'ni hao'.center(20,'*')
'*******ni hao*******'

2、find方法

>>> 'haabcmenabc '.find('abc')
2

如果找到返回子串所在位置的最左端索引,如果未找到返回-1

 3、join方法

>>> str1 = ['1', '2', '3', '4', '5']
>>> str2='a'
>>> str2.join(str1)
'1a2a3a4a5'

用str2把str1连接起来,str1和str2必须都是字符串

 4.lower ()

变成小写

>>> 'AbC'.lower()
'abc'

5.replace()

方法replace将指定子串都替换为另一个字符串,并返回替换后的结果

>>> 'This is a test'.replace('is', 'eez')
'Theez eez a test'

6.split ()

其作用与join相反,用于将字符串拆分为序列

如果没有指定分隔符,将默认在单个或多个连续的空白字符(空格、制表符、换行符
等)处进行拆分

>>> '1+2+3+4+5'.split('+')
['1', '2', '3', '4', '5']
>>> '/usr/bin/env'.split('/')
['', 'usr', 'bin', 'env']
>>> 'Using the default'.split()
['Using', 'the', 'default']

7.strip()

方法strip将字符串开头和末尾的空白(但不包括中间的空白)删除,并返回删除后的结果。

>>> '  abc  '.strip()
'abc'

 

截取字符串print str[0:3] #截取第一位到第三位的字符

print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取,具体啥意思没搞明白?


字节串



猜你喜欢

转载自www.cnblogs.com/buchizaodian/p/6828166.html