字符串篇(三)

文章目录

  • 1.18 islower()函数
  • 1.19 isnumeric()函数
  • 1.20 isprintable()函数
  • 1.21 isspace()函数
  • 1.22 istitle()函数
  • 1.23 isupper()函数
  • 1.24 join()函数
  • 1.25 len()函数

1.18 islower()函数

islower() 是 Python 中字符串(str)对象的一个方法,用于检查字符串中的所有字符是否都是小写。如果字符串中的所有字符都是小写字母,则 islower() 返回 True,否则返回 False。

请注意,islower() 只检查字母字符是否小写,它不会考虑数字、标点符号、空格或其他非字母字符。此外,它也不会检查字符串是否包含大写字母,只检查是否所有字母都是小写。

下面是如何使用 islower() 方法的例子:

# 创建一个全部是小写字母的字符串
lowercase_string = "hello"# 检查字符串是否全部由小写字母组成
print(lowercase_string.islower())  # 输出: True# 创建一个包含大写字母的字符串
mixed_case_string = "Hello"# 检查字符串是否全部由小写字母组成
print(mixed_case_string.islower())  # 输出: False# 创建一个包含非字母字符的字符串
string_with_numbers = "hello123"# 检查字符串是否全部由小写字母组成
print(string_with_numbers.islower())  # 输出: False# 创建一个空字符串
empty_string = ""# 检查空字符串是否全部由小写字母组成
print(empty_string.islower())  # 输出: True
# 空字符串被视为“全部小写”,因为它不包含任何大写字母

在上面的例子中,lowercase_string 全部由小写字母组成,因此 islower() 返回 True。mixed_case_string 包含大写字母,因此返回 False。string_with_numbers 包含数字,即使它的小写字母部分都是小写,但由于包含非字母字符,islower() 也返回 False。最后,空字符串 empty_string 被视为全部小写,因为它不包含任何字符,所以返回 True。

1.19 isnumeric()函数

isnumeric() 是 Python 中字符串(str)对象的一个方法,用于检查字符串中的所有字符是否都是数字字符。如果字符串中的所有字符都是数字(包括十进制数字、数字字符如 ‘0’ 到 ‘9’,以及可能的其他数字字符,如Unicode中的数字字符),则 isnumeric() 返回 True;如果字符串中包含任何非数字字符,则返回 False。

这个方法不同于 isdigit(),因为 isdigit() 只检查字符串是否包含十进制数字(‘0’ 到 ‘9’)。而 isnumeric() 则更广泛,它可以识别更多的数字字符,包括Unicode中的数字。

下面是如何使用 isnumeric() 方法的例子:

# 创建一个全是数字字符的字符串
numeric_string = "12345"# 检查字符串是否全由数字字符组成
print(numeric_string.isnumeric())  # 输出: True# 创建一个包含非数字字符的字符串
non_numeric_string = "123a45"# 检查字符串是否全由数字字符组成
print(non_numeric_string.isnumeric())  # 输出: False# 创建一个包含Unicode数字字符的字符串
unicode_numeric_string = "123\u0660\u0661"  # 包含阿拉伯数字# 检查字符串是否全由数字字符组成
print(unicode_numeric_string.isnumeric())  # 输出: True# 创建一个空字符串
empty_string = ""# 检查空字符串是否全由数字字符组成
print(empty_string.isnumeric())  # 输出: False
# 空字符串不包含任何字符,因此不是数字

在上面的例子中,numeric_string 只包含十进制数字,所以 isnumeric() 返回 True。而 non_numeric_string 包含了一个非数字字符 ‘a’,因此 isnumeric() 返回 False。unicode_numeric_string 包含了阿拉伯数字,这些在 Unicode 中也被认为是数字字符,所以 isnumeric() 返回 True。最后,空字符串 empty_string 不包含任何字符,因此 isnumeric() 返回 False。

请注意,isnumeric() 并不检查字符串是否表示一个有效的数字值(例如,它不会检查字符串 “123.45” 或 “1e-10” 是否表示一个合法的数字),它仅仅检查每个字符是否是数字字符。

1.20 isprintable()函数

isprintable() 是 Python 中字符串(str)对象的一个方法,用于检查字符串中的所有字符是否都是可打印的。在 Unicode 标准中,可打印字符是指那些有图形表示,并且通常可以在文本输出设备上显示的字符。这通常排除了控制字符,如换行符 (\n)、制表符 (\t)、回车符 (\r) 等。

如果字符串中的所有字符都是可打印的,则 isprintable() 返回 True,否则返回 False。这意味着,如果一个字符串只包含可打印的字符,并且没有包含任何控制字符或不可打印的 Unicode 字符,那么 isprintable() 就会返回 True。

下面是如何使用 isprintable() 方法的例子:

# 创建一个只包含可打印字符的字符串
printable_string = "Hello, World!"# 检查字符串是否只包含可打印字符
print(printable_string.isprintable())  # 输出: True# 创建一个包含换行符的字符串
string_with_newline = "Hello\nWorld!"# 检查字符串是否只包含可打印字符
print(string_with_newline.isprintable())  # 输出: False# 创建一个包含制表符的字符串
string_with_tab = "Hello\tWorld!"# 检查字符串是否只包含可打印字符
print(string_with_tab.isprintable())  # 输出: False# 创建一个包含不可打印 Unicode 字符的字符串
# 例如:U+000A 是换行符,它是一个控制字符,不是可打印字符
unprintable_string = "Hello\x0AWorld!"# 检查字符串是否只包含可打印字符
print(unprintable_string.isprintable())  # 输出: False# 创建一个空字符串
empty_string = ""# 检查空字符串是否只包含可打印字符
print(empty_string.isprintable())  # 输出: True
# 空字符串不包含任何字符,因此被视为只包含可打印字符

在上面的例子中,printable_string 只包含可打印的字符,因此 isprintable() 返回 True。然而,string_with_newline、string_with_tab 和 unprintable_string 都包含控制字符或不可打印的 Unicode 字符,因此 isprintable() 返回 False。最后,空字符串 empty_string 不包含任何字符,因此它被视为只包含可打印字符,isprintable() 返回 True。

1.21 isspace()函数

isspace() 是 Python 中字符串(str)对象的一个方法,用于检查字符串中的所有字符是否都是空白字符。空白字符通常包括空格(’ ‘)、制表符(’\t’)、换行符(‘\n’)、回车符(‘\r’)、垂直制表符(‘\v’)、换页符(‘\f’)等。

如果字符串中的所有字符都是空白字符,则 isspace() 返回 True,否则返回 False。如果字符串为空,isspace() 也返回 False,因为空字符串不包含任何字符。

下面是如何使用 isspace() 方法的例子:

# 创建一个全是空白字符的字符串
whitespace_string = "   \t\n\r\v\f"# 检查字符串是否全由空白字符组成
print(whitespace_string.isspace())  # 输出: True# 创建一个包含非空白字符的字符串
string_with_text = "Hello, World!"# 检查字符串是否全由空白字符组成
print(string_with_text.isspace())  # 输出: False# 创建一个包含空白字符和非空白字符的字符串
mixed_string = "Hello \t World!"# 检查字符串是否全由空白字符组成
print(mixed_string.isspace())  # 输出: False# 创建一个空字符串
empty_string = ""# 检查空字符串是否全由空白字符组成
print(empty_string.isspace())  # 输出: False
# 空字符串不包含任何字符,因此不是空白

在上面的例子中,whitespace_string 只包含空白字符,因此 isspace() 返回 True。而 string_with_text 和 mixed_string 都包含非空白字符,因此它们调用 isspace() 时返回 False。最后,空字符串 empty_string 不包含任何字符,因此 isspace() 返回 False。

这个方法在处理文本数据,特别是需要去除或忽略空白字符时,非常有用。

1.22 istitle()函数

istitle() 是 Python 中字符串(str)对象的一个方法,用于检查字符串是否满足“标题化”的条件。所谓“标题化”是指字符串中所有的单词首字母都大写,其余字母都小写。这通常用于检查一个字符串是否适合作为标题或标题样式的文本。

如果字符串是标题化的(即所有单词的首字母都大写,其余字母都小写),则 istitle() 返回 True,否则返回 False。需要注意的是,istitle() 不会检查字符串中的标点符号或空格是否正确,只关注字母的大小写。

下面是如何使用 istitle() 方法的例子:

# 创建一个标题化的字符串
title_string = "This Is A Title"# 检查字符串是否标题化
print(title_string.istitle())  # 输出: True# 创建一个非标题化的字符串
non_title_string = "This is not a title"# 检查字符串是否标题化
print(non_title_string.istitle())  # 输出: False# 创建一个包含缩写的标题化字符串
title_string_with_acronym = "NASA's Rocket Launch"# 检查字符串是否标题化
print(title_string_with_acronym.istitle())  # 输出: True
# 缩写 'NASA's' 的首字母 'N' 是大写的,因此认为是标题化# 创建一个空字符串
empty_string = ""# 检查空字符串是否标题化
print(empty_string.istitle())  # 输出: False
# 空字符串不包含任何字符,因此不是标题化

在上面的例子中,title_string 和 title_string_with_acronym 都是标题化的,因为它们的每个单词的首字母都是大写,所以 istitle() 返回 True。而 non_title_string 包含一个小写单词 “not”,所以它不是标题化的,istitle() 返回 False。空字符串 empty_string 不包含任何字符,因此 istitle() 返回 False。

需要注意的是,istitle() 不会检查字符串中单词之间的分隔符是否正确(例如,是否使用了空格或连字符),它只关注字母的大小写。因此,即使字符串中的单词之间没有空格,只要每个单词的首字母都大写,istitle() 仍然会返回 True。

1.23 isupper()函数

isupper() 是 Python 中字符串(str)对象的一个方法,用于检查字符串中的所有字母字符是否都是大写。如果字符串中的所有字母字符都是大写,则 isupper() 返回 True,否则返回 False。这个方法只考虑字母字符(即 a-z和A-Z),对其他非字母字符(如数字、标点符号、空格等)不做检查。

下面是如何使用 isupper() 方法的例子:

# 创建一个全大写的字符串
uppercase_string = "HELLO, WORLD!"# 检查字符串是否全由大写字母组成
print(uppercase_string.isupper())  # 输出: True# 创建一个包含小写字母的字符串
string_with_lowercase = "Hello, World!"# 检查字符串是否全由大写字母组成
print(string_with_lowercase.isupper())  # 输出: False# 创建一个包含非字母字符的字符串
mixed_string = "Hello WORLD 123"# 检查字符串是否全由大写字母组成
print(mixed_string.isupper())  # 输出: False
# 尽管 "WORLD" 是大写,但 "Hello" 和 "123" 不是大写,所以整体返回 False# 创建一个空字符串
empty_string = ""# 检查空字符串是否全由大写字母组成
print(empty_string.isupper())  # 输出: True
# 空字符串不包含任何字符,因此被认为是全大写(尽管这在实际应用中可能不是很有用)

在上面的例子中,uppercase_string 只包含大写字母,因此 isupper() 返回 True。然而,string_with_lowercase 和 mixed_string 都包含小写字母或非字母字符,因此它们调用 isupper() 时返回 False。最后,空字符串 empty_string 不包含任何字符,因此它被视为全大写,isupper() 返回 True。

isupper() 方法在处理文本数据时,特别是在需要区分大小写的情况下,非常有用。例如,当验证用户输入是否全部为大写字母时,就可以使用这个方法。

1.24 join()函数

join() 是 Python 中字符串(str)对象的一个方法,它用于将序列(如列表、元组或字符串)中的元素连接成一个新的字符串。这个方法需要一个可迭代对象(如列表、元组等)作为参数,并且需要指定一个分隔符字符串,该分隔符将用于连接序列中的每个元素。

join() 方法的工作原理是将分隔符字符串插入到序列的每个元素之间,并将整个序列连接成一个新的字符串。如果序列为空,则返回一个空字符串。

下面是如何使用 join() 方法的例子:

# 创建一个列表
words = ['Hello', 'World', 'Python']# 使用空格作为分隔符连接列表中的元素
sentence = ' '.join(words)
print(sentence)  # 输出: Hello World Python# 创建一个元组
numbers = (1, 2, 3, 4, 5)# 使用逗号作为分隔符连接元组中的元素
number_string = ', '.join(map(str, numbers))
print(number_string)  # 输出: 1, 2, 3, 4, 5# 创建一个字符串
chars = 'abcde'# 使用空字符串作为分隔符连接字符串中的字符
concatenated_string = ''.join(chars)
print(concatenated_string)  # 输出: abcde# 创建一个空列表
empty_list = []# 尝试使用 join() 连接空列表中的元素
empty_string = ''.join(empty_list)
print(empty_string)  # 输出: ''

在上面的例子中,join() 方法被用来将列表 words 中的单词用空格连接起来,将元组 numbers 中的数字用逗号和空格连接起来,将字符串 chars 中的字符用空字符串连接起来。最后一个例子展示了当传入一个空列表时,join() 方法会返回一个空字符串。

需要注意的是,join() 方法只能用于字符串对象,并且它需要一个可迭代对象作为参数。如果尝试对非字符串对象使用 join() 方法,或者传入一个非可迭代对象作为参数,将会引发 TypeError 异常。

1.25 len()函数

在Python中,len()是一个内置函数,用于返回对象(如字符串、列表、元组等)的长度或项目数。当len()函数用于字符串时,它会返回字符串中字符的数量。

下面是如何使用len()函数来获取字符串长度的例子:

# 创建一个字符串
my_string = "Hello, World!"# 使用len()函数获取字符串的长度
length = len(my_string)# 打印字符串的长度
print(length)  # 输出: 13

在这个例子中,字符串"Hello, World!"包含了13个字符(包括空格和标点符号),所以len(my_string)返回13。

需要注意的是,len()函数返回的是字符数量,而不是字节数量。对于包含多字节字符(如UTF-8编码中的中文字符)的字符串,len()函数返回的是字符数量,而不是字节数量。

# 创建一个包含中文字符的字符串
chinese_string = "你好,世界!"# 使用len()函数获取字符串的长度
length = len(chinese_string)# 打印字符串的长度
print(length)  # 输出: 6

在这个例子中,字符串"你好,世界!"包含了6个字符,即使每个中文字符在UTF-8编码中通常占用多个字节,len()函数仍然返回字符的数量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Qt】Qt代码格式化配置

这里记录一下个人使用的格式化配置: 个人使用的格式化工具Artistic Style格式化信息: --stylelinux #:Linux 风格格式和缩进 #--stylekr #indentspaces4 # 缩进采用4个空格 -A1 #使用AllMan程序风格,即大括号另起一行。 indent-switche…

java入门-变量与常量

java 基本语法-变量与常量 变量 变量的本质 程序中我们会经常看到类似 int x 3**;** 的表达式,x就是我们常说的变量,从计算机角度我们来看看变量x的本质是什么? 在程序开发中定义一个变量x, 计算机会在内存中开辟内存空间,计算…

测电笔与零火线

火线零线不分正负,因此即使接反电气仍可以使用,只是当开关断电的时候灯泡是有电的,此时比较危险容易触电。 火线和零线上的电流都是正弦波。简单的来讲,对于交流电路,电流一会从火线出发通过用电设备流向零线&#xff…

上位机图像处理和嵌入式模块部署(qmacvisual预处理实战)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面,我们说了图像预处理,但是没有给出相应的实战案例。今天还是有必要做一个说明的。预处理方法虽然相关的算法很多&#…

实现el-table合并列

效果图如下 <el-table :data"atlasDataList" style"width: 100%" :span-method"spanMethod"><el-table-column prop"stationName" label"" width"180" /><el-table-column prop"atlasNumbe…

中间件-消息队列

消息队列基础知识 什么是消息队列 本处提到的消息队列是指各个服务以及系统组件/模块之间的通信&#xff0c;属于一种中间件。参与消息传递的双方称为生产者和消费者&#xff0c;生产者负责发送消息&#xff0c;消费者负责处理消息。 消息队列作用 通过异步处理&#xff0…

Java 多线程(超详细讲解)上篇

多线程可以使程序在同一时间内执行多个操作&#xff0c;采用Java中的多线程机制可以使计算机资源得到更充分的利用&#xff0c;多线程技术在网络编程中有广泛的应用。一、进程与线程 进程是程序的一次动态执行过程&#xff0c;它是从代码加载、执行中到执行完毕的一个完整过程…

你知道三拳打死镇关西的故事吗?郑屠户做了什么让鲁达竟将他置于死地?

你知道三拳打死镇关西的故事吗&#xff1f;郑屠户做了什么让鲁达竟将他置于死地&#xff1f; 《水浒传》第二集里&#xff0c;咱们看到了鲁提辖&#xff0c;也就是鲁达&#xff0c;他为啥要打郑屠户&#xff0c;也就是人们常说的镇关西。这鲁提辖可是个仗义疏财的好汉&#xf…

好委屈,东方甄选为何总是被供应商骗?

东方甄选最近很委屈。 315晚会过后&#xff0c;知名打假人王海爆料&#xff0c;称315晚会曝光的槽头肉扣肉在东方甄选和小杨哥的直播间里销售过。 东方甄选赶忙去问了问供应商情况。 供应商的回答让他感到暖心&#xff0c;表示虽然315晚会曝光了我们公司违规使用糟头肉&…

vue3项目

案例用到的知识点如下&#xff1a; ① vite 创建项目 ② 组件的封装与注册 ③ props ④ 样式绑定 ⑤ 计算属性 ⑥ 自定义事件 ⑦ 组件上的 v-model 效果如下图&#xff1b; 页面2 项目结构&#xff1a; 初始化项目 在终端运行以下的命令&#xff0c;初始化 vite 项目&#xf…

每日五道java面试题之mybatis篇(五)

目录&#xff1a; 第一题. 实体类属性名和表中字段名不⼀样 &#xff0c;怎么办?第二题. Mybatis是否可以映射Enum枚举类&#xff1f;第三题. Mybatis能执⾏⼀对⼀、⼀对多的关联查询吗&#xff1f;第四题. Mybatis是否⽀持延迟加载&#xff1f;原理&#xff1f;第五题. 如何获…

每日三个JAVA经典面试题(十七)

1.Java 中的线程池是如何实现的 Java中的线程池主要通过java.util.concurrent包提供的Executor框架实现。线程池的核心是重用一组现有线程来执行任务&#xff0c;而不是为每个任务创建新线程。这样做可以减少因频繁创建和销毁线程带来的开销&#xff0c;提高系统资源的利用率&…

Android逆向(二)-系统调试开关

Android逆向(二)-系统调试开关 本篇文章主要介绍下android下的系统调试开关. 1: build.prop简介 android中有一些常用的配置信息都存放在一个文件中,如:设备系统/版本号/Cpu等信息. 而这个文件就是/system/build.prop 我们先简单看下这个文件: zhzh:~/workSpace$ adb she…

【项目实践day06】JWT令牌相关

什么是JWT 简洁的、自包含的格式&#xff0c;用于在通信双方以json数据格式安全的传输信息。 由于数字签名的存在&#xff0c;这些信息是可靠的。 jwt就是将原始的json数据格式进行了安全的封装&#xff0c;这样就可以直接基于jwt在通信双方安全的进行信息传输了。简洁&#…

Playwright中locator() 方法快速定位网页元素[全面总结]

Playwright 是一个用于浏览器自动化的库&#xff0c;它支持多种浏览器和多种语言。在 Playwright 中&#xff0c;page.locator() 方法用于创建一个元素定位器&#xff08;Element Locator&#xff09;。元素定位器是一个强大的工具&#xff0c;可以帮助你在页面上找到并操作元素…

【前端基础】什么是视口?

视口 了解视口相关概念及理想视口的设置 是移动Web开发非常重要环节。 什么是视口&#xff1f; 视口简单来说就是浏览器显示页面内容的区域。 在PC端&#xff0c;正常的视口宽度就是整个浏览器的窗口可视区的宽度&#xff0c;会随着浏览器窗口大小的重置而缩放&#xff1b;…

CTF 题型 SSRF攻击例题总结

CTF 题型 SSRF攻击&例题总结 文章目录 CTF 题型 SSRF攻击&例题总结Server-side Request Forgery 服务端请求伪造SSRF的利用面1 任意文件读取 前提是知道要读取的文件名2 探测内网资源3 使用gopher协议扩展攻击面Gopher协议 &#xff08;注意是70端口&#xff09;python…

前端项目,个人笔记(五)【图片懒加载 + 路由配置 + 面包屑 + 路由行为修改】

目录 1、图片懒加载 步骤一&#xff1a;自定义全局指令 步骤二&#xff1a;代码中使用 ​编辑步骤三&#xff1a;效果查看 步骤四&#xff1a;代码优化 2、封装组件案例-传对象 3、路由配置——tab标签 4、根据tab标签添加面包屑 4.1、实现 4.2、bug&#xff1a;需要…

智能合约 之 部署ERC-20

Remix介绍 Remix是一个由以太坊社区开发的在线集成开发环境&#xff08;IDE&#xff09;&#xff0c;旨在帮助开发者编写、测试和部署以太坊智能合约。它提供了一个简单易用的界面&#xff0c;使得开发者可以在浏览器中直接进行智能合约的开发&#xff0c;而无需安装任何额外的…

进销存管理完整方案:那些让人头疼的进销存难题及解决方法!

什么是进销存管理&#xff1f;为何进销存管理在企业管理中如此重要&#xff1f;进销存管理的核心模块包括哪些&#xff1f;为何企业在进销存管理中常常遭遇前后方协作不畅、数据不同步等痛点&#xff1f;又该如何针对进销存管理痛点进行优化&#xff1f;本文将从进销存管理的基…