少废话,上例子

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. 如何算gama(1/2)=sqrt(pi)?

    关键是算e^{-x^2}在0到oo的定积分是sqrt(pi)/2. 或者利用高斯密度函数来求解

  2. windows 10 x64系统 jdk1.7、jdk1.8 切换(jdk为exe安装版本)

    电脑先安装的1.7,后来安装1.8,改JAVA_HOME为1.8后cmd->java.javac.java -version可用1.8 后想改为1.7,更改环境变量(步骤1)后cmd->j ...

  3. python类和self解析

    在介绍Python的self用法之前,先来介绍下Python中的类和实例……我们知道,面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,比如学生这个抽象的事物,可以用 ...

  4. C++ GUI Qt4学习笔记08

    C++ GUI Qt4学习笔记08   qtc++signal图形引擎文档 本章介绍Qt的二维图形引擎,Qt的二维图形引擎是基于QPainter类的.<span style="colo ...

  5. expect实现远程主机自动执行命令脚本

    2014年第一个脚本,哈哈!!! expect实现远程主机自动执行命令脚本: #!/usr/bin/expect -- if { [llength $argv] < 4 } { puts &qu ...

  6. TodoList案例

    我们今天模仿ToDoList进行一个简单的增,删,改,查的操作 可参考官网  http://www.todolist.cn/ 下边直接上代码 import React from 'react'; cl ...

  7. layui问题之渲染数据表格时,只显示10条数据

    通过ajax请求的数据,console.log()有30条数据,实际上只显示10条, 原因是没有设置limit table.render({ elem: '#report-collection' , ...

  8. logstash+redis收集负载均衡模式下多台服务器的多个web日志

    一.logstash的简介 一般我们看日志来解决问题的时候要么 tail+grep 要么 把日志下载下来再搜索,可以应付不多的主机和应用不多的部署场景.但对于多机多应用部署就不合适了.这里的多机多应用 ...

  9. C# 基础:DataTable操作、发邮件

    本文出自:https://www.cnblogs.com/2186009311CFF/p/6865909.html DataTable操作 据参数删除为0的列:包括遍历.删除.取值 public st ...

  10. AOP代理