python字符组合更强大

93 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情

前言

  • 字符串在程序中永远是使用最频繁的一个,没有之一,所以大多数语言都会将字符串设置为不可修改,也就是每次新字符都是重新在内存中开辟存储的。

拼接

  • 除了截取以外,拼接应该也是很常用的功能了,和Java一样我们通过+进行两个甚至是多个字符的拼接。
  • 除了常规的+号以外,我们python还提供了其他几个新花样来操作
操作
print("hello zxhtom {}".format('world'))通过格式化占位符的方式进行字符拼接
'tom'*2 输出结果:tomtom重复输出字符串
  • 除了上面的格式化,重复以外还有一种方式也是占位操作来实现的字符串的拼接。%s或者%d的方式
  • %s%d 占位 ,比如说: print('Hello world everyone and %s'%'tom') 最终输出的为Hello world everyone and tom
  • 那么你可能会说如果我们很多个占位呢?
names=('zhangsan','lisi','wangwu')
for item in names:
    print(item)
print('hello i am %s;hello i am %s ; hello i am %s'%names)
  • 这样你在试试就会输出 hello i am zhangsan;hello i am lisi ; hello i am wangwu
  • 除了 %s 还有那个格式快捷键呢?
格式作用
%s通过str()字符串转换来格式化
%u无符号的十进制整数
%d有符号的十进制整数
%o八进制整数
%x十六进制整数,小写字母
%X十六进制整数,大写字母
%e浮点数字(科学计数法)
%E浮点数字(科学计数法,用E代替e)
%f浮点实数
%g浮点数字(根据值的大小采用%e或%f)
%G浮点数字(类似于%g)

总结

  • 殊符号f 在Python还有一种非常有意思的写法,就是在字符串前面加上特定字母,就可以实现一些功能,如加上r 取消转义符号的效果,加上 f 进行字符串格式化。

s1 = '博士' s2 = 30 print(f'小红是一个{s1},刚毕业就获得了一个年薪{s2}万的工作。')

小红是一个博士,刚毕业就获得了一个年薪30万的工作。

1 2 3 4 f 和 format 方法有点相似,也是挖坑,但是 f 是现挖现填,相比 format 来说更不容易填错坑。

5、总结 Python中实现对字符串拼接的四种方法:

  • 或者 * 运算符来实现拼接。 format 方法来进行格式化填空,但是空可以少,值不能少,要确保每个空都会有一个对应的值。 通过百分号来进行字符串格式化拼接,和 format 不一样的是,百分号是有几个空,就填几个值,值不能多,也不能少。