【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本篇将详细介绍Python中的字符串类型及其常见操作,包括字符串的定义、转义字符的使用、字符串的连接与格式化、字符串的重复和切片、不可变性、编码与解码以及常用内置方法等。通过本篇学习,用户将掌握字符串的操作技巧,并能灵活处理文本数据。

本篇将详细介绍Python中的字符串类型及其常见操作,包括字符串的定义、转义字符的使用、字符串的连接与格式化、字符串的重复和切片、不可变性、编码与解码以及常用内置方法等。通过本篇学习,用户将掌握字符串的操作技巧,并能灵活处理文本数据。


一、字符串的定义与基本使用

1.1 字符串的定义
  1. 单引号和双引号字符串

    greeting1 = '你好,Python!'
    greeting2 = "欢迎学习Python"
    print(type(greeting1), type(greeting2))
    

    输出

    <class 'str'> <class 'str'>
    
  2. 多行字符串

    description = """这是一段多行字符串的例子。
    它可以跨越多行,
    不需要额外的换行符。"""
    print(description)
    

    输出

    这是一段多行字符串的例子。
    它可以跨越多行,
    不需要额外的换行符。
    
  3. 包含中文字符的字符串

    s1 = "欢迎来到Python编程世界"
    print(s1)
    

    输出

    欢迎来到Python编程世界
    

1.2 字符串的不可变性

在Python中,字符串是不可变的,这意味着字符串一旦创建就无法修改。

s = "hello"
# s[0] = "H"  # 会报错,因为字符串不可变
new_s = "H" + s[1:]  # 创建一个新的字符串
print(new_s)  # 输出 'Hello'

二、转义字符

2.1 常见转义字符
字符 Hex值 说明
\n 0A 换行(Line Feed)
\t 09 水平制表符(Tab)
\r 0D 回车符(Carriage Return)
\' 27 单引号
\" 22 双引号
\\ 5C 反斜杠符号
\v 0B 垂直定位
\f 0C 换页(Form Feed)
\a 07 响铃
\b 08 退格符(Backspace)
  1. 转义字符示例

    s = "你好,\nPython"
    print(s)
    

    输出

    你好,
    Python
    
2.2 使用 r 取消转义

通过在字符串前加上 rR,可以取消转义字符的效果,使其原样输出。

s1 = '欢迎使用\nPython'
s2 = r'欢迎使用\nPython'
print('普通字符串:', s1)
print('原始字符串:', s2)

输出

普通字符串: 欢迎使用
Python
原始字符串: 欢迎使用\nPython

三、字符串的常见操作

3.1 字符串的长度

使用 len() 函数获取字符串的长度。

str1 = 'Python编程'
print(len(str1))  # 输出 6

3.2 字符串连接
  1. 使用 + 拼接

    part1 = 'Python'
    part2 = '编程'
    combined = part1 + ' ' + part2
    print(combined)
    

    输出

    Python 编程
    
  2. 使用 join() 拼接

    parts = ['Python', '是', '最流行的编程语言']
    print(' '.join(parts))
    

    输出

    Python 是 最流行的编程语言
    

3.3 格式化字符串
  1. 使用 % 格式化

    name = 'Python'
    year = 2024
    print('%s 是 21世纪最流行的编程语言之一,年 %d' % (name, year))
    
  2. 使用 f-string

    language = 'Python'
    level = '初级'
    print(f"{language} 是一门 {level} 编程语言")
    

四、字符串的其他操作

4.1 重复字符串
repeat = "学编程 "
print(repeat * 3)

输出

学编程 学编程 学编程

4.2 字符串切片

通过切片操作获取字符串的子字符串。

s = "Python编程基础"
print(s[0:6])  # 输出 'Python'
print(s[6:])   # 输出 '编程基础'
print(s[::2])  # 输出 'Pto编基'

4.3 反转字符串
s = "Python"
print(s[::-1])  # 输出 'nohtyP'

4.4 判断字符串包含
s = "Python编程"
print("编程" in s)  # True
print("Java" not in s)  # True

五、字符串内置方法

  1. 大小写转换

    s = "Python"
    print(s.upper())  # 输出 'PYTHON'
    print(s.lower())  # 输出 'python'
    
  2. 查找子字符串

    s = "Python编程"
    print(s.find("编程"))  # 输出 6
    
  3. 去除两端空白字符

    s = "  Python编程  "
    print(s.strip())  # 输出 'Python编程'
    
  4. 拆分与合并

    s = "Python,Java,C++"
    languages = s.split(",")
    print("-".join(languages))
    

六、编码与解码

s = "Python"
s_utf8 = s.encode('utf-8')
print(s_utf8)  # b'Python'

print(s_utf8.decode('utf-8'))  # 'Python'

七、小结

本篇详细介绍了Python中的字符串类型,包括字符串的定义、不可变性、转义字符、字符串拼接与格式化、重复与切片操作,还补充了内置方法与编码解码技巧。通过本篇学习,用户将掌握各种字符串操作技巧,并灵活应对文本处理需求。


上一篇: 「Mac上学Python 10」基础篇4 - 布尔类型详解

下一篇: 「Mac上学Python 12」基础篇6 - 输入输出与格式化详解


目录
相关文章
|
2月前
|
存储 数据安全/隐私保护 索引
Python 散列类型三以及函数基础
【10月更文挑战第11天】
Python 散列类型三以及函数基础
|
2月前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
66 5
|
2月前
|
数据安全/隐私保护 Python
【10月更文挑战第17天】「Mac上学Python 28」基础篇9 - 条件语句与逻辑判断
在Python中,条件语句和逻辑判断是控制程序执行流程的关键工具,帮助程序在不同条件下做出不同决策。通过本篇的学习,您将掌握单选、双分支、多选结构、单行条件表达式、条件嵌套、条件判断的类型和逻辑运算符的用法,从而更灵活地控制程序执行流程。
50 5
|
2月前
|
Python
【10月更文挑战第18天】「Mac上学Python 29」基础篇10 - 循环结构与迭代控制
在Python中,循环结构是控制程序执行的重要工具。通过学习本篇内容,您将掌握如何使用for循环和while循环来高效地处理重复任务,并了解break、continue和else的使用方式。同时,我们还会探索嵌套循环和典型应用场景中的实际应用。
41 2
|
2月前
|
存储 算法 Python
【10月更文挑战第16天】「Mac上学Python 27」小学奥数篇13 - 动态规划入门
本篇将通过 Python 和 Cangjie 双语介绍动态规划的基本概念,并解决一个经典问题:斐波那契数列。学生将学习如何使用动态规划优化递归计算,并掌握编程中的重要算法思想。
101 3
|
2月前
|
Python
【10月更文挑战第15天】「Mac上学Python 26」小学奥数篇12 - 图形变换与坐标计算
本篇将通过 Python 和 Cangjie 双语实现图形变换与坐标计算。这个题目帮助学生理解平面几何中的旋转、平移和对称变换,并学会用编程实现坐标变化。
66 1
|
2月前
|
移动开发 数据可视化 Python
【10月更文挑战第13天】「Mac上学Python 24」小学奥数篇10 - 数列求和
本篇将通过 Python 和 Cangjie 双语实现数列求和的计算。通过这个题目,学生将学会如何通过公式法和循环法求解等差数列与等比数列的和。
71 3
|
2月前
|
算法 数据可视化 Python
【10月更文挑战第14天】「Mac上学Python 25」小学奥数篇11 - 最大公约数与最小公倍数
本篇将通过 Python 和 Cangjie 双语实现最大公约数(GCD)和最小公倍数(LCM)的计算。这个题目帮助学生理解如何运用数学算法,并将其与编程实现结合。
52 1
|
2月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
33 0
|
2月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)