• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
菩提叶子
博客园    首页    新随笔    联系   管理    订阅  订阅
python字符串操作方法

1、格式化

1)%号

# 1、格式的字符串(即%s)与被格式化的字符串(即传入的值)必须按照位置一一对应
#当需格式化的字符串过多时,位置极容易搞混
print('%s asked %s to do something' % ('lsj', 'lili'))  # lsj asked lili to do something
print('%s asked %s to do something' % ('lili', 'lsj'))  # lili asked lsj to do something

# 2、可以通过字典方式格式化,打破了位置带来的限制与困扰
print('我的名字是 %(name)s, 我的年龄是 %(age)s.' % {'name': 'lsj', 'age': 18})

kwargs={'name': 'lsj', 'age': 18}

2)format

2.1)使用位置传参

print('{} asked {} to do something'.format('lsj', 'lili'))

2.2)使用索引

print('{0}{0}{1}{0}'.format('x','y')) 

2.3)使用关键字参

1、如果格式化的字符串是由用户输入的,那么基于安全性考虑,推荐使用Template

2、如果使用的python3.6+版本的解释器,推荐使用f-Stings

3、如果要兼容python2.x版本的python解释器,推荐使用str.format

4、如果不是测试的代码,不推荐使用%

 

数或者字典

#关键字
print
('我的名字是 {name}, 我的年龄是 {age}.'.format(age=18, name='lsj'))
#字典
kwargs = {'name': 'lsj', 'age': 18}
print('我的名字是 {name}, 我的年龄是 {age}.'.format(**kwargs))

2.4)填充与格式化

# 先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]

# *<10:左对齐,总共10个字符,不够的用*号填充
print('{0:*<10}'.format('开始执行')) # 开始执行******

# *>10:右对齐,总共10个字符,不够的用*号填充
print('{0:*>10}'.format('开始执行')) # ******开始执行

# *^10:居中显示,总共10个字符,不够的用*号填充
print('{0:*^10}'.format('开始执行')) # ***开始执行***

2.5)精度与进度

print('{salary:.3f}'.format(salary=1232132.12351))  #精确到小数点后3位,四舍五入,结果为:1232132.124
print('{0:b}'.format(123))  # 转成二进制,结果为:1111011
print('{0:o}'.format(9))  # 转成八进制,结果为:11
print('{0:x}'.format(15))  # 转成十六进制,结果为:f
print('{0:,}'.format(99812939393931))  # 千分位格式化,结果为:99,812,939,393,931

3)f-Strings

#f-string是以f或F开头的字符串核心在于字符串中符号{}的使用
name = 'lsj'
age = 18
print(f'{name} {age}')  
print(F'{age} {name}') 

4)标准库模板

#从Python 2.4起,Python标准库string引入了Template也可以用来格式化字符串,所以说,与前三种方式的一个显著区别就是:Template并属于python语言的核心语法特征,使用方式如下
from string import Template

name='syj'
t = Template('Hello $name!')
res=t.substitute(name=name)

print(res) 

 使用格式化总结:

#1、如果格式化的字符串是由用户输入的,那么基于安全性考虑,推荐使用Template

#2、如果使用的python3.6+版本的解释器,推荐使用f-Stings

#3、如果要兼容python2.x版本的python解释器,推荐使用str.format

#4、如果不是测试的代码,不推荐使用%

2、count()用于统计字符串里某个字符或子字符串出现的次数

3、split()指定分隔符对字符串进行切片

4、join()将序列中的元素以指定的字符连接生成一个新的字符串

5、replace()把字符串中的 old(旧字符串) 替换成 new(新字符串)

6、strip(), 删除字符串开头和结尾的空格

7、lower()大写变小写

8、upper()小写变大写

9、capitalize()首字母大写

10、swapcase()大小写互换

11、center()居中

12、title() 每个用特殊字符或者数字隔开的单词首字母大写

13、find()查找,通过元素找索引,找到返回索引,找不到返回-1

14、index()查找,通过元素找索引,找到返回索引,找不到返回error

15、isalpha()判断是否由字母组成

16、isalnum() 检测字符串是否由字母和数字组成

17、isdigit()检测是否由数字组成

19、isspace()有除空格外的其他字符

string设计成不可变得数据好处

1、常量设置,节省内存
2、使用hashmap-key,通常使用时,使用不可变数据类型作为key,方便检索vules值
3、hashcode,创建对象后缓存,节省效率
4、线程安全

  

 

posted on 2022-10-24 19:37  菩提叶子  阅读(173)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3