[Python3] 011 字符串:给你们看看我的内置方法 第三弹
少废话,上例子
1. encode(encoding='utf-8', errors='strict')
- 释义:
- 使用
encoding指定的编码格式对字符串进行编码,默认为utf-8,不区分大小写 errors用于设置不同错误的处理方案,默认为 'strict',意为编码错误引起一个UnicodeErrorerrors其他可能的值有:'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace'以及通过codecs.register_error()注册的任何值- 直接看例子吧
- 示例
# 例1
str1 = "YorkFish不是鱼"
str_utf8 = str1.encode("UTF-8")
str_gbk = str1.encode("GBK")
print("编码前: ", str1, end="\n\n") # 设置 print 结尾为两个回车,方便阅读
print("UTF-8 编码:", str_utf8)
print("GBK 编码:", str_gbk, end="\n\n")
print("utf-8 默认解码:", str_utf8.decode()) # 默认 encoding='utf-8',errors='strict'
print("utf-8 解码:", str_utf8.decode('utf-8','strict')) # utf-8 不区分大小写
print("UTF-8 解码:", str_utf8.decode('UTF-8','strict'))
print("GBK 解码:", str_gbk.decode('GBK','strict')) # gbk 也不区分大小写
- 运行结果
编码前: YorkFish不是鱼
UTF-8 编码: b'YorkFish\xe4\xb8\x8d\xe6\x98\xaf\xe9\xb1\xbc'
GBK 编码: b'YorkFish\xb2\xbb\xca\xc7\xd3\xe3'
utf-8 默认解码: YorkFish不是鱼
utf-8 解码: YorkFish不是鱼
UTF-8 解码: YorkFish不是鱼
GBK 解码: YorkFish不是鱼
- 不直观?来张截图:

2. expandtabs([tabsize=8])
- 释义:
- 将字符串中的
Tab符号,即\t,转换为空格 - 如果不指定参数,默认空格数是 8
- 示例
# 例2
str2 = "制表符攻击:\t!!!"
print ("替换 \\t 符号前: " + str2)
print ("替换 \\t 符号后: " + str2.expandtabs())
print ("用 16 个空格替换 \\t 符号: " + str2.expandtabs(16))
- 运行结果
替换 \t 符号前: 制表符攻击: !!!
替换 \t 符号后: 制表符攻击: !!!
用 16 个空格替换 \t 符号: 制表符攻击: !!!
- 不直观?来张截图:

借此机会简单地说一说 print()
- 更完整的写法:print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
- 默认情况下,将值打印到流或 sys.stdout
- 可选关键字参数:
- file:类似于文件的对象(流);默认为当前的
sys.stdout - sep:在值之间插入的字符串,默认为空格
- end:在最后一个值后追加的字符串,默认为换行符
- flush:
whether to forcibly flush the stream是否强制刷新数据流? file和flush是要挖坑的节奏,待我学完来填平,编码Py011-1
- 示例
# print()
name = "YorkFish"
print(name + name)
print(name, name) # 注意输出时有空格
print(name, name, sep='') # sep 设置为不空格
print() # 输出一次换行符
print(name, end='\n\n') # windows 下输出两次换行符
print(name, end=' --- ') # 意味着不换行
print(name)
- 运行结果
YorkFishYorkFish
YorkFish YorkFish
YorkFishYorkFish
YorkFish --- YorkFish
- 不直观?来张截图:

3. format_map()
- 释义:使用映射中的替换返回 S 的格式化版本
- 示例
# 例3 没学到,只好从官方文档中找了个例子
class Default(dict):
def __missing__(self, key):
return key
print('{name} was born in {country}'.format_map(Default(name='Guido')))
- 运行结果
Guido was born in country
- 挖个坑,日后填平,编号
Py011-2
4. replace(old, new[, count])
- 释义:
- 将字符串中的
old子字符串替换成new子字符串 - 如果
count指定,则替换不超过count次
- 示例
# 例4
str4 = "All things in their being are good for something."
print(str4.replace('i', 'I'))
print(str4.replace('i', 'I', 3))
- 运行结果
All thIngs In theIr beIng are good for somethIng.
All thIngs In theIr being are good for something.
5. split(step=None, maxsplit=-1)
- 释义:
- 返回字符串中的单词列表,使用
sep作为分隔符字符串 - 不带参数默认以空格为分隔符切片字符串
- 如果
maxsplit参数有设置,则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接的列表
- 示例
# 例5
name5_1 = "Y.o.r.k.F.i.s.h"
name5_2 = "Y.o.r.k.F.i.s.h.."
print(name5_1.split('.'))
print(name5_1.split('.',maxsplit=4))
print(name5_2.split('.')) # . 前的空字符算一个;. 后也算一个
- 运行结果
['Y', 'o', 'r', 'k', 'F', 'i', 's', 'h']
['Y', 'o', 'r', 'k', 'F.i.s.h']
['Y', 'o', 'r', 'k', 'F', 'i', 's', 'h', '', '']
- 亲兄弟:
rsplit(sep=None, maxsplit=-1)- 类似于
split(step=None, maxsplit=-1),不过是从右边开始分隔
- 类似于
6. splitlines([keepends])
- 释义:
- 按照
\n分隔,返回一个包含各行作为元素的列表 - 如果
keepends参数指定,则返回前keepends行
- 示例
# 例6.1
str6 = "Cease to struggle \nand you cease to live.\n(Thomas Carlyle)"
print(str6.splitlines()) # 拆分后去掉换行符
print(str6.splitlines(True)) # 若 keepends 为 True,保留换行符
- 运行结果
['Cease to struggle ', 'and you cease to live.', '(Thomas Carlyle)']
['Cease to struggle \n', 'and you cease to live.\n', '(Thomas Carlyle)']
- splitlines() 与 split() 的区别
# 例6.2
print(''.splitlines())
print(''.split('\n')) # 注意两者的区别
print("love at first sight.\n".splitlines())
print("love at first sight.\n".split('\n'))
- 运行结果
[]
['']
['love at first sight.']
['love at first sight.', '']
7. startswith(prefix[, start[, end]])
- 释义:
- 检查字符串是否以指定前缀
prefix开头,prefix只是代号,可以是任意字符串 - 如果是则返回 True,否则返回 False
start、end与之前样,可指定开头或指定区域
- 示例
# 例7
str7 = "The best is yet to come."
print (str7.startswith('The'))
print (str7.startswith('is', 9))
print (str7.startswith('best', 4, 7)) # 和 endswith() 有些像,区域要大于指定字符长度
print (str7.startswith('best', 4, 8))
- 运行结果
True
True
False
True
- 表兄弟:
endswith(sub[, start[, end]])见 第一弹
8. swapcase()
- 释义:翻转字符串中的大小写
- 示例
# 例8
name8 = "YorkFish"
print(name8.swapcase())
- 运行结果
yORKfISH
9. title()
- 释义:
- 返回“标题化”的字符串
- 标题化:所有的单词都是以大写开始,其余字母均小写
- 示例
# 例9
str9 = "the great gatsby"
print(str9.title())
- 运行结果
The Great Gatsby
10. zfill(width)
- 释义:
- 返回长度为
width的字符串 - 原字符串右对齐
- 若
width大于字符串长度,前边用 0 填充
- 示例
# 例10
name10 = "YorkFish"
print(name10.zfill(5))
print(name10.zfill(20))
print(name10.zfill())
- 运行结果
YorkFish
000000000000YorkFish
TypeError……zfill() takes exactly one argument (0 given)
报错是因为没有输入 width 参数。
别的也是:若方法的小括号中有参数,并且 1. 没有用中括号括起来,2. 没有默认值,都需要填上。
(元气大伤!)
[Python3] 011 字符串:给你们看看我的内置方法 第三弹的更多相关文章
- [Python3] 009 字符串:给你们看看我的内置方法 第一弹
目录 前言 如何查看 python3 中和 str 有关的方法 字符串方法 1. capitalize() 2. casefold() 3. center(width) 4. count(sub[, ...
- [Python3] 010 字符串:给你们看看我的内置方法 第二弹
目录 少废话,上例子 1. isidentifier() 2. islower() 3. isnumeric() 4. isprintable() 5. isspace() 6. istitle() ...
- python学习番外篇——字符串的数据类型转换及内置方法
目录 字符串的数据类型转换及内置方法 类型转换 内置方法 优先掌握的方法 需要掌握的方法 strip, lstrip, rstrip lower, upper, islower, isupper 插入 ...
- Python 数据类型常用的内置方法(三)
目录 Python 数据类型常用的内置方法(三) 1.列表内置方法 1.sort():升序 2.reverse():颠倒顺序 3.列表比较运算 2.字典内置方法 1.对Key的操作 2.len( )- ...
- python基础——4(数字、字符串、列表类型的内置方法介绍)
目录 一.可变与不可变类型 二.数字类型 三.字符串类型 四.列表类型 一.可变与不可变类型 可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型 不可变类型:值改变,id也跟着改变,证明产 ...
- 零基础入门学习Python(14)--字符串:各种奇葩的内置方法
前言 这节课我们回过头来,再谈一下字符串,或许我们现在再来谈字符串,有些朋友可能觉得没必要了,甚至有些朋友就会觉得,不就是字符串吗,哥闭着眼也能写出来,那其实关于字符串还有很多你不知道的秘密哦.由于字 ...
- Python14之字符串(各种奇葩的内置方法)
一.字符串的分片操作 其分片操作和列表和元组一样 str1 = 'keshengtao' str1[2:6] 'shen' str1[:] 'keshengtao' str1[:4] 'kesh' 二 ...
- 小白基础Python重要的字符串详解String的内置方法
String的内置方法: st='hello world {name} is {age}' {} 特殊内容需要识别format print(st.count('1')) 统计元素个数 print ...
- python之字符串,列表,字典,元组,集合内置方法总结
目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...
随机推荐
- Codeforces 954 dijsktra 离散化矩阵快速幂DP 前缀和二分check
A B C D 给你一个联通图 给定S,T 要求你加一条边使得ST的最短距离不会减少 问你有多少种方法 因为N<=1000 所以N^2枚举边数 迪杰斯特拉两次 求出Sdis 和 Tdis 如果d ...
- 16 | “order by”是怎么工作的? 学习记录
<MySQL实战45讲>16 | “order by”是怎么工作的? 学习记录http://naotu.baidu.com/file/0be0e0acdf751def1c0ce66215e ...
- shell脚本中oldIFS=$IFS
https://blog.csdn.net/champwang/article/details/54670293 转自https://man.linuxde.net/shell-script/shel ...
- 043:Django使用原生SQL语句操作数据库
Django使用原生SQL语句操作数据库 Django配置连接数据库: 在操作数据库之前,首先先要连接数据库.这里我们以配置 MySQL 为例来讲解. Django 连接数据库,不需要单独的创建一个连 ...
- LeetCode--617--合并二叉树(python)
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 ...
- 14 Spring Boot Shiro限制登录尝试次数
- noi 1700 + 1756 八皇后问题 x
1700:八皇后问题 总时间限制: 10000ms 内存限制: 65536kB 描述 在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方. 输入 无输入. 输出 按给定顺序和格式输出 ...
- Laya 使list渲染支持分帧的思路
Laya 使list渲染支持分帧的思路 @author ixenos 2019-09-06 1.由于Laya的list渲染时没有做分帧处理,只做了延迟帧处理,所以当单页元素较多时,会有大量运算卡帧的情 ...
- 支持向量机(一)----总述(点到平面的距离,Lagrange函数,Lagrange对偶)
概述:在对支持向量机的学习和使用过程中,遇到了许许多多的问题,通过查阅各种资料,也是逐一攻克了遇到的问题.感悟颇多,写此博文的目的是想以一个学习者的身份从一个刚接触支持向量机的角度去记录模型推到过程中 ...
- spring util包 StringUtils工具类中的isEmpty() 方法解析
今天在公司看到同事写的代码,无意发现在判断字符串类型时,使用的是StringUtils工具类中的isEmpty()去判断如下所示 @RequestMapping(value = "/pub/ ...