一、将某个对象转换为字符串,有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

五、字符串方法列表

方法 描述

string.capitalize()

把字符串的第一个字符大写

string.center(width)

返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

string.count(str, beg=0, end=len(string))

返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

string.decode(encoding='UTF-8', errors='strict')

以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace'

string.encode(encoding='UTF-8', errors='strict')

以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

string.endswith(obj, beg=0, end=len(string))

检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.

string.expandtabs(tabsize=8)

把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。

string.find(str, beg=0, end=len(string))

检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

string.format()

格式化字符串

string.index(str, beg=0, end=len(string))

跟find()方法一样,只不过如果str不在 string中会报一个异常.

string.isalnum()

如果 string 至少有一个字符并且所有字符都是字母或数字则返

回 True,否则返回 False

string.isalpha()

如果 string 至少有一个字符并且所有字符都是字母则返回 True,

否则返回 False

string.isdecimal()

如果 string 只包含十进制数字则返回 True 否则返回 False.

string.isdigit()

如果 string 只包含数字则返回 True 否则返回 False.

string.islower()

如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

string.isnumeric()

如果 string 中只包含数字字符,则返回 True,否则返回 False

string.isspace()

如果 string 中只包含空格,则返回 True,否则返回 False.

string.istitle()

如果 string 是标题化的(见 title())则返回 True,否则返回 False

string.isupper()

如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

string.join(seq)

以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

string.ljust(width)

返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

string.lower()

转换 string 中所有大写字符为小写.

string.lstrip()

截掉 string 左边的空格

string.maketrans(intab, outtab])

maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

max(str)

返回字符串 str 中最大的字母。

min(str)

返回字符串 str 中最小的字母。

string.partition(str)

有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.

string.replace(str1, str2,  num=string.count(str1))

把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.

string.rfind(str, beg=0,end=len(string) )

类似于 find()函数,不过是从右边开始查找.

string.rindex( str, beg=0,end=len(string))

类似于 index(),不过是从右边开始.

string.rjust(width)

返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

string.rpartition(str)

类似于 partition()函数,不过是从右边开始查找

string.rstrip()

删除 string 字符串末尾的空格.

string.split(str="", num=string.count(str))

以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串

string.splitlines([keepends])

按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

string.startswith(obj, beg=0,end=len(string))

检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.

string.strip([obj])

在 string 上执行 lstrip()和 rstrip()

string.swapcase()

翻转 string 中的大小写

string.title()

返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

string.translate(str, del="")

根据 str 给出的表(包含 256 个字符)转换 string 的字符,

要过滤掉的字符放到 del 参数中

string.upper()

转换 string 中的小写字母为大写

string.zfill(width)

返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0

Python 字符串用法总结的更多相关文章

  1. python字符串用法

    一,数据类型的转换 1常用的数据类型有int,str,bool三种; int是整型:一般的操作是查找数据的二进制长度bit_length() 一般数据有: 1)二进制:逢二进一 2)十进制,(0-9) ...

  2. python字符串-内置方法用法分析

    1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本

  3. Python 字符串

    Python访问字符串中的值 Python不支持单字符类型,单字符也在Python也是作为一个字符串使用. Python访问子字符串,可以使用方括号来截取字符串,如下实例: #!/usr/bin/py ...

  4. Python 字符串处理大全.

    Python 字符串 字符串是Pyhton中常用的数据类型,我们可以使用引号来创建字符串 . 创建字符串很简单 , 就不说了 . Python 访问字符串中的值 鬼叔本着简洁 使用的设计目的 , 在设 ...

  5. [转] 强大的python字符串解析

    1.python字符串通常有单引号('...').双引号("...").三引号("""...""")或('''...'' ...

  6. python 字符串探讨

    本文内容基于python3 几乎所有有用的程序都会涉及到某些文本处理,不管是解析数据还是产生输出.字符串的学习是重点中的重点,这一节将重点关注文本的操作处理,比如提取字符串,搜索,替换以及解析等.大部 ...

  7. Python高级用法总结

    Python很棒,它有很多高级用法值得细细思索,学习使用.本文将根据日常使用,总结介绍Python的一组高级特性,包括:列表推导式.迭代器和生成器.装饰器. 列表推导(list comprehensi ...

  8. python argparse用法总结

    转:python argparse用法总结 1. argparse介绍 argparse是python的一个命令行解析包,非常适合用来编写可读性非常好的程序. 2. 基本用法 prog.py是我在li ...

  9. python字符串处理以及字符串格式化

    一.python字符串处理 目录: 1.算长度(len),某个元素出现的次数(count) 2.切片   [ ],repr:把不可见字符显示出来 3.查找 #find,rfind从右边查找 4.字符串 ...

随机推荐

  1. Node JS爬虫: 阮老师网站背景图

    小白,轻喷,本文教你三分钟入门爬虫 前言 有一天发现,阮一峰老师的博客图片很好看,想收藏一下,因为几百张,一张张下载太慢,朋友推荐了个谷歌插件(Fatkun)确实挺好用的,这之后就对爬虫有了兴趣,这个 ...

  2. 【转载】Android内存泄漏的8种可能

    Java是垃圾回收语言的一种,其优点是开发者无需特意管理内存分配,降低了应用由于局部故障(segmentation fault)导致崩溃,同时防止未释放的内存把堆栈(heap)挤爆的可能,所以写出来的 ...

  3. Thymeleaf对象的使用:字符串对象

    Thymeleaf主要使用 org.thymeleaf.expression.Strings 类处理字符串,在模板中使用 #strings 对象来处理字符串. 开发环境:IntelliJ IDEA 2 ...

  4. 一文解读HTTP (转)

    先扒一扒HTTP协议背景? HTTP(HyperText Transfer Protocol) 即超文本传输协议,现在基本上所有web项目都遵从HTTP协议(协议就是一种人为的规范). 目前绝大部分使 ...

  5. CICD-Jenkins笔记2014-2018

    CICD-Jenkins笔记2014-2018 20141119 chenxin 20180726 chenxin update 四个环境,开发/测试/预发布/生产. 文中涉及的最新脚本,请查看西部战 ...

  6. dd 工具使用; SSD 顺序写性能测试;

    dd 工具使用: dd 也是我们经常使用到的磁盘测试工具,Linux服务器装好系统之后,想要知道硬盘的读写是否能满足服务的需要,如果不满足硬盘的IO就是服务的一个瓶颈.我们可以使用dd命令简单进行测试 ...

  7. Windows 10 任务栏添加网易云音乐控制按钮

      软件背景: 算是老帖新发,之前有朋友分享过一个很好用的工具,但可能是因为网易云软件更新后,导致控件失灵了,只剩下歌词控件有用了,所以今天用python重新写了一个小工具,发出来分享给大家,附上之前 ...

  8. 从傅里叶变换(FFT)到数论变换(NTT)

    FFT可以用来计算多项式乘法,但是复数的运算中含有大量的浮点数,精度较低.对于只有整数参与运算的多项式,有时,\(\text{NTT(Number-Theoretic Transform)}\)会是更 ...

  9. Global AI Bootcamp 2019 宁波站活动总结

    2019年12月14日,由微软MVP技术社区发起的Global AI Bootcamp 2019盛会在全球60多个国家130个城市点燃.在大中华区,本次活动由全国众多Azure专家及微软MVP技术社区 ...

  10. C# Winform程序防止多开的方法总结(亲测)

    1.Winform启动的时候,检测是否存在同样的进程名,防止程序多开: static class Program { /// <summary> /// 应用程序的主入口点. /// &l ...