热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python里format的.2f用单引号_盘点Python中字符串的常用操作

在Python中字符串的表达方式有四种一对单引号一对双引号一对三个单引号一对三个双引号aabcbabccabcdabcprint(type(a))#print(ty

在Python中字符串的表达方式有四种一对单引号

一对双引号

一对三个单引号

一对三个双引号a = 'abc'

b= "abc"

c = '''abc'''

d = """abc"""

print(type(a)) # 

print(type(b)) # 

print(type(c)) # 

print(type(d)) # 

单双引号混合使用a = "LiMing say 'nice to meet you'"

同样也可以通过转义的方式不用在里面写双引号a = "LiMing say \"nice to meet you\""

print(a)

总结就是需要外面用了双引号,里面需要引用的语句可以用单引号括起来,反之亦然。

通常情况根据个人喜好,基本都是使用单引号或者双引号。有些特殊情况,比如需要表示多行时,可以选择三个单(双)引号,并且无序用\进行转移,可直接使用单引号和双引号。a = '''

My Name is 阿亮,

Let's say 'Hello'

'''

print(a)

字符串的下标和切换

下标:字符串是一个个字符拼接而成,下标可以理解为每个字符的编号,从0开始依次类推。

作用:通过下标去操作字符串中的元素# H的下标为0, e的下标为1 ..依次类推

a = 'HelloWorld'

# 获取字符串a中下标为4的元素

print(a[4])  # o  下标为4的元素为o

修改字符串中的元素是不是可以直接赋值呢?例如:a = 'HelloWorld'

a[4] = 'k'

print(a)

上面的代码运行之后发现报错。TypeError: 'str' object does not support item assignment

原因是因为: 字符串一旦创建之后,里面的元素是不可以修改的。

所以字符串是无法直接进行修改的。

字符串运算

字符串运算中用到了+ 、*、>、

字符串的相加操作,也可以理解为拼接操作。例如:a = 'Hello' + ' World'

print(a) # Hello World

# 也可以写成

a = 'Hello' ' World'

print(a) # Hello World

字符串的乘法操作, 可以理解为克隆操作,字符串只能与整数(n)想乘,代表克隆n个字符串。a = 'a'

print(a * 2) # aa

b = '-'

print(b * 10) # ----------

切片

字符串的切片也称为字符串截取。所有操作都是通过字符串的下标进行操作的。

用法:字符串[开始索引(start):结束索引(end):步长(step)(默认1)]

步长(step):每隔(step-1)个取一个元素,当step为负数时,代表从右向左取元素,a = 'abcdefghijklmn'

# 从下标1开始 到4结束 进行切片  (包括1,不包括4,即左开又闭)

print(a[1:4]) # bcd

print(a[1:8]) # bcdefgh

print(a[1:8:2])# 步长为2, 结果:bdfh

# 当补偿为负数时,代表逆向截取。 初始从坐标8开始,每隔一个元素取一个值,到下标为1时结束

print(a[8:1:-2]) # igec

字符串的常用操作

这里以代码+注释的方式,展示几个常用的字符串操作。a = ' Hello World '

# 获取字符串的长度

print(len(a)) # 13

# 删除字符串两边的空格

print(a.strip()) # Hello World

# 删除左边的空格

print(a.lstrip()) # Hello World (只删除左边的空格)

# 删除字符串右边的空格

print(a.rstrip()) #  Hello World

# 通过指定连接符 链接字符串

lst = ['LiMing', 'Tom']

print('***'.join(lst)) # LiMing***Tom

# 首字母大写

m = 'hello world'

print(m.capitalize()) # Hello world

# 返回标题化字符串,即每个单词首字母大写

print(m.title()) # Hello World

# 打印输出字符,将字符串放在中间,

# center(width, fillchar)   width: 字符串的总长度, fillchar:填充字符

print(a.center(20, '*')) # *** Hello World ****

# 是否以xxx开头

n = 'Hello'

print(n.startswith('H')) # True

# 是否以xxx结尾

print(n.endswith('o')) # True

# 字符串是全纯英文字符

print(a.isalpha()) # False , 因为字符串a中 ' Hello World ' 有空格,因此返回False

print('HelloWorld'.isalpha()) #True

# 判断字符串中是否全部为数字或者英文

print('Hello2World'.isalnum()) # True

print('123'.isalnum()) # True

print('abc&11'.isalnum()) # False

# 判断是否为整数

print('123'.isdigit()) # True

print('1.23'.isdigit()) # False

# 判断字符是否全为小写

print('abc'.islower()) # True

# 判断字符是否全为大写

print('Abc'.isupper()) # False

print('ABC'.isupper()) # True

# 字符串小写转大写

print('abc'.upper()) # ABC

# 字符串大写转小写

print('ABC'.lower()) # abc

# 字符串的替换

b = 'aabbcc'.replace('a', 'm')

print(b) # mmbbcc

#  1 代表替换的个数

b = 'aabbcc'.replace('a', 'm', 1)

print(b) # mabbcc

# split 字符串切割,默认空格切割

print('aa bb cc'.split()) # ['aa', 'bb', 'cc']

print('ab,cd,ef'.split(',')) # ['ab', 'cd', 'ef']

# 字符串换行分割

a = """

My Name is 'Python极客专栏',

欢迎关注

"""

print(a.splitlines()) # ['', "    My Name is 'Python极客专栏',", '    欢迎关注', '    ']

字符串的查找

字符串查找常用的方法用index、find

两者功能相似,区别在于find查找不到元素时返回 -1, 不会影响程序运行,而index则会抛出异常。a = 'abcdef'

# 查找到元素返回对应的下标

print(a.find('c')) # 2

print(a.find('h')) # -1

print(a.index('c')) # 2

print(a.index('h')) # 抛出异常,ValueError: substring not found

rfind: 类似于find()函数,不过是从右边开始查找;返回字符串最后一次出现的位置,如果没有匹配项则返回-1 。rindex 同理a = 'acmncd'

# 从右边开始计算,返回第一个匹配到的下标

print(a.rfind('c')) # 4

print(a.rindex('c')) # 4

字符串的格式化name = 'Python极客专栏'

# %s 用于输出字符串

print('我的公众号是: %s' % name)

age = 18

# %d 用于输出十进制数字

print('我的年龄是:%d' % age)

money = 1.23

# %f 浮点数,默认显示小数点后6位

print('我身上有:%f 元' % money )

# 指定小数点后的位数

print('我身上有:%.2f 元' % money )

format操作

除了使用 % 进行格式化,也可以使用formatprint('{} {}'.format('Hello', 'World')) # Hello World

print('{0} {1}'.format('Hello', 'World')) # Hello World

print('公众号{name}, 分享{code} 技术'.format(name='Python极客专栏', code='Python')) # 公众号Python极客专栏, 分享Python 技术

print('{1}, {0}, {1}'.format('A', 'B')) #B, A, B

print('今年是 {}年.'.format(2020)) # 今年是 2020年.

最后还是希望你们能给我点一波小小的赞或者在看~

如有文章对你有帮助,

“在看”和转发是对我最大的支持!

关注Python极客专栏



推荐阅读
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 摘要: 在测试数据中,生成中文姓名是一个常见的需求。本文介绍了使用C#编写的随机生成中文姓名的方法,并分享了相关代码。作者欢迎读者提出意见和建议。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 总结一下C中string的操作,来自〈CPrimer〉第四版。1.string对象的定义和初始化:strings1;空串strings2(s1);将s2初始 ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
  • 目录4.1.type数据类型检测 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
  • 本文介绍了使用C++Builder实现获取USB优盘序列号的方法,包括相关的代码和说明。通过该方法,可以获取指定盘符的USB优盘序列号,并将其存放在缓冲中。该方法可以在Windows系统中有效地获取USB优盘序列号,并且适用于C++Builder开发环境。 ... [详细]
  • 本文整理了Java中org.apache.solr.common.SolrDocument.setField()方法的一些代码示例,展示了SolrDocum ... [详细]
  • 利用空间换时间减少时间复杂度以及以C语言字符串处理为例减少空间复杂度
    在处理字符串的过程当中,通常情况下都会逐个遍历整个字符串数组,在多个字符串的处理中,处理不同,时间复杂度不同,这里通过利用空间换时间等不同方法,以字符串处理为例来讨论几种情况:1: ... [详细]
  • 求数组中字符串的最长公共前缀(Java)
    求数组中字符串的最长公共前缀(牛客网—牛客题霸算法篇—NC55)题目描述给你一个大小为n的字符串数组strs,其中包含n个字符串,编写一个函数来查找字符串数组中的最长公共前缀,返回 ... [详细]
  • mysql  GROUP_CONCAT获取分组的前几名
    如果是oracle应该很容易用Partition By实现。比如说要获取班级的前3名,就可以用GROUP_CONCAT+ GROUPBY + substring_index实现。考 ... [详细]
  • Birthdate ... [详细]
author-avatar
杜杜狼2602891895
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有