【自学Python】字符串02

字符串02

去除留白

>>> "    左侧去除留白".lstrip()
'左侧去除留白'
>>> "右侧去除留白    ".rstrip()
'右侧去除留白'
>>> "    左右不要留白    ".strip()
'左右不要留白'

去除char字符

>>> "www.google.com".lstrip("wcom")
'.google.com'
>>> "www.google.com".lstrip(".wcom")
'google.com'
>>> "www.google.com".rstrip(".wcom")
'www.google'
>>> "www.google.com".strip(".wcom")
'google'
"strip只去除括号内有的字符"

删除头尾特定字符

>>> "www.google.com".removeprefix("www.")
'google.com'
>>> "www.google.com".removesuffix(".com")
'www.google'

拆分&拼接
拆分特定标志符前后文本

>>> "www.google.com".partition(".")
('www', '.', 'google.com')
>>> 'www.google.com/python'.rpartition('/')
('www.google.com', '/', 'python')
>>> 

将文本拆分

>>> "人之初,性本善,性相近,习相远".split()
['人之初,性本善,性相近,习相远']
>>> "人之初,性本善,性相近,习相远".split(",")
['人之初', '性本善', '性相近', '习相远']
>>> "人之初,性本善,性相近,习相远".split(",",1)
['人之初', '性本善,性相近,习相远']
>>> "人之初,性本善,性相近,习相远".rsplit(",",1)
['人之初,性本善,性相近', '习相远']

将文本按行拆分

>>> "人之初,/n性本善,/n性相近,/n习相远".splitlines()
['人之初,/n性本善,/n性相近,/n习相远']
>>> "人之初,\n性本善,\n性相近,\n习相远".splitlines()
['人之初,', '性本善,', '性相近,', '习相远']
>>> "人之初,\r性本善,\r性相近,\r习相远".splitlines()
['人之初,', '性本善,', '性相近,', '习相远']

拼接

>>> ".".join(['www','google','com'])
'www.google.com'
>>> '+'.join(('i','Love','U'))
'i+Love+U'

两种方法进行复制相同文字

>>> s='I Love U!'
>>> s+=s
>>> s
'I Love U!I Love U!'
>>> "".join(('I Love U!',"I Love U!"))
'I Love U!I Love U!'
"用加法的效率不如用join函数的高"

拼接

>>> year=1997
>>>> "我的出生年月是{}".format(year)
'我的出生年月是1997'
>>> "1+1={},2*2={},3*3*3={}".format(1+1,2*2,3*3*3)
'1+1=2,2*2=4,3*3*3=27'
>>> "{}看到{}很激动".format("vookii","小姐姐")
'vookii看到小姐姐很激动'
>>> "{1}看到{0}很激动".format("vookii","小姐姐")
'小姐姐看到vookii很激动'
>>> "{0}{0}{1}{1}".format("是","非")
'是是非非'
'我是渣渣辉,师兄弟就砍我'
>>> "我是{name},是兄弟就{act}".format(name="渣渣辉",act="砍我")
'我是渣渣辉,是兄弟就砍我'
"如何输出{}"
>>> "{},{},{}".format('1','{}','3')
'1,{},3'
>>> "{},{{}},{}".format('1','3')
'1,{},3'
>>> 
含义
‘<’强制字符串在可用空间内左对齐(默认)
‘>’强制字符串在可用空间内右对齐
‘=’强制将填充防止在符号(如果有)之后但在数字之前的位置(这适用于以“+000000120”的形式打印字符串)
‘^’强制字符串在可用空间内居中
>>> "{:^}".format(123)
'123'
>>> "{:^10}".format(123)
'   123    '
>>> "{1:>10}{0:<10}".format(520,250)
'       250520       '
>>> "{left:>10}{right:<15}".format(right=520,left=250)
'       250520            '
>>> "{:010}".format(521)
'0000000521'
>>> "{:010}".format(-521)
'-000000521'
>>> "{1:%>10}{0:%<10}".format(520,250)
'%%%%%%%250520%%%%%%%'
>>> "{:0=10}".format(520)
'0000000520'

格式化字符串

含义
‘+’正数在前面添加正号(+),负数在前面添加负号(-)
‘-’只有负数在前面添加符号(-),默认行为
空格正数在前面添加一个空格,负数在前面添加负号(-)
>>> "添加正负号"
>>> "{:+} {:-}".format(520,-250)
'+520 -250'
>>>> "设置千分位"
'设置千分位'
>>> "{:,}".format(123456)
>>>> "{:_}".format(123456)
'123_456'

1.对于[type]设置为‘f’,‘F’的浮点数来说,是限定小数点后显示多少个数位;
2.对于[type]设置为‘g’或’G’的浮点数来说,是限定小数点前后一共显示多少个数位;
3.对于非数字类型来说,限定的是最大字段的大小;
4.对于整数类型来说,则不允许使用[.precision]选项。

>>> "{:.2f}".format(3.1415)
'3.14'
>>> "{:.2g}".format(3.1415)
'3.1'
>>> "{:.6}".format("I Love Python")
'I Love'
"对于非数字类型来说,限定的是最大字段的大小"
>>> "{:.2}".format(520)
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    "{:.2}".format(520)
ValueError: Precision not allowed in integer format specifier
"对于整数类型来说,则不允许使用[.precision]选项"
含义
‘b’将参数以二进制的形式输出
‘c’将参数以Unicode字符的形式输出
‘d’将参数以十进制的形式输出
‘o’将参数以八进制的形式输出
‘x’或‘X’将参数以十六进制的形式输出
‘n’跟‘d’类似,不同之处在于它会使用当前语言环境设置的分隔符插入到恰当的位置
None跟‘d’一样
>>> "{:b}".format(80)
'1010000'
>>> "{:c}".format(80)
'P'
>>> "{:d}".format(80)
'80'
>>> "{:o}".format(80)
'120'
>>> "{:x}".format(80)
'50'
"前面加#提示输入字符进制"
>>> "{:#b}".format(80)
'0b1010000'
>>> "{:#d}".format(80)
'80'
>>> "{:#o}".format(80)
'0o120'
>>> "{:#x}".format(80)
'0x50'
含义
‘e’或‘E’将参数以科学计数法的形式输出(以字母‘e’来标示指数,默认精度为6)
‘f’或‘F’将参数以定点表示法的形式输出(‘不是数’用‘nan’标示,无穷用‘inf’标示,默认精度为6)
‘g’或‘G’通用格式,小数以‘f’形式输出,大数用‘e’的形式输出
‘n’跟‘g’类似,不同之处在于他会使用当前语言环境设置的分隔符插入到恰当的位置
‘%’以百分比的形式输出(将数字乘以100并显示为定点表示法的形式,后面附带一个百分号)
None类似于‘g’,不同之处在于当使用定点表示法时,小数点后面将至少显示一位,默认精度与给定值所需精度一致
>>> "{:e}".format(3.1415)
'3.141500e+00'
>>> "{:f}".format(3.1415)
'3.141500'
>>> "{:g}".format(123456789)
'1.23457e+08'
>>> "{:g}".format(1234.56789)
'1234.57'
>>> "{:%}".format(0.85)
'85.000000%'
>>> "{:.2%}".format(0.85)
'85.00%'
>>> "{:.{gjz}%}".format(0.85,gjz=2)
'85.00%'

f-字符串

>>> year=1997
>>> f"我的出生年份是{year}"
'我的出生年份是1997'
>>> f"1+1={1+1},2*2={2*2},3*3*3={3*3*3}"
'1+1=2,2*2=4,3*3*3=27'
>>> f"{-520:010}"
'-000000520'
>>> f"{123456789:,}"
'123,456,789'
>>> f"{3.1415:.2f}"
'3.14'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值