少废话,上例子

1. isidentifier()

  • 释义:
  1. 如果字符串是有效的 Python 标识符,则返回 True,否则返回 False
  2. 可用来测试保留的标识符,如 defclass
  • 示例
# 例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)

  • 释义:
  1. 连接任意数量的字符串
  2. sub 作为指定的字符串用来连接每个给定的字符串
  3. 最后输出一个新的字符串
  • 示例
# 例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)

  • 释义:
  1. 返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串
  2. 若字符串比 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

  • 不直观?来张截图:

  • 亲兄弟:

    1. rstrip():与 lstrip() 相似,但 rstrip() 是去掉字符串末尾所有的空格
    2. strip():与 lstrip()rstrip() 相似,strip() 是去掉字符串首尾所有的空格

12. maketrans(x, y=None, z=None, /)

  • 释义:
  1. 返回一个可用于 str.translate() 的转换表,即用于给 translate() (见13)创建字符映射转换表
  2. 如果只有一个参数,那么它必须是一个映射 Unicode 的字典序数(整数)或字符到 Unicode 序数、字符串或 None;字符键将被转换为序数
  3. 如果有两个参数,它们必须是长度相等的字符串,并且在生成的字典中,x 中的每个字符将映射到字符在 y 中的相对应的位置
  4. 如果有第三个参数,它必须是字符串,其字符在结果中将映射为 None,即表示要删除的字符
  5. 直接看例子吧
  • 示例
# 例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)

  • 释义:
  1. 使用给定的转换表替换字符串中的每个字符
  2. 它必须是 Unicode 序数到 Unicode 序数、字符串或None 的映射
  3. 该表必须通过 getitem 实现查找/索引,例如字典或列表
  4. 如果此操作引发 LookupError,则不改变字符
  5. 映射到 None 的字符将被删除
  6. 还是回看 例12 吧

14. partition(sub)

  • 释义:
  1. 找到子字符串 sub,把字符串分成一个三元组 (pre_sub, sub, fol_sub)
  2. 如果字符串中不包含 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 字符串:给你们看看我的内置方法 第二弹的更多相关文章

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

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

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

    目录 少废话,上例子 1. encode(encoding='utf-8', errors='strict') 2. expandtabs([tabsize=8]) 借此机会简单地说一说 print( ...

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

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

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

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

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

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

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

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

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

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

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

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

  9. 字符串:各种奇葩的内置方法 - 零基础入门学习Python014

    字符串:各种奇葩的内置方法 让编程改变世界 Change the world by program 字符串:各种奇葩的内置方法 或许现在又回过头来谈字符串,有些朋友可能会觉得没必要,也有些朋友会觉得不 ...

随机推荐

  1. Uva 10635 - Prince and Princess LCS/LIS

    两个长度分别为p+1和q+1的由1到n2之前的整数组成的序列,每个序列的元素各不相等,两个序列第一个元素均为1.求两个序列的最长公共子序列 https://uva.onlinejudge.org/in ...

  2. STL的容器哈希表

    C++ STL中,哈希表对应的容器是 unordered_map(since C++ 11).根据 C++ 11 标准的推荐,用 unordered_map 代替 hash_map. 与Map的区别 ...

  3. LOJ 6192 城市网络(树上倍增)

    LOJ #6192. 「美团 CodeM 复赛」城市网络(链接) 一棵以 $ 1 $ 号节点为根的树,每个点有一个权值,有 $ q $ 个询问,每次从 $ x $ 点开始往某个祖先 $ y $ 走,初 ...

  4. Django【第15篇】:Django之Form组件归类

    Form组件归类 一.Form类 创建Form类时,主要涉及到 [字段] 和 [插件],字段用于对用户请求数据的验证,插件用于自动生成HTML; 1.Django内置字段如下: 1 Field 2 r ...

  5. 一篇文章带你了解JavaScript中的语法,数据类型,流程控制语句以及函数

    作者 | Jeskson 来源 | 达达前端小酒馆 1 JavaScript有多重要啊,才能让我说说一下,其中的语法,操作符,数据类型,内置功能等. 语法: 在JavaScript中的变量,函数名和操 ...

  6. handy源码阅读(五):PollerBase类

    使用poll内核函数等待事件发生: struct PollerBase: private noncopyable { int64_t id_; int lastActive_; PollerBase( ...

  7. React Native 之组件的定义

    App.js 也可以认为是一个组件,那么此文件中能定义多个组件吗? 方式一 import Hello from './Hello' export default class App extends C ...

  8. BZOJ 3043: IncDec Sequence 差分 + 思维

    Code: #include <bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) ...

  9. 浙大PAT CCCC L3-014 周游世界 ( 最短路变形 )

    题目链接 题意 : 中文题请点链接,挺复杂的... 分析 : 乍一看是个最短路,实际就真的是个最短路.如果没有 “ 在有多条最短路径的时候输出换乘次数最少的” 这一条件的约束,那么这题就是直接建图然后 ...

  10. android读取xml

    /*** 从config.xml中获取版本信息以及应用id* * @param urlPath* @return* @throws Exception*/public List getUpdateIn ...