字符串篇(二)

文章目录

  • 1.10 format()函数
  • 1.11 f-string 格式化字符串
  • 1.12 index()函数
  • 1.13 isalnum()函数
  • 1.14 isalpha()函数
  • 1.15 isdecimal()函数
  • 1.16 isdigit()函数
  • 1.17 isidentifier()函数

1.10 format()函数

在 Python 中,format 是一个内建方法,用于格式化字符串。你可以使用它来插入和格式化字符串中的值。format 方法可以接受多个参数,并且可以使用花括号 {} 来标记参数的位置。

下面是一些 format 方法的例子:
基本用法

text = "Hello, {}!"
formatted_text = text.format("world")
print(formatted_text)  # 输出: Hello, world!

带有位置参数的格式化

text = "{} is {} years old."
formatted_text = text.format("Alice", 30)
print(formatted_text)  # 输出: Alice is 30 years old.

使用关键字参数进行格式化

text = "{name} is {age} years old."
formatted_text = text.format(name="Alice", age=30)
print(formatted_text)  # 输出: Alice is 30 years old.

使用索引进行格式化

text = "The first item is {} and the second is {}."
items = ["apple", "banana"]
formatted_text = text.format(items[0], items[1])
print(formatted_text)  # 输出: The first item is apple and the second is banana.

使用格式化规范

pi = 3.1415926
formatted_text = "Pi is approximately {:.2f}.".format(pi)
print(formatted_text)  # 输出: Pi is approximately 3.14.

在这个例子中,{:.2f} 是一个格式化规范,其中 .2f 表示将浮点数格式化为有两位小数的形式。
与 f-string 结合使用(Python 3.6+)

从 Python 3.6 开始,你还可以使用 f-string,这是一种更简洁、更直观的字符串格式化方式:

name = "Alice"
age = 30
formatted_text = f"{name} is {age} years old."
print(formatted_text)  # 输出: Alice is 30 years old.

f-string 允许你在字符串中直接嵌入表达式,并使用花括号 {} 包围它们。

总的来说,format 方法和 f-string 都是 Python 中非常有用的字符串格式化工具,你可以根据需要选择使用它们。f-string 因为其简洁性和易用性,在 Python 3.6 及更高版本中越来越受欢迎。

1.11 f-string 格式化字符串

在 Python 3.6 及以上版本中,f-string(格式化字符串字面值)是一种新的字符串格式化方式,它使得在字符串中嵌入表达式变得更加简单和直观。f-string 使用前缀 f 或 F 来标识,并且在大括号 {} 中可以直接写入表达式。

下面是一些使用 f-string 格式化字符串的例子:
基本用法

name = "Alice"
age = 30
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string)  # 输出: My name is Alice and I am 30 years old.

使用表达式

x = 5
y = 10
formatted_string = f"The sum of {x} and {y} is {x + y}."
print(formatted_string)  # 输出: The sum of 5 and 10 is 15.

格式化数字

pi = 3.14159
formatted_string = f"Pi is approximately {pi:.2f}."
print(formatted_string)  # 输出: Pi is approximately 3.14.

在这个例子中,{pi:.2f} 表示将 pi 变量格式化为保留两位小数的浮点数。
调用方法或函数

def greet(name):return f"Hello, {name}!"print(greet("Bob"))  # 输出: Hello, Bob!

使用字典

person = {'name': 'Alice', 'age': 30}
formatted_string = f"My name is {person['name']} and I am {person['age']} years old."
print(formatted_string)  # 输出: My name is Alice and I am 30 years old.

嵌套大括号

如果需要在 f-string 中包含字面量的大括号字符,你需要使用双大括号 {{ 或 }} 来表示。

formatted_string = f"This is a literal curly brace: {{}}."
print(formatted_string)  # 输出: This is a literal curly brace: {}.

f-string 提供了非常灵活且简洁的字符串格式化方式,并且在很多情况下比 str.format() 方法更加直观和易读。随着 Python 的发展,f-string 已经成为了最受欢迎的字符串格式化方法之一。

1.12 index()函数

在Python中,index() 是一个字符串(str)类的方法,用于找出子字符串在父字符串中首次出现的位置的索引。如果找到了子字符串,它返回子字符串在父字符串中首次出现的起始索引(即第一个字符的位置);如果没有找到,它将抛出一个 ValueError 异常。

以下是 index() 方法的基本用法:

# 创建一个字符串
s = "Hello, world!"# 使用 index() 方法查找子字符串的位置
index_position = s.index("world")
print(index_position)  # 输出: 7# 如果子字符串不存在,将抛出 ValueError 异常
try:s.index("earth")
except ValueError as e:print(e)  # 输出: substring not found

在上面的例子中,s.index(“world”) 返回 7,因为子字符串 “world” 在字符串 s 中首次出现的位置是从索引 7 开始的。

index() 方法还可以接受一个可选的 start 和 end 参数,用于指定在父字符串中搜索子字符串的范围:

s = "banana"# 在索引 1 到 4 的范围内查找子字符串 "an"
index_position = s.index("an", 1, 4)
print(index_position)  # 输出: 1# 超出范围的 start 或 end 会导致 ValueError 异常
try:s.index("an", 1, 100)  # end 索引超出字符串长度
except ValueError as e:print(e)  # 输出: end index is out of rangetry:s.index("an", -100, 1)  # start 索引小于 0
except ValueError as e:print(e)  # 输出: start index is out of range

在这个例子中,s.index(“an”, 1, 4) 在索引 1 到 4 的范围内查找子字符串 “an”,并返回第一个找到的索引位置,即 1。

使用 index() 方法时,请确保你确信子字符串存在于父字符串中,或者准备好处理可能抛出的 ValueError 异常。

1.13 isalnum()函数

isalnum() 是 Python 中字符串(str)对象的一个方法,用于检查字符串中的所有字符是否都是字母或数字。如果字符串中的所有字符都是字母或数字,它返回 True;如果包含任何其他类型的字符(例如空格、标点符号、特殊符号等),它返回 False。

这里是如何使用 isalnum() 方法的例子:

# 创建一个字符串
s1 = "HelloWorld123"# 使用 isalnum() 方法检查字符串是否只包含字母和数字
print(s1.isalnum())  # 输出: True# 创建一个包含空格的字符串
s2 = "Hello World 123"# 使用 isalnum() 方法检查字符串是否只包含字母和数字
print(s2.isalnum())  # 输出: False# 创建一个包含标点符号的字符串
s3 = "Hello, World!"# 使用 isalnum() 方法检查字符串是否只包含字母和数字
print(s3.isalnum())  # 输出: False

在上面的例子中,s1.isalnum() 返回 True,因为 s1 中的所有字符都是字母或数字。然而,s2 和 s3 分别包含空格和标点符号,所以它们调用 isalnum() 方法时返回 False。

这个方法在处理用户输入或验证字符串格式时非常有用,例如,当你需要确保用户只输入了字母和数字时。

1.14 isalpha()函数

isalpha() 是 Python 中字符串(str)对象的一个方法,用于检查字符串中的所有字符是否都是字母(即 a-z、A-Z)。如果字符串中的所有字符都是字母,并且字符串至少有一个字符,那么它返回 True;如果字符串包含任何非字母字符(例如数字、空格、标点符号等)或者字符串为空,那么它返回 False。

以下是如何使用 isalpha() 方法的例子:

# 创建一个全字母字符串
s1 = "HelloWorld"# 使用 isalpha() 方法检查字符串是否只包含字母
print(s1.isalpha())  # 输出: True# 创建一个包含数字的字符串
s2 = "Hello123"# 使用 isalpha() 方法检查字符串是否只包含字母
print(s2.isalpha())  # 输出: False# 创建一个包含空格的字符串
s3 = "Hello World"# 使用 isalpha() 方法检查字符串是否只包含字母
print(s3.isalpha())  # 输出: False# 创建一个空字符串
s4 = ""# 使用 isalpha() 方法检查字符串是否只包含字母
print(s4.isalpha())  # 输出: False

在上面的例子中,s1.isalpha() 返回 True,因为 s1 中的所有字符都是字母。然而,s2、s3 和 s4 分别包含数字、空格和没有字符,因此它们调用 isalpha() 方法时返回 False。

这个方法在处理文本数据或验证用户输入时特别有用,特别是当你需要确保一个字符串仅由字母组成时。

1.15 isdecimal()函数

isdecimal() 是 Python 中字符串(str)对象的一个方法,用于检查字符串中的所有字符是否都是十进制数字字符。如果字符串中的所有字符都是 ‘0’ 到 ‘9’ 之间的数字,它返回 True;如果包含任何其他字符(包括其他数字系统的字符,如 ‘①’、‘Ⅱ’ 等),它返回 False。

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

# 创建一个只包含十进制数字的字符串
s1 = "1234567890"# 使用 isdecimal() 方法检查字符串是否只包含十进制数字
print(s1.isdecimal())  # 输出: True# 创建一个包含非十进制数字的字符串
s2 = "123a456"# 使用 isdecimal() 方法检查字符串是否只包含十进制数字
print(s2.isdecimal())  # 输出: False# 创建一个包含其他数字系统的字符的字符串
s3 = "ⅠⅡⅢ"# 使用 isdecimal() 方法检查字符串是否只包含十进制数字
print(s3.isdecimal())  # 输出: False# 创建一个包含空格的字符串
s4 = "123 456"# 使用 isdecimal() 方法检查字符串是否只包含十进制数字
print(s4.isdecimal())  # 输出: False

在上面的例子中,s1.isdecimal() 返回 True,因为 s1 中的所有字符都是十进制数字。然而,s2、s3 和 s4 分别包含非十进制数字字符、其他数字系统的字符和空格,因此它们调用 isdecimal() 方法时返回 False。

isdecimal() 方法对于验证用户输入是否只包含有效的十进制数字非常有用,尤其是在处理需要数字输入的场景,如密码验证、表单输入等。
isdigit()和isdecimal
()的区别如下12:

  • 作用不同:isdigit()是检测字符串是否只由数字组成,包括09、中文数字等;isdecimal()是检测字符串是否只由十进制数字组成,只包括09。
  • 返回值不同:isdigit():如果字符串只包含数字则返回True,否则返回False;isdecimal():如果字符串只包含十进制数字则返回True,否则返回False。

1.16 isdigit()函数

isdigit() 是 Python 中字符串(str)对象的一个方法,用于检查字符串中的所有字符是否都是数字字符。如果字符串中的所有字符都是 ‘0’ 到 ‘9’ 之间的数字,它返回 True;如果包含任何其他字符(包括字母、空格、标点符号等),它返回 False。

以下是如何使用 isdigit() 方法的例子:

# 创建一个只包含数字的字符串
s1 = "1234567890"# 使用 isdigit() 方法检查字符串是否只包含数字
print(s1.isdigit())  # 输出: True# 创建一个包含字母的字符串
s2 = "123a456"# 使用 isdigit() 方法检查字符串是否只包含数字
print(s2.isdigit())  # 输出: False# 创建一个包含空格的字符串
s3 = "123 456"# 使用 isdigit() 方法检查字符串是否只包含数字
print(s3.isdigit())  # 输出: False# 创建一个包含特殊符号的字符串
s4 = "123#456"# 使用 isdigit() 方法检查字符串是否只包含数字
print(s4.isdigit())  # 输出: False

在上面的例子中,s1.isdigit() 返回 True,因为 s1 中的所有字符都是数字。然而,s2、s3 和 s4 分别包含字母、空格和特殊符号,因此它们调用 isdigit() 方法时返回 False。

这个方法在处理需要确保字符串只包含数字的场景时非常有用,例如验证用户输入的密码、电话号码或邮政编码等是否有效。

1.17 isidentifier()函数

在Python中,str.isidentifier() 方法用于检查字符串是否是一个有效的Python标识符。一个有效的标识符必须遵循Python的命名规则,包括:

  • 以字母(a-z,A-Z)或下划线(_)开头。
  • 其余部分可以是字母、下划线或数字(0-9)。
  • 不能是Python的保留关键字。

str.isidentifier() 方法会返回一个布尔值,如果字符串是一个有效的标识符,则返回 True;否则返回 False。

下面是如何使用 str.isidentifier() 方法的例子:

# 创建一个有效的Python标识符
identifier = "my_variable"# 检查它是否是一个有效的标识符
print(identifier.isidentifier())  # 输出: True# 创建一个无效的标识符(以数字开头)
invalid_identifier1 = "123_variable"# 检查它是否是一个有效的标识符
print(invalid_identifier1.isidentifier())  # 输出: False# 创建一个无效的标识符(包含空格)
invalid_identifier2 = "my variable"# 检查它是否是一个有效的标识符
print(invalid_identifier2.isidentifier())  # 输出: False# 创建一个与Python关键字相同的字符串
keyword = "if"# 检查它是否是一个有效的标识符(虽然'if'是一个关键字,但它也是一个有效的标识符)
print(keyword.isidentifier())  # 输出: True# 检查一个空字符串是否是有效的标识符
empty = ""# 空字符串不是有效的标识符
print(empty.isidentifier())  # 输出: False

在上面的例子中,identifier.isidentifier() 返回 True,因为 my_variable 是一个有效的Python标识符。然而,invalid_identifier1 和 invalid_identifier2 分别因为以数字开头和包含空格而返回 False。尽管 keyword 是一个Python关键字,但它仍然是一个有效的标识符,因此 keyword.isidentifier() 返回 True。空字符串 empty 不是一个有效的标识符,因此返回 False。

请注意,虽然Python的关键字是有效的标识符,但通常不建议使用它们作为变量名或函数名,因为这样做可能会导致命名冲突和混淆。

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

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

相关文章

Windows 基本操作快捷键

Windows 基本操作快捷键 1. Windows 7 专业版2. Keyboard shortcuts in WindowsReferences 1. Windows 7 专业版 2. Keyboard shortcuts in Windows Win 键是键盘上图标像窗户键。 快速切换窗口 Alt Tab 快速移到网页末 Ctrl End 快速移到网页首 Ctrl Home 锁屏 Wi…

蓝牙耳机连上电脑后播放音频一卡一卡的还有声音变形,电脑连接后总是容易断开蓝牙

蓝牙耳机连上电脑后播放音频一卡一卡的还有声音变形,电脑连接后总是容易断开蓝牙 问题描述问题排查可能6可能7电脑蓝牙驱动问题 结语: 问题描述 蓝牙耳机连上电脑后播放音频一卡一卡的还有声音变形,电脑连接后总是容易断开蓝牙。 关键之前我…

[M单调栈] lc1793. 好子数组的最大分数(单调栈+双指针+思维转换)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接:1793. 好子数组的最大分数 相关题目: [单调栈] lc84. 柱状图中最大的矩形、aw131. 直方图中最大的矩形(单调栈算法对比模板题) 2. 题目解析 一道需要转换思维的题目,需要将其转换为&a…

学习大数据,所需要的SQL基础(3)

文章目录 mysql函数字符串函数字符串函数列表概览用户环境准备字符串连接函数字符串大小写处理函数移除空格函数子串函数 数值函数数值函数列表常用数值函数练习 日期函数日期函数列表常用日期函数的练习 sql练习查询练习 mysql函数 MySQL中的函数都是针对指定的列进行操作的 …

【代码分享】二十三种测试函数(关注可免费获取)

智能优化算法测试函数简介 智能优化算法测试函数是为了在优化算法研究和开发中测试算法性能的规范问题集合。这些测试函数模拟了真实世界优化问题的不同方面,包括局部最小值、最大值、全局最优解,以及多种复杂性如高维度、非线性、不连续等。优化算法,如遗传算法、粒子群优…

大数据面试题 —— Kafka

目录 消息队列 / Kafka 的好处消息队列的两种模式什么是 KafkaKafka 优缺点你在哪些场景下会选择 Kafka讲下 Kafka 的整体结构Kafka 工作原理 / 流程Kafka为什么那么快/高效读写的原因 / 实现高吞吐的原理生产者如何提高吞吐量(调优)kafka 消息数据积压&…

什么是组态软件?Web组态软件又是什么?

从事相关工作的对“组态软件”应该都不陌生,那Web组态软件又是什么呢?本文将对Web组态可视化软件(下称“Web组态软件”)做简单介绍,可视化编辑器是Web组态软件中的一个重要功能模块。除了编辑器,还有哪些功能模块?又…

15届蓝桥杯第二期模拟赛所有题目解析

文章目录 🧡🧡t1_求余🧡🧡思路代码 🧡🧡t2_灌水🧡🧡思路代码 🧡🧡t3_字符显示🧡🧡思路代码 🧡🧡t4_区间最大和…

yum安装mysql、数据库tab自动补全

一 centos7上面没有mysql,它的数据库名字叫做mariadb (自带 5.7版本) 一 centos7 安装mariadb [rootlocalhost ~]#yum install mariadb-server -y [rootlocalhost ~]#systemctl start mariadb.service [rootlocalhost ~]#systemctl stop f…

第1关:统计文件中的字符

open(name[, mode[, buffering]])函数可以打开诸如txt,csv等格式的文件。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬ 如下定义read_file()函数: def read_fi…

linux之权限管理和组

一,ACL权限 1.1,什么是acl权限? ACL是Access Control List的缩写,即访问控制列表。可以通过下列的实例来理解ACL的作用: 思考如何实现如下的权限控制: 每个项目成员在有一个自己的项目目录,…

SMART PLC升降温速率计算

1、单自由度增量式PID温度控制系统框图(数字量PWM输出) https://rxxw-control.blog.csdn.net/article/details/136732932https://rxxw-control.blog.csdn.net/article/details/136732932 1、温度监测1 2、温度监测2 待续...

Windows Terminal配置 美化

Windows 终端自定义提示符设置 | Microsoft Learn 安装PowerShell7 在 Windows 上安装 PowerShell - PowerShell | Microsoft Learn 设置默认为 PowerShell7 安装 在powerShell 开启远程权限 Set-ExecutionPolicy RemoteSigned -scope CurrentUserscoop 执行 iwr -useb ht…

[BX]和loop指令

文章目录 [BX]和loop指令1 [bx]2 Loop指令3 在Debug中跟踪用loop指令实现的循环程序4 Debug和汇编编译器Masm对指令的不同处理5 loop和[bx]的联合应用6 段前缀7 一段安全的空间8 段前缀的使用 [BX]和loop指令 1 [bx] 我们用[bx]表示一个内存单元,它的段地址默认在…

腾讯云服务器多少钱一个月?5元1个月,这价格没谁了

2024腾讯云服务器多少钱一个月?5元1个月起,腾讯云轻量服务器4核16G12M带宽32元1个月、96元3个月,8核32G22M配置115元一个月、345元3个月,腾讯云轻量应用服务器61元一年折合5元一个月、4核8G12M配置646元15个月、2核4G5M服务器165元…

力扣1. 两数之和

思路:用一个map存放 已遍历过的元素和下标; 若当前元素是nums[i], 且该元素的另一半 target-nums[i] 在已遍历过的map里面,则返回两个元素的下标; class Solution {public int[] twoSum(int[] nums, int target) {int[] ans new…

BFS模板

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、173. 矩阵距离(acwing)二、5475 聚会 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着…

5年经验之谈 —— 总结自动化测试与性能测试的区别!

很多刚刚接触自动化测试和性能测试的同学感觉性能测试和自动化测试是没什么区别的,就像小编刚刚接触自动化测试和性能测试的时候一样,区别就是:自动化测试是一个用户在测试,而性能测试需要并发,需要设计各种场景。测试…

单目测距那些事儿(上) _ 从MobileEye谈起

单目测距那些事儿(上) | 从MobileEye谈起 全面专业的自动驾驶学习资料:链接 前言 在ADAS领域,有个功能叫自适应巡航控制(Adaptive Cruise Control, ACC)。 ACC是一种纵向距离控制,具体包括发现目标车辆、判断目标车辆所在路径、测量相对本车的距离和速…

Vulnhub靶机渗透:DC-7打靶记录

前言 自信自强,来自于不怕苦、不怕难的积淀。宝剑锋从磨砺出,梅花香自苦寒来;任何美好理想,都离不开筚路蓝缕、手胼足胝的艰苦奋斗! 靶场介绍 DC-7是一个初中级的靶场,需要具备以下前置知识:…