[Python3] 010 字符串:给你们看看我的内置方法 第二弹
少废话,上例子
1. isidentifier()
- 释义:
- 如果字符串是有效的 Python 标识符,则返回 True,否则返回 False
- 可用来测试保留的标识符,如
def
和class
- 示例
# 例1
str1_1 = "def"
str1_2 = "for"
str1_3 = "name"
str1_4 = "_name"
str1_5 = "8name"
str1_6 = "name$"
str1_7 = "鱼"
print(str1_1.isidentifier())
print(str1_2.isidentifier())
print(str1_3.isidentifier())
print(str1_4.isidentifier())
print(str1_5.isidentifier())
print(str1_6.isidentifier())
print(str1_7.isidentifier())
- 运行结果
True
True
True
True
False
False
True
可以用来检查命名是否规范,但不区分“保留字”。关于命名规则,可以移步:[Python3] 002 喝下忘情水,学习 Python 中常用的命名规则。
2. islower()
- 释义:如果字符串中所有字符均小写,则返回 True,否则返回 False
- 示例
# 例2
name2_1 = "YorkFish"
name2_2 = "yorkfish"
name2_3 = "yorkfish123"
print(name2_1.islower())
print(name2_2.islower())
print(name2_3.islower())
- 运行结果
False
True
True
3. isnumeric()
- 释义:如果字符串是数字字符串,则返回 True,否则返回 False
- 示例
# 例3
str3_1 = "1234"
str3_2 = "123YorkFish456"
print(str3_1.isnumeric())
print(str3_2.isnumeric())
- 运行结果
True
False
4. isprintable()
- 释义:如果字符串是可打印的,返回 True,否则返回 False
- 示例
# 例4
str4_1 = "YorkFish"
str4_2 = "York Fish"
str4_3 = "York.Fish"
str4_4 = "York\nFish"
str4_5 = "York\tFish"
str4_6 = ""
str4_7 = "\127"
str4_8 = "\128"
print(str4_1.isprintable())
print(str4_2.isprintable())
print(str4_3.isprintable())
print(str4_4.isprintable())
print(str4_5.isprintable())
print(str4_6.isprintable())
print(str4_7.isprintable())
print(str4_8.isprintable())
- 运行结果
True
True
True
False
False
True
True
False
5. isspace()
- 释义:如果字符串只包含空格,则返回 True,否则返回 False
- 示例
# 例5
str5_1 = "" # 没有空格
str5_2 = " " # 3 个空格
str5_3 = " 1 "
print(str5_1.isspace())
print(str5_2.isspace())
print(str5_3.isspace())
- 运行结果
False
True
False
6. istitle()
- 释义:如果字符串是按“标题大小”规则写的,则返回 True,否则返回 False
- 示例
# 例6
str6_1 = "What Makes a Joke Funny?"
str6_2 = "What Makes A Joke Funny?"
print(str6_1.istitle())
print(str6_2.istitle())
- 运行结果
False
True
其实现实中 str6_1 反而是对的。
Python 只是单纯地按照每个首字母大写的原则检查。
7. isupper()
- 释义:如果字符串是大写字符串,则返回 True,否则返回 False
- 示例
# 例7
name7_1 = "YORKFISH"
name7_2 = "YorkFish"
name7_3 = "YORKFISH2019"
print(name7_1.isupper())
print(name7_2.isupper())
print(name7_3.isupper())
- 运行结果
True
False
True
8. join(sub)
- 释义:
- 连接任意数量的字符串
sub
作为指定的字符串用来连接每个给定的字符串- 最后输出一个新的字符串
- 示例
# 例8
name8_1 = "YorkFish"
name8_2 = '_'.join(name8_1)
print(name8_2)
print(id(name8_1))
print(id(name8_2))
- 运行结果
Y_o_r_k_F_i_s_h
1678230289648
1678230917808
忍不住看看 id,说明是两个数据。
9. ljust(width)
- 释义:
- 返回一个左对齐的字符串,并使用空格填充至长度为
width
的新字符串 - 若字符串比
width
长,则原样输出
- 示例
# 例9
name9 = "YorkFish"
print(name9.ljust(30), 1)
print(name9.ljust(5))
- 运行结果
YorkFish 1
YorkFish
不直观?来张截图:
亲兄弟:
rjust(width)
- 类似于
ljust(width)
,不过是从右边开始查找
- 类似于
10. lower()
- 释义:将字符串中所有的大写字母改为小写
- 示例
# 例10
name10_1 = "YorkFish"
name10_2 = "YorkFish123"
name10_3 = "yorkfish"
name10_4 = name10_1.lower()
print(name10_2.lower())
print(name10_3.lower())
print(name10_4)
print(name10_3 == name10_4)
print(id(name10_3) == id(name10_4))
- 运行结果
yorkfish
yorkfish123
yorkfish
True
False
- 表兄弟:
upper()
- 与
lower()
相反,将字符串中所有的小写字母改为大写
- 与
11. lstrip()
- 释义:去掉字符串左边所有的空格
- 示例
# 例11
name11 = " YorkFish"
print(name11)
print(name11.lstrip())
- 运行结果
YorkFish
YorkFish
不直观?来张截图:
亲兄弟:
rstrip()
:与lstrip()
相似,但rstrip()
是去掉字符串末尾所有的空格strip()
:与lstrip()
、rstrip()
相似,strip()
是去掉字符串首尾所有的空格
12. maketrans(x, y=None, z=None, /)
- 释义:
- 返回一个可用于
str.translate()
的转换表,即用于给translate()
(见13)创建字符映射转换表 - 如果只有一个参数,那么它必须是一个映射
Unicode
的字典序数(整数)或字符到Unicode
序数、字符串或None
;字符键将被转换为序数 - 如果有两个参数,它们必须是长度相等的字符串,并且在生成的字典中,x 中的每个字符将映射到字符在 y 中的相对应的位置
- 如果有第三个参数,它必须是字符串,其字符在结果中将映射为
None
,即表示要删除的字符 - 直接看例子吧
- 示例
# 例12
x = "ABCDE"
y = "12345"
z = "789"
table12_1 = str.maketrans(x, y) # 创建字符映射转换表
table12_2 = str.maketrans(x, y, z) # 创建字符映射转换表,并删除指定字符
str12 = "ABCDE 67890 abcde"
print(str12.translate(table12_1))
print(str12.translate(table12_2))
- 运行结果
12345 67890 abcde
12345 60 abcde
13. translate(table)
- 释义:
- 使用给定的转换表替换字符串中的每个字符
- 它必须是
Unicode
序数到Unicode
序数、字符串或None
的映射 - 该表必须通过 getitem 实现查找/索引,例如字典或列表
- 如果此操作引发
LookupError
,则不改变字符 - 映射到
None
的字符将被删除 - 还是回看 例12 吧
14. partition(sub)
- 释义:
- 找到子字符串
sub
,把字符串分成一个三元组(pre_sub, sub, fol_sub)
- 如果字符串中不包含
sub
,则返回('原字符串', '', '')
- 示例
# 例14
name14 = "YorkFishIsNotFish"
print(name14.partition('F'))
print(name14.rpartition('F')) # 顺便看看 rpartition()
- 运行结果
('York', 'F', 'ishIsNotFish')
('YorkFishIsNot', 'F', 'ish')
- 亲兄弟:
rpartition(sub)
- 类似于
partition(sub)
,不过是从右边开始查找,见上例
- 类似于
[Python3] 010 字符串:给你们看看我的内置方法 第二弹的更多相关文章
- [Python3] 009 字符串:给你们看看我的内置方法 第一弹
目录 前言 如何查看 python3 中和 str 有关的方法 字符串方法 1. capitalize() 2. casefold() 3. center(width) 4. count(sub[, ...
- [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 字符串:各种奇葩的内置方法 或许现在又回过头来谈字符串,有些朋友可能会觉得没必要,也有些朋友会觉得不 ...
随机推荐
- dying relu 和weight decay
weight decay就是在原有loss后面,再加一个关于权重的正则化,类似与L2 正则,让权重变得稀疏: 参考:https://www.zhihu.com/question/24529483 dy ...
- C#基础知识之正则表达式
正则表达式 是一种匹配输入文本的模式..Net 框架提供了允许这种匹配的正则表达式引擎.模式由一个或多个字符.运算符和结构组成. 实例 下面的实例匹配了以 'S' 开头的单词: using Syste ...
- 详解InitializingBean、initMethod和@PostConstruct
转载:https://blog.csdn.net/nrsc272420199/article/details/95033223 1. InitializingBean.initMethod和@Post ...
- 在 LaTeX 中同步缩放 TikZ 与其中的 node
PGF/TikZ 是 Till Tantau 开发的基于 TeX 的绘图引擎.因其可以直接在 LaTeX 文稿中通过代码绘制向量图,所以是目前流行的 LaTeX 绘图解决方案之一. 在 tikzpic ...
- 2019年8月12日~8月18日 第七周JAVA学习总结
本周主要完成了PTA代码编写的任务,将报告也完成了,但是由于同学聚会比较多所以JAVA的学习比较少,也没有学习统一建模语言.用在编程的时间平均每天5个小时,用在JAVA学习上平均每天1个小时,用在解决 ...
- 【NOIP2015模拟10.22】最小代价
前言 本来在比赛上就想到最小生成树了,但不相信这道题那么简单,然后就没有然后了... 题目 给出一幅由n个点m条边构成的无向带权图. 其中有些点是黑点,其他点是白点. 现在每个白点都要与他距离最近的黑 ...
- A1042
洗牌,共洗k次,每次将将原先的牌洗进输入好的位置. 步骤: 1 设置次数k,输入位置数列next[55],填充初始牌序start[55]: 2 end[next[i]]=start[i]把新的牌序赋值 ...
- 使用穷举法结合numpy解决八皇后问题
一般说到八皇后问题,最先想到的就是回溯思想,而回溯思想往往是需要递归来实现的. 计算机很善长做重复的事情,所以递归正和它的胃口,而我们人脑更喜观平铺直叙的思维方式.当 我们看到递归时,总想把递归平铺展 ...
- asp.net mvc大文件上传、断点续传功能。
文件夹数据库处理逻辑 publicclass DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject(); ...
- 超大文件上传方案(PHP)
前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长, ...