少废话,上例子

1. encode(encoding='utf-8', errors='strict')

  • 释义:
  1. 使用 encoding 指定的编码格式对字符串进行编码,默认为 utf-8,不区分大小写
  2. errors 用于设置不同错误的处理方案,默认为 'strict',意为编码错误引起一个UnicodeError
  3. errors 其他可能的值有:'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值
  4. 直接看例子吧
  • 示例
# 例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])

  • 释义:
  1. 将字符串中的 Tab 符号,即 \t,转换为空格
  2. 如果不指定参数,默认空格数是 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
  • 可选关键字参数:
  1. file:类似于文件的对象(流);默认为当前的 sys.stdout
  2. sep:在值之间插入的字符串,默认为空格
  3. end:在最后一个值后追加的字符串,默认为换行符
  4. flush:whether to forcibly flush the stream 是否强制刷新数据流?
  5. fileflush 是要挖坑的节奏,待我学完来填平,编码 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])

  • 释义:
  1. 将字符串中的 old 子字符串替换成 new 子字符串
  2. 如果 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)

  • 释义:
  1. 返回字符串中的单词列表,使用 sep 作为分隔符字符串
  2. 不带参数默认以空格为分隔符切片字符串
  3. 如果 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])

  • 释义:
  1. 按照 \n 分隔,返回一个包含各行作为元素的列表
  2. 如果 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]])

  • 释义:
  1. 检查字符串是否以指定前缀 prefix 开头,prefix 只是代号,可以是任意字符串
  2. 如果是则返回 True,否则返回 False
  3. startend 与之前样,可指定开头或指定区域
  • 示例
# 例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()

  • 释义:
  1. 返回“标题化”的字符串
  2. 标题化:所有的单词都是以大写开始,其余字母均小写
  • 示例
# 例9

str9 = "the great gatsby"
print(str9.title())
  • 运行结果

The Great Gatsby


10. zfill(width)

  • 释义:
  1. 返回长度为 width 的字符串
  2. 原字符串右对齐
  3. 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 字符串:给你们看看我的内置方法 第三弹的更多相关文章

  1. [Python3] 009 字符串:给你们看看我的内置方法 第一弹

    目录 前言 如何查看 python3 中和 str 有关的方法 字符串方法 1. capitalize() 2. casefold() 3. center(width) 4. count(sub[, ...

  2. [Python3] 010 字符串:给你们看看我的内置方法 第二弹

    目录 少废话,上例子 1. isidentifier() 2. islower() 3. isnumeric() 4. isprintable() 5. isspace() 6. istitle() ...

  3. python学习番外篇——字符串的数据类型转换及内置方法

    目录 字符串的数据类型转换及内置方法 类型转换 内置方法 优先掌握的方法 需要掌握的方法 strip, lstrip, rstrip lower, upper, islower, isupper 插入 ...

  4. Python 数据类型常用的内置方法(三)

    目录 Python 数据类型常用的内置方法(三) 1.列表内置方法 1.sort():升序 2.reverse():颠倒顺序 3.列表比较运算 2.字典内置方法 1.对Key的操作 2.len( )- ...

  5. python基础——4(数字、字符串、列表类型的内置方法介绍)

    目录 一.可变与不可变类型 二.数字类型 三.字符串类型 四.列表类型 一.可变与不可变类型 可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型 不可变类型:值改变,id也跟着改变,证明产 ...

  6. 零基础入门学习Python(14)--字符串:各种奇葩的内置方法

    前言 这节课我们回过头来,再谈一下字符串,或许我们现在再来谈字符串,有些朋友可能觉得没必要了,甚至有些朋友就会觉得,不就是字符串吗,哥闭着眼也能写出来,那其实关于字符串还有很多你不知道的秘密哦.由于字 ...

  7. Python14之字符串(各种奇葩的内置方法)

    一.字符串的分片操作 其分片操作和列表和元组一样 str1 = 'keshengtao' str1[2:6] 'shen' str1[:] 'keshengtao' str1[:4] 'kesh' 二 ...

  8. 小白基础Python重要的字符串详解String的内置方法

    String的内置方法: st='hello world  {name} is {age}'  {}  特殊内容需要识别format print(st.count('1')) 统计元素个数 print ...

  9. python之字符串,列表,字典,元组,集合内置方法总结

    目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...

随机推荐

  1. eclipse多个项目提交到同一个仓库(码云)

    参考博客:Eclipse提交多个项目到同一个仓库 https://blog.csdn.net/qq_30764991/article/details/80379365 步骤一:码云建立个远程仓库 步骤 ...

  2. Linux C编程学习

    C语言简介 简介 C语言具有控制特性较强.高效性.可移植性和强大的功能和灵活性."自由的代价是永远的警惕",C的简洁性与其丰富的运算符相结合,使其可能会编写出较难理解的代码.面向对 ...

  3. 【leetcode】Preimage Size of Factorial Zeroes Function

    题目如下: 解题思路:<编程之美>中有一个章节是不要被阶乘吓倒,里面讲述了“问题一:给定一个整数N,那么N的阶乘末尾有多少个0呢?例如N = 10, N! = 362800,N! 的末尾有 ...

  4. vue项目图片路径问题

    一般情况下我们为了能在本地显示效果,写图片路径会直接这样写,但是在实际中图片一般都是动态上传的, 所以,在vue中一般是这样的: 但是这样你会发现,图片根本显示不出来,只是显示了个图片的图标. 后来发 ...

  5. MySql的导入导出

    可以参看之前的博客:https://www.cnblogs.com/shijinglu2018/p/8672699.html 可以参看视频:https://i.cnblogs.com/EditPost ...

  6. 华为云服务器centos7.3安装tomcat

    1. 进入tomcat官网,复制下载地址 https://tomcat.apache.org/download-80.cgi#8.5.47 鼠标右键,复制链接地址:http://mirrors.tun ...

  7. java mar --->JSONArray.fromObject

    <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</art ...

  8. docker 内时区和宿主机差8个小时,怎么办?

    docker run -d -it --name tt -e TZ=Asia/Shanghai -p : api 使用-e参数指定时区

  9. 批量下载文件JSP

    最近项目有个需求,用户想对挂有附件的数据记录 实现一键下载全部附件(目前项目仅支持每次点击单条记录进行附件下载),下面记录我实现的解决方案.项目框架基于SSMservice业务实现层(impl):// ...

  10. Java——容器(Collection)

    Collection是一个接口,定义了一系列的方法.   [常见方法]