[Python]String Methods 字符串方法(上)

[Python]String Methods 字符串方法(上)

String Methods 字符串方法(上)

Strings implement all of the common sequence operations, along with the additional methods described below.

字符串实现所有常见的序列作,以及下面描述的其他方法。

Strings also support two styles of string formatting, one providing a large degree of flexibility and customization (see str.format(), Format String Syntax and Custom String Formatting) and the other based on C printf style formatting that handles a narrower range of types and is slightly harder to use correctly, but is often faster for the cases it can handle (printf-style String Formatting).

字符串还支持两种字符串格式样式,一种提供了很大程度的灵活性和自定义性(参见 str.format()格式字符串语法自定义字符串格式 ),另一个基于 C printf 样式格式,可处理范围较窄的类型,并且更难正确使用,但对于它可以处理的情况通常更快(printf 样式的字符串格式)。

The Text Processing Services section of the standard library covers a number of other modules that provide various text related utilities (including regular expression support in the re module).

标准库的 “文本处理服务 ”部分涵盖了许多其他模块,这些模块提供各种与文本相关的实用程序(包括 re 模块中的正则表达式支持)。

str.encode(encoding=‘utf-8’, errors=‘strict’)Return the string encoded to bytes. 返回编码为字节的字符串。encoding defaults to 'utf-8'; see Standard Encodings for possible values.编码默认为 ;有关可能的值,请参阅标准编码。errors controls how encoding errors are handled. If 'strict' (the default), a UnicodeError exception is raised. Other possible values are 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' and any other name registered via codecs.register_error(). See Error Handlers for details. errors控制如何处理编码错误。如果为 'strict'(默认值),则引发 UnicodeError 异常。其他可能的值是 'ignore''replace''xmlcharrefreplace''backslashreplace' 以及通过 codecs.register_error() 注册的任何其他名称。有关详细信息,请参阅错误处理程序 。For performance reasons, the value of errors is not checked for validity unless an encoding error actually occurs, Python Development Mode is enabled or a debug build is used. For example:出于性能原因,不会检查错误值的有效性 除非确实发生编码错误, 启用 Python 开发模式或使用调试构建 。例如:encoded_str_to_bytes = 'Python'.encode() type(encoded_str_to_bytes) <class 'bytes'> encoded_str_to_bytes b'Python' Changed in version 3.1: Added support for keyword arguments. 在 3.1 版更改: 添加了对关键字参数的支持。Changed in version 3.9: The value of the errors argument is now checked in Python Development Mode and in debug mode. 在 3.9 版更改: 现在在 Python 开发模式调试模式下检查 errors 参数的值。

str.encode(encoding='utf-8', errors='strict')是 Python 中字符串的一个方法,用于将字符串编码为字节序列。这个方法非常有用,尤其是在处理文本数据时需要将字符串转换为特定编码格式的字节数据。

语法

参数

• encoding:可选,指定编码格式。默认值是'utf-8'。常见的编码格式包括:

'utf-8':最常用的编码格式,支持多语言。

'ascii':仅支持 ASCII 字符集。

'latin1':支持西欧字符集。

'gbk':支持中文字符集。

• errors:可选,指定错误处理方式。默认值是'strict'。常见的错误处理方式包括:

'strict':遇到无法编码的字符时抛出UnicodeEncodeError

'ignore':忽略无法编码的字符。

'replace':用一个特殊的字符(如?)替换无法编码的字符。

'xmlcharrefreplace':用 XML 字符引用替换无法编码的字符。

'backslashreplace':用 Python 的反斜杠转义序列替换无法编码的字符。

str.count(sub[, start[, end]])Return the number of non-overlapping occurrences of substring sub in the range [start, end]. Optional arguments start and end are interpreted as in slice notation.返回 [startend] 范围内子字符串 sub 的非重叠出现次数。可选参数 startend 被解释为切片表示法。If sub is empty, returns the number of empty strings between characters which is the length of the string plus one. For example:如果 sub 为空,则返回字符之间的空字符串数,即字符串的长度加一。例如:'spam, spam, spam'.count('spam') 3 'spam, spam, spam'.count('spam', 5) 2 'spam, spam, spam'.count('spam', 5, 10) 1 'spam, spam, spam'.count('eggs') 0 'spam, spam, spam'.count('') 17

str.count(sub[, start[, end]])是 Python 中字符串的一个方法,用于计算子字符串sub在字符串中出现的次数。这个方法可以指定搜索的起始和结束位置,从而限制搜索范围。

语法

参数

• sub:必需,要搜索的子字符串。

• start:可选,搜索的起始位置。默认为 0。

• end:可选,搜索的结束位置。默认为字符串的长度。

返回值
返回子字符串sub在字符串中出现的次数。

示例

示例 1:基本用法

示例 2:指定搜索范围

示例 3:指定起始和结束位置

示例 4:子字符串不存在

示例 5:空字符串

注意事项

str.count()不会修改原始字符串,因为字符串在 Python 中是不可变的。它返回一个整数,表示子字符串出现的次数。

• 如果sub是空字符串,str.count()会返回字符串的长度加 1,因为每个字符之间(包括字符串的开头和结尾)都被视为一个空字符串的位置。

• 如果startend超出了字符串的范围,它们会被自动调整到字符串的有效范围内。

总结
str.count()是一个非常实用的字符串方法,适用于需要统计子字符串在字符串中出现次数的场景。它在处理文本数据时非常方便,尤其是在需要进行文本分析或格式化时。

str.center(width[, fillchar])Return centered in a string of length width. Padding is done using the specified fillchar (default is an ASCII space). The original string is returned if width is less than or equal to len(s). For example:返回以长度宽度为的字符串居中。使用指定的 fillchar(默认为 ASCII 空格)完成填充。如果宽度小于或等于 len(s), 则返回原始字符串。例如:'Python'.center(10) ' Python ' 'Python'.center(10, '-') '--Python--' 'Python'.center(4) 'Python'

str.center(width[, fillchar])是 Python 中字符串的一个方法,用于将字符串居中对齐到指定的宽度。如果字符串的长度小于指定的宽度,它会在字符串的两侧填充指定的字符(默认是空格)。

语法

参数

• width:必需,指定字符串居中对齐的总宽度。

• fillchar:可选,指定用于填充的字符。默认是空格(' ')。如果指定,必须是一个字符。

返回值
返回一个新的字符串,其中原始字符串被居中对齐到指定的宽度。如果字符串的长度已经大于或等于指定的宽度,则返回原始字符串。

示例

示例 1:基本用法

示例 2:指定填充字符

示例 3:字符串长度大于指定宽度

示例 4:使用非打印字符

注意事项

str.center()不会修改原始字符串,因为字符串在 Python 中是不可变的。它返回一个新的字符串。

• 如果fillchar不是单个字符,会抛出TypeError

• 如果width小于字符串的长度,返回原始字符串。

总结
str.center()是一个非常实用的字符串方法,适用于需要将字符串居中对齐到指定宽度的场景。它在处理文本格式化时非常方便,尤其是在生成报告或对齐文本输出时。

str.casefold()Return a casefolded copy of the string. Casefolded strings may be used for caseless matching.返回字符串的大小写折叠副本。大小写折叠字符串可用于无大小写匹配。Casefolding is similar to lowercasing but more aggressive because it is intended to remove all case distinctions in a string. For example, the German lowercase letter 'ß' is equivalent to "ss". Since it is already lowercase, lower() would do nothing to 'ß'; casefold() converts it to "ss".大小写折叠类似于小写,但更具侵略性,因为它旨在删除字符串中的所有大小写区别。例如,德语小写字母 “ß” 相当于 “ss”。由于它已经是小写的,lower()'ß' 没有任何作用; 案例折叠() 将其转换为 “SS”。The casefolding algorithm is described in section 3.13 ‘Default Case Folding’ of the Unicode Standard. 大小写折叠算法是 在 Unicode 标准的第 3.13 节“默认大小写折叠”中进行了描述 Added in version 3.3. 在 3.3 版本中添加。

str.casefold()是 Python 中字符串的一个方法,用于将字符串中的所有字符转换为小写形式,同时处理一些特殊字符的大小写折叠(case folding)。它比str.lower()更为严格,能够处理更多语言和字符集中的大小写转换问题。

语法

参数
str.casefold()不接受任何参数。

返回值
返回一个新的字符串,其中所有字符都被转换为小写形式,同时处理了特殊字符的大小写折叠。

示例

示例 1:基本用法

示例 2:处理特殊字符
str.casefold()能够处理一些特殊字符,例如德语中的"ß"(小写形式是"ss")。

示例 3:处理全大写字符串

示例 4:处理混合大小写字符串

示例 5:处理空字符串

注意事项

str.casefold()不会修改原始字符串,因为字符串在 Python 中是不可变的。它返回一个新的字符串。

str.casefold()str.lower()更为严格,能够处理更多语言和字符集中的大小写转换问题。

• 如果字符串为空或不包含任何字母字符,str.casefold()不会进行任何操作。

str.lower()的区别

str.lower()仅将字符串中的大写字母转换为小写,但不处理特殊字符的大小写折叠。

str.casefold()能够处理更多语言和字符集中的大小写转换问题,特别是一些特殊字符(如德语中的"ß")。

示例对比

总结
str.casefold()是一个非常实用的字符串方法,适用于需要将字符串中的所有字符转换为小写形式,同时处理特殊字符的大小写折叠的情况。它在处理多语言和特殊字符时比str.lower()更为强大。

str.capitalize()Return a copy of the string with its first character capitalized and the rest lowercased.返回字符串的副本,其第一个字符大写,其余字符小写。Changed in version 3.8: The first character is now put into titlecase rather than uppercase. This means that characters like digraphs will only have their first letter capitalized, instead of the full character.在 3.8 版更改: 第一个字符现在被放入标题中而不是大写。这意味着像二合字母这样的字符将仅将其第一个字母大写,而不是完整字符。

str.capitalize()是 Python 中字符串的一个方法,用于将字符串的第一个字母转换为大写,同时将其他字母转换为小写。这个方法非常适用于处理文本数据,尤其是需要将文本的首字母大写以符合语法规范时。

语法

参数
str.capitalize()不接受任何参数。

返回值
返回一个新的字符串,其中第一个字母被转换为大写,其余字母被转换为小写。

示例

示例 1:基本用法

示例 2:处理空字符串

示例 3:处理数字和符号
str.capitalize()只影响字母字符,对数字和符号没有影响。

示例 4:处理全大写字符串

示例 5:处理混合大小写字符串

注意事项

str.capitalize()不会修改原始字符串,因为字符串在 Python 中是不可变的。它返回一个新的字符串。

• 如果字符串为空或第一个字符不是字母,str.capitalize()不会进行任何操作。

总结
str.capitalize()是一个非常实用的字符串方法,适用于需要将字符串的首字母大写并确保其余部分为小写的情况。它在处理文本数据时非常方便,尤其是在需要符合语法规范的场景中。

Read more

[特殊字符]颠覆MCP!Open WebUI新技术mcpo横空出世!支持ollama!轻松支持各种MCP Server!Cline+Claude3.7轻松开发论文检索MCP Server!

[特殊字符]颠覆MCP!Open WebUI新技术mcpo横空出世!支持ollama!轻松支持各种MCP Server!Cline+Claude3.7轻松开发论文检索MCP Server!

🔥🔥🔥本篇笔记所对应的视频:🚀颠覆MCP!Open WebUI新技术mcpo横空出世!支持ollama!轻松支持各种MCP Server!Cline+Claude3.7轻松开发MCP服务_哔哩哔哩_bilibili Open WebUI 的 MCPo 项目:将 MCP 工具无缝集成到 OpenAPI 的创新解决方案 随着人工智能工具和模型的快速发展,如何高效、安全地将这些工具集成到标准化的 API 接口中成为了开发者面临的重要挑战。Open WebUI 的 MCPo 项目(Model Context Protocol-to-OpenAPI Proxy Server)正是为了解决这一问题而设计的。本文将带您深入了解 MCPo 的功能、优势及其对开发者生态的影响。 什么是 MCPo? MCPo 是一个简单、可靠的代理服务器,能够将任何基于 MCP 协议的工具转换为兼容

By Ne0inhk
Qwen3+Qwen Agent 智能体开发实战,打开大模型MCP工具新方式!(一)

Qwen3+Qwen Agent 智能体开发实战,打开大模型MCP工具新方式!(一)

系列文章目录 一、Qwen3+Qwen Agent 智能体开发实战,打开大模型MCP工具新方式!(一) 二、Qwen3+Qwen Agent +MCP智能体开发实战(二)—10分钟打造"MiniManus" 前言 要说最近人工智能界最火热的开源大模型,必定是阿里发布不久的Qwen3系列模型。Qwen3模型凭借赶超DeepSeek-V3/R1的优异性能,创新的混合推理模式,以及极强的MCP能力迅速成为AI Agent开发的主流基座模型。大家可参考我的文章一文解析Qwen3大模型详细了解Qwen3模型的核心能力。有读者私信我: “Qwen3官网特地强调增强了Agent和代码能力,同时加强了对MCP的支持,那么我该如何利用Qwen3快速开发MCP应用呢?” 这就就需要使用我们今天的主角——Qwen官方推荐的开发工具Qwen-Agent ,本期分享我们就一起学习快速使用Qwen3+QwenAgent 接入MCP服务端,快速开发AI Agent应用! 一、注册 Qwen3 API-Key 本次分享通过阿里云百炼大模型服务平台API Key请求方式调用Qwen3大模型,获取服务平台

By Ne0inhk