Python 字符串用法总结
一、将某个对象转换为字符串,有str()和repr()两种方法
区别:
repr() 转化为供解释器读取的形式
str() 转化为适于人阅读的形式
a = 123456
print('repr输出:', repr(a))
print('str输出:', str(a)) b = "Hello,\nworld"
print('repr输出:', repr(b))
print('str输出:', str(b))
运行结果:
repr输出: 123456
str输出: 123456
repr输出: 'Hello,\nworld'
str输出: Hello,
world
二、长字符串跨行
可以用下面几种方式
1、字符串用三引号'''、或三个双引号"""括起来
a = '''Hello,
world'''
print(a)
运行结果:
Hello,
world
2、行尾加上反斜杠 \,运行结果和上面区别是字符串不换行
b = "Hello,\
world"
print(b)
运行结果:
Hello,world
如果要指定以反斜杠结尾,需要再加2个反斜杠 \
b = "Hello,\\\
world"
print(b)
运行结果:
Hello,\world
三、原始字符串,前缀加上r
print('c:\now')
print(r'c:\now')
运行结果如下,原始字符串会原样输出:
c:
ow
c:\now
原始字符串不能以单个反斜杠 \结尾,如果要指定以反斜杠结尾,可以将反斜杠单独作为作为一个字符串
print(r'c:\now''\\')
运行结果:
c:\now\
四、字符串的格式化
1、用百分比符号 % 表示,在%左边指定一个字符串,在%右边指定要设置格式的值。
指定要设置其格式的值(如字符串或数字)时,可使用单个值,也可使用元组、字典。
常用的几个格式化符号:
%s 格式化字符串
%d 格式化整数
%f 格式化浮点数字,可指定小数点后的精度
print("Hello,%s" % "world") format = "%d %f %.2f"
values = (2019, 2010, 2011)
result = format % values #这里的%两旁也可以不留空格
print(result)
运行结果:
Hello,world
2019 2010.000000 2011.00
2、模板字符串格式化,使用关键字参数赋值
from string import Template tmpl = Template("Hello, $who!$year")
print(tmpl.substitute(who="world",year=2019))
运行结果:
Hello, world!2019
3、变量与替换字段同名,可使用简写,在字符串前面加上f
h = "Hello"
w = "world"
print(f"{h},{w}")
运行结果:
Hello,worlds
4、使用字符串方法format,每个替换字符用花括号{}表示
4.1精简版
(1)未命名字段,直接花括号
a = "{},{}".format("Hello","world")
print(a)
运行结果:
Hello,world
(2)索引
a = "{1},{0}, {1}".format("Hello","world")
print(a)
运行结果:
world,Hello, world
(3)命名字段
a = "{h},{w}".format(h="Hello", w="world")
print(a)
运行结果:
Hello,world
4.2完整版
完整版的格式化字符串中,替换字段由如下部分组成,其中每个部分都是可选的。
☐字段名:索引或标识符
☐转换标志:跟在叹号 ! 后面的单个字符。当前支持的字符包括r(repr)、s(str)和a(ascii)
☐格式说明符:跟在冒号 : 后面的表达式。可指定格式类型(如字符串、浮点数或十六进制数)字段宽度和数的精
度如何显示符号和千位分隔符,以及各种对齐和填充方式。
(1)字段名
可同时混合使用未命名字段、命名字段,或者索引、命名字段
a = "{},{w}".format("Hello",w="world")
print(a)
b = "{0},{w}".format("Hello",w="world")
print(b)
运行结果:
Hello,world
Hello,world
但不能同时混合使用未命名字段、索引。像下面代码会出错。
c = "{0},{}".format("Hello","world")
(2)转换标志
print("{pi!s} {pi!r} {pi!a}".format(pi = "π"))
运行结果:
π 'π' '\u03c0'
(3)格式说明符
(a)指定值转换为某种类型
a = "Hello,{w:s},{y:d},{y:f},{y:.2f},{y:b},{y:%}".format(w="world", y=2019)
print(a)
运行结果:
Hello,world,2019,2019.000000,2019.00,11111100011,201900.000000%
一些类型说明符:
s 字符串格式,这是默认用于字符串的说明符
d 整数格式,这是整数默认使用的说明符
f 浮点数,默认6位小数,可在前面加.数字表示保留多少位小数
b 将整数表示为二进制数
% 将数表示为百分比值(乘以100,按说明符f设置格式,再在后面加%)
(b)设置宽度
■字符串在右边填充空格,数字则在左边填充空格;
print("{h:10},world".format(h="hello"))
print("{y:10}end".format(y=2019))
运行结果:
hello ,world
2019end
■可同时指定宽度和精度;
print("{y:10.2f}end".format(y=2019))
运行结果:
2019.00end
■指定宽度的数前面可以添加一个标志,可以指定零、加号、减号、空格,其中0是填满。
print("{:010.2f}".format(2019))
运行结果:
0002019.00
(c)对齐说明符:指定左对齐、右对齐和居中,可分别使用<、>和^
对齐说明符默认是用空格填充,可在对齐符号前面用指定字符来填充
print("{0:<10.2f}\n{0:^10.2f}\n{0:>10.2f}\n{0:->10.2f}".format(2019))
运行结果:
2019.00
2019.00
2019.00
---2019.00
(d)为数字加上符号,使用说明符+
print("{}\n{:+}\n{:+}".format(2019,2019, -2019))
运行结果:
2019
+2019
-2019
(e)井号符 :对于二进制、八进制、十六进制将加上前缀,对于十进制,加上小数点。
print("{0:b},{0:o},{0:x},{0:d}".format(10))
print("{0:#b},{0:#o},{0:#x},{0:#d}".format(10))
运行结果:
1010,12,a,10
0b1010,0o12,0xa,10
(f)千分比分隔符:用逗号分隔
a = "{:,}".format(123456789)
print(a)
运行结果:
123,456,789
五、字符串方法列表
方法 | 描述 |
---|---|
把字符串的第一个字符大写 |
|
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串 |
|
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 |
|
以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace' |
|
以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace' |
|
检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False. |
|
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。 |
|
检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 |
|
格式化字符串 |
|
跟find()方法一样,只不过如果str不在 string中会报一个异常. |
|
如果 string 至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False |
|
如果 string 至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False |
|
如果 string 只包含十进制数字则返回 True 否则返回 False. |
|
如果 string 只包含数字则返回 True 否则返回 False. |
|
如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False |
|
如果 string 中只包含数字字符,则返回 True,否则返回 False |
|
如果 string 中只包含空格,则返回 True,否则返回 False. |
|
如果 string 是标题化的(见 title())则返回 True,否则返回 False |
|
如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False |
|
以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 |
|
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串 |
|
转换 string 中所有大写字符为小写. |
|
截掉 string 左边的空格 |
|
maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 |
|
返回字符串 str 中最大的字母。 |
|
返回字符串 str 中最小的字母。 |
|
有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string. |
|
把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次. |
|
类似于 find()函数,不过是从右边开始查找. |
|
类似于 index(),不过是从右边开始. |
|
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串 |
|
类似于 partition()函数,不过是从右边开始查找 |
|
删除 string 字符串末尾的空格. |
|
以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串 |
|
按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。 |
|
检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查. |
|
在 string 上执行 lstrip()和 rstrip() |
|
翻转 string 中的大小写 |
|
返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle()) |
|
根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 del 参数中 |
|
转换 string 中的小写字母为大写 |
|
返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0 |
Python 字符串用法总结的更多相关文章
- python字符串用法
一,数据类型的转换 1常用的数据类型有int,str,bool三种; int是整型:一般的操作是查找数据的二进制长度bit_length() 一般数据有: 1)二进制:逢二进一 2)十进制,(0-9) ...
- python字符串-内置方法用法分析
1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本
- Python 字符串
Python访问字符串中的值 Python不支持单字符类型,单字符也在Python也是作为一个字符串使用. Python访问子字符串,可以使用方括号来截取字符串,如下实例: #!/usr/bin/py ...
- Python 字符串处理大全.
Python 字符串 字符串是Pyhton中常用的数据类型,我们可以使用引号来创建字符串 . 创建字符串很简单 , 就不说了 . Python 访问字符串中的值 鬼叔本着简洁 使用的设计目的 , 在设 ...
- [转] 强大的python字符串解析
1.python字符串通常有单引号('...').双引号("...").三引号("""...""")或('''...'' ...
- python 字符串探讨
本文内容基于python3 几乎所有有用的程序都会涉及到某些文本处理,不管是解析数据还是产生输出.字符串的学习是重点中的重点,这一节将重点关注文本的操作处理,比如提取字符串,搜索,替换以及解析等.大部 ...
- Python高级用法总结
Python很棒,它有很多高级用法值得细细思索,学习使用.本文将根据日常使用,总结介绍Python的一组高级特性,包括:列表推导式.迭代器和生成器.装饰器. 列表推导(list comprehensi ...
- python argparse用法总结
转:python argparse用法总结 1. argparse介绍 argparse是python的一个命令行解析包,非常适合用来编写可读性非常好的程序. 2. 基本用法 prog.py是我在li ...
- python字符串处理以及字符串格式化
一.python字符串处理 目录: 1.算长度(len),某个元素出现的次数(count) 2.切片 [ ],repr:把不可见字符显示出来 3.查找 #find,rfind从右边查找 4.字符串 ...
随机推荐
- fiddler抓包syntaxview窗口乱码
只需再fiddler界面GO往右第二个Decode点击一下,让他出现蓝色边框即可 注意:抓取前的他不会进行自动解码,要再重新刷新页面才能获取界面后的内容
- Oracle merge into的优势
简介 Oracle merge into命令,顾名思义就是“有则更新,无则插入”,这个也是merge into 命令的核心思想,在实际开发过程中,我们会经常遇到这种通过两表互相关联匹配更新其中一个表的 ...
- 简约工作汇报总结演讲辩论创业投资PPT模板
不管是什么风格的PPT模板,排版布局条例清新,画面干净,也会跟文字内容相辅相成,完成一个好的学生答辩PPT. 模版来源:http://ppt.dede58.com/gongzuohuibao/262 ...
- WebGL-3D地图大俯仰角的雾化处理
腾讯位置服务Javascript API GL版,是基于WebGL技术打造的地图API库,使得浏览器环境下也可实现APP端的应用体验,提供2D/3D模式,运行流畅.当前版本提供地图展示.标记.信息窗口 ...
- 对于写Java的博文
其实我是有过想要自己总结java相关的知识点给大家分享,但我的Java并不很好,大多数情况我只是拿Java当工具,写一些自己所需一些简单的东西,因此,大多数碰到我不懂的Java问题时,我也是上博客园, ...
- Doxygen程序注释转换说明文档
Doxygen使用 https://www.jianshu.com/p/9464eca6aefe
- bay——巡检RAC操作.txt
Oracle Cluster Software 包括下列组件:Event Management (EVM)Cluster Synchronization Services (CSS)Cluster R ...
- pjd-fstest The test suite checks POSIX compliance - 测试文件系统posix 接口兼容性
pjd-fstest: 参考网址:https://www.tuxera.com/community/posix-test-suite/ fstest是一套简化版的文件系统POSIX兼容性测试套件,它可 ...
- Java学习笔记(5)--- Number类和Math 类,String类的应用,Java数组入门
1.Number 和 Math 类: 在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型(int,double,float这些)的情形. 这种由编译器特别支持的包装称为装箱,所以当内置数 ...
- 《数据挖掘导论》实验课——实验一、数据处理之Numpy
实验一.数据处理之Numpy 一.实验目的 1. 了解numpy库的基本功能 2. 掌握Numpy库的对数组的操作与运算 二.实验工具: 1. Anaconda 2. Numpy 三.Numpy简介 ...