[Python3] 009 字符串:给你们看看我的内置方法 第一弹
前言
大家好,我是字符串。YorkFish 介绍了这么多有关列表的信息,我找他谈了谈,最终在我的命(ken)令(qiu)下,他答应具体介绍一些我“团队中的朋友(内置方法)”给大家认识。
如何查看 python3 中和 str 有关的方法
dir(str)—— 列举和str有关的方法- 其中带下划线的如
__add__是魔法方法,还没学到,暂时不做解释 - 从
capitalize开始,到zfill为止,是要上的“硬菜”。我数了一下,Python3.7在这儿有 45 个方法。一次写完有点伤身体,我决定养生一点,分三篇吧。
- 其中带下划线的如
help(str)—— 列举并简要介绍和str有关的方法help(str.capitalize)—— 单独查看str的某个方法(方法后不加括号)
字符串方法
1. capitalize()
- 释义:把字符串的第一个字符改为大写(原本就大写,则忽略),其余改为小写(原本就小写,也忽略)
- 示例
# 例1.1
name1_1 = "YorkFish" # 注意大小写
name1_2 = "yorkFish"
name1_3 = "YorkFish"
name1_4 = "yorkfish"
naem1_5 = "123YorkFish"
print(name1_1.capitalize())
print(name1_2.capitalize())
print(name1_3.capitalize())
print(name1_4.capitalize())
print(name1_5.capitalize())
- 运行结果
Yorkfish
Yorkfish
Yorkfish
Yorkfish
123yorkfish
从结果看,并不是从第一个字母开始操作,而是从第一个字符开始操作。
# 例1.2 接例1.1
print(name1_1.capitalize) # capitalize 后没带括号
- 运行结果
<built-in method capitalize of str object at 0x000001DCB0384030>
括号不能漏。
2. casefold()
- 释义:将整个字符串的字符改为小写
- 示例
# 例2
name2 = "YorkFish"
print(name2.casefold())
- 运行结果
yorkfish
3. center(width)
- 释义:
width为自定义的一段长度(通常要比字符串长),让字符串在这段长度里居中,其余位置用空格填充 - 示例
# 例3
name3 = "123YorkFish"
print(1, name3.center(30), 1)
- 运行结果
1 123YorkFish 1
- 不直观?来张截图:

4. count(sub[, start[, end]])
- 计数君
count()在 [Python3] 006 列表的常用方法 中出现过,这次更详细 - 释义:
[]里的参数可用可不用sub, start, end在这里都是代号sub表示要计数的字符(查了一下词典,sub有替身之意)start表示开始位置,若没设置,默认为开头end表示结束的位置,若没设置,默认为结尾
- 示例
# 例4
str4 = "Actions speak louder than words."
print(str4.count('A'))
print(str4.count('A', 1))
print(str4.count('a', 8, 12)) # 相当于把索引范围缩小到 speak 上
- 运行结果
1
0
1
从结果看,1. 区分大小写;2. 从 0 开始索引。
5. endswith(sub[, start[, end]])
- 释义:检查字符串是否以
sub子字符串结束,若是,返回True;若不是,返回False。可用start与end自定义范围 - 示例
# 例5
str5 = "Winter has come, can spring be far behind?"
print(str5.endswith('?'))
print(str5.endswith('far behind?'))
print(str5.endswith('Winter has come, can spring be far behind?'))
print(str5.endswith("come", 12, 15)) # 12 到 15 刚好是 come
print(str5.endswith("come", 11, 15))
print(str5.endswith("e, c", 15, 18)) # 15 到 18 刚好是 e, c
print(str5.endswith("e, c", 14, 18))
print(str5.endswith('e', 12, 15))
- 运行结果
True
True
True
False
True
Flase
True
True
从结果看,1. 可以查单个字符、多个字符,甚至是本体;2. 中间的某一段不能查这段本身。
- 表兄弟:
startswith(prefix[, start[, end]])见 第三弹
6. find(sub[, start[, end]])
- 释义;寻找字符串中是否包含
sub子字符串。若有,返回索引值;若无,返回 -1 - 示例
# 例6
str6 = "Kid, happiness is a very simple matter; grow up, simple is a very happy thing! "
print(str6.find("is"))
print(str6.find("is", 40))
print(str6.find("simple", 15, 40))
print(str6.find("thing", 15, 40))
- 运行结果
15
56
25
-1
- 亲兄弟:
rfind(sub[, start[, end]])- 类似于
find(sub[, start[, end]]),不过是从右边开始查找
- 类似于
7. index(sub[, start[, end]])
- 索引君
index()在 [Python3] 006 列表的常用方法 中出现过,这次更详细 - 释义:跟
find()的用法仅一点不同:若索引不到,会报错(产生一个异常) - 示例
# 例7
str7 = "Kid, happiness is a very simple matter; grow up, simple is a very happy thing! "
print(str7.index("simple", 15, 40))
print(str7.index("thing", 15, 40))
- 运行结果
25
ValueError:……substring not found
- 亲兄弟:
rindex(sub[, start[, end]])- 类似于
index(sub[, start[, end]]),不过是从右边开始查找
- 类似于
8. isalnum()
- 释义:若一个非空字符串中所有的字符都是字母或数字,返回
True;若否,返回False - 示例
# 例8
name8_1 = "YorkFish2019"
name8_2 = "YorkFish 2019" # 比 name8_1 多了一个空格
name8_3 = '' # 空字符串
name8_4 = "YorkFish②⓪①⑨" # YorkFish 后面是带圈的数字 2019
print(name8_1.isalnum())
print(name8_2.isalnum())
print(name8_3.isalnum())
print(name8_4.isalnum())
- 运行结果
True
False
False
True
若释义中没有“非空字符串”的限制,也说得通:空字符串中包含的不是字母或数字,所以返回 False。
数字除了 0-9,还包括带圈的 0-9。
9. isalpha()
- 释义:若一个非空字符串中所有的字符都是字母,返回
True;若否,返回False - 示例
# 例9
name9_1 = "YorkFish"
name9_2 = "YorkFish2019"
name9_3 = "鱼"
name9_4 = "
[Python3] 009 字符串:给你们看看我的内置方法 第一弹的更多相关文章
- [Python3] 010 字符串:给你们看看我的内置方法 第二弹
目录 少废话,上例子 1. isidentifier() 2. islower() 3. isnumeric() 4. isprintable() 5. isspace() 6. istitle() ...
- [Python3] 011 字符串:给你们看看我的内置方法 第三弹
目录 少废话,上例子 1. encode(encoding='utf-8', errors='strict') 2. expandtabs([tabsize=8]) 借此机会简单地说一说 print( ...
- python学习番外篇——字符串的数据类型转换及内置方法
目录 字符串的数据类型转换及内置方法 类型转换 内置方法 优先掌握的方法 需要掌握的方法 strip, lstrip, rstrip lower, upper, islower, isupper 插入 ...
- 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之字符串,列表,字典,元组,集合内置方法总结
目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...
- 字符串:各种奇葩的内置方法 - 零基础入门学习Python014
字符串:各种奇葩的内置方法 让编程改变世界 Change the world by program 字符串:各种奇葩的内置方法 或许现在又回过头来谈字符串,有些朋友可能会觉得没必要,也有些朋友会觉得不 ...
随机推荐
- Codeforces 954 dijsktra 离散化矩阵快速幂DP 前缀和二分check
A B C D 给你一个联通图 给定S,T 要求你加一条边使得ST的最短距离不会减少 问你有多少种方法 因为N<=1000 所以N^2枚举边数 迪杰斯特拉两次 求出Sdis 和 Tdis 如果d ...
- MASM DEBUG LINKER免费下载
这资源全被CSDN霸占了,对于我这种不使用CSND的人,没积分,真TM不好找,搞个共享的. 网盘链接,永久有效 https://pan.baidu.com/s/1Ws5axrfos1cpWL9jyAE ...
- Halcon WPF C#采集图像区域灰度值
源码下载地址:https://github.com/lizhiqiang0204/ImageGray.git Halcon代码如下: *读取图片,转换成灰度图片 read_image (Image1, ...
- 推荐一些CSS命名规范
常用的CSS命名规则 头:header内容:content/container尾:footer导航:nav侧栏:sidebar栏目:column页面外围控制整体佈局宽度:wrapper左右中:left ...
- kali安装docker以及配置阿里云镜像加速
1.需求 最近需要用到docker比较多,遂安装使用下,第一次用docker搭建测试环境,不得不说,docker真香.期间遇到了比较多奇奇怪怪的问题,网上的教程也比较多比较乱,遂记录一下. 2.安装d ...
- 【SaltStack官方版】—— states教程, part 3 - 定义,包括,延伸
STATES TUTORIAL, PART 3 - TEMPLATING, INCLUDES, EXTENDS 本教程建立在第1部分和第2部分涵盖的主题上.建议您从此开始.这章教程我们将讨论更多 s ...
- Node.js 版本管理工具——nvm
日常项目开发中,有些项目可能基于node V10 或者 V8 不同的版本: 如果我们手动安装卸载node,这样是不友好. 先放上作者的博客地址 : https://www.cnblogs.com/g ...
- jetSonNano darknet ubdefined reference to 'pow',undefined reference to 'sqrtf'....
我在用CMakelist编译工程时,遇到了这个一连串基础数学函数找不到的问题,如下图所示: 我当时在工程中明明引用了 #include "math.h"头函数,这是因为你的工程在预 ...
- mysql SELECT INTO语句 语法
mysql SELECT INTO语句 语法 作用:用于创建表的备份复件. 语法:SELECT * INTO new_table_name [IN externaldatabase] FROM ol ...
- 大文件上传-大视频上传,T级别的,求解决方案
第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname = ...