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.字符串 ...
随机推荐
- SVN 回滚提交的代码
有的时候,代码提交错了,我们可以通过SVN回滚到指定的版本,然后在提交回滚后的代码,即为撤销提交. 回滚代码 重新提交刚才回滚后的代码
- word-break、word-wrap、white-space区别
<div id="box"> Hi , This is a incomprehensibilities long word. </br> 你好 , 这 ...
- SAP会计年度变式
会计年度变式用来确定SAP系统中每个公司的会计记账期间的变式.顾名思议,每个公司的会计年度变式必须与其实际使用的会计年度匹配. 在SAP系统中,每个会计年度最多允许有16个记账期间,其中 ...
- 【JDBC】C3P0连接池的使用
C3P0连接池的c3p0-config.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <c3p ...
- 流程控制语句if基本概述
目录 1. 流程控制语句if基本概述 2. 流程控制语句if文件比较 判断文件是否存在,返回方式 使用变量的方法进行判断 请输入你要备份的数据库名称: wordpress 请输入你要备份的数据库密码: ...
- Linux CentOS 6.5 卸载、tar安装MySQL
卸载系统自带MySQL 1. 查看系统当前是否安装有MySQL rpm -qa|grep -i mysql 2. 卸载当前版本的MySQL yum remove mysql mysql-server ...
- Pymysql的常见使用方法
cursor.fetchone()与cursor.fetchall()的区别: cursor.fetchone():只能显示一个数据 cursor.fetchall():才能显示查出来的所有数据 P ...
- java8-06-四大函数式接口
在使用lamdba表达式需要函数式接口的支持 java8已经提供了很多函数式接口 在java.util.function包下
- AcWing 801. 二进制中1的个数
网址 https://www.acwing.com/solution/AcWing/content/2066/ 题目描述给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数. 算法1主要 ...
- AFO!
\(update:2019-12-13\) 成绩已经出了,我的OI生涯也算是正式结束了.虽然成绩并不满意,但好在也是收获了一个省一(虽然我不一定用).总的来说,作为正式选手不到两年半的OI之路走得并不 ...