Python【Type】String

这篇博客详细介绍了Python字符串的使用,包括基本操作如转义字符、下标、查找、判断、计数、替换、分割等,以及字符串的不可变性。讨论了isdigit()、isdecimal()和isnumeric()的区别,并涵盖了编码、长度、格式化等高级主题。

基本使用

a = 'hello'
b = "good"
c = """ 哈哈哈 """
d = ''' 呵呵呵 '''

str1 = 'OK'                     # OK
str2 = "OK"                     # OK
str3 = '''I'm OK.'''            # I'm OK.
str4 = """哈哈哈"""              # 哈哈哈
str4 = "I'm ok."                # I'm ok.
str5 = 'I\'m ok.'               # I'm ok.
str6= "I\"m ok."               # I"m ok.
str7 = 'I"m ok.'                # I"m ok.
str8 = """I'm "Iron Man"."""    # I'm "Iron Man".
str9 = r'ab\ncd'                 # ab\ncd
str0 = R'ab\ncd'                 # ab\ncd
str_1 = '''这是一个段落,所以可以直接换行,不需反斜杠来声明语句未结束
    直到遇到下一个三单引号,才认为结束
但是换行会跟着换行,空格会跟着空格'''

"""
str_1输出为:

这是一个段落,所以可以直接换行,不需反斜杠来声明语句未结束
    直到遇到下一个三单引号,才认为结束
但是换行会跟着换行,空格会跟着空格
"""
\n 换行    \t 缩进

# 使用转义字符
str_2 = 'ab\ncd'

'''
str_2输出为:
ab
cd
'''


r'字符串' 表示不转义

# 不转义
str_3 = r'ab\ncd'    # ab\ncd

转义字符

转义字符 描述
\ 续行符
\ 反斜杠
单引号
" 双引号
\a 响铃
\b 退格
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\o 八进制
\x 十六进制

下标

 |  P  |  y  |  t  |  h  |  o  |  n  |
    0     1     2     3     4     5
   -6    -5    -4    -3    -2    -1

查找 find、index、rfind、rindex

s.find(sub[, start[, end]) -> int
s.rfind(sub[, start[, end]) -> int
s.index(sub[, start[, end]) -> int
s.rindex(sub[, start[, end]) -> int

没r找第一个,有r找最后一个
find找不到返回-1,index找不到报错

s = 'abcdefghijkl abundance gg'
### Python 字符串操作与方法 #### 基本字符串转换函数 Python 提供了一系列内置的方法来处理字符串。其中一种常见的需求是将字符串中的单词首字母大写,这可以通过 `str.capitalize()` 方法实现[^1]: ```python s = "hello world" capitalized_s = s.capitalize() print(capitalized_s) # 输出: Hello world ``` 对于更复杂的场景,比如希望每个单词的首字母都大写,则可以利用列表推导式结合 `capitalize` 函数完成这一目标: ```python def capitalize_words(s, sep=' '): return (sep or ' ').join(word.capitalize() for word in s.split(sep)) sentence = "this is an example sentence." formatted_sentence = capitalize_words(sentence) print(formatted_sentence) # 输出: This Is An Example Sentence. ``` #### 序列特性对字符串的影响 值得注意的是,在讨论字符串时不可避免会涉及到其作为序列的一部分属性。Python 中的字符串属于不可变序列类型,这意味着一旦创建就不能更改;但是支持索引和切片操作。这种设计既保证了一定程度上的安全性也提高了程序执行效率[^2]。 #### 使用第三方库扩展功能 除了标准库外,还可以借助像 SpaCy 这样的自然语言处理工具包来进行更加深入的文字分析工作。例如下面这段代码展示了如何加载一段英文文本并提取其中名词短语实体信息[^3]: ```python import spacy nlp = spacy.load('en_core_web_sm') text = "This is a sample text containing some entities like Apple Inc., New York City." doc = nlp(text) for ent in doc.ents: print(f"Entity: {ent.text}, Type: {ent.label_}") ``` 上述例子不仅体现了 Python 对于字符串基本操作的支持,同时也展现了通过集成外部资源进一步增强应用能力的可能性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TCP404

老板大方~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值