少废话,上例子

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. 【LeetCode】排序 sort(共20题)

    链接:https://leetcode.com/tag/sort/ [56]Merge Intervals (2019年1月26日,谷歌tag复习) 合并区间 Input: [[1,3],[2,6], ...

  2. Spring Cloud第十二篇 | 消息总线Bus

    ​ ​本文是Spring Cloud专栏的第十二篇文章,了解前十一篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...

  3. MySQL--全文索引作用、原理及使用注意

    作用 MySQL索引可以分为:主键索引.普通索引.唯一索引.全文索引.其中,全文索引应该是是比较特殊的,它只有少数的几个存储引擎支持,且只有类型为char.vchar.text的列能建立全文索引.以前 ...

  4. 【leetcode】848. Shifting Letters

    题目如下: 解题思路:本题首先要很快速的计算出任意一个字符shift后会变成哪个字符,其实也很简单,让shift = shift % 26,接下来再做计算.第二部是求出每个字符要shift的次数.可以 ...

  5. Java面试之基础篇(2)

    11.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用 ...

  6. Java——抽象类

    [抽象类] 抽象类中方法有定义的必要,但是没有实现的必要,因为需要子类进行重写.

  7. 【CF1252J】Tiling Terrace(DP)

    题意:有一个长为n的串,每个字符是#或者.中的一个,#不超过50个 有3种覆盖串的方式:(.),(..),(.#.),分别能获得g1,g2,g3的收益,覆盖之间不能重叠 第一种方式不能使用超过K次,问 ...

  8. 【转】解决ajax跨域问题的5种解决方案

    转自: https://blog.csdn.net/itcats_cn/article/details/82318092   什么是跨域问题?跨域问题来源于JavaScript的"同源策略& ...

  9. No plugin found for prefix 'war' in the current project and in the plugin groups

    解决办法: 在pom里面添加 : <dependency> <groupId>org.apache.maven.plugins</groupId> <arti ...

  10. oralce创建dblink

    CREATE DATABASE LINK dblinkName CONNECT TO dbLoginName IDENTIFIED BY dbLoginPwd USING '(DESCRIPTION= ...