首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python 基础之字符串

python 基础之字符串

作者头像
用户12558604
发布2026-06-17 17:17:36
发布2026-06-17 17:17:36
130
举报

一、字符串的创建与基本特性

1. 创建

代码语言:javascript
复制
# 单引号创建
str1 = 'hello world'

# 双引号创建(与单引号无本质区别)
str2 = "hello world"

# 三引号创建多行字符串
str3 = '''第一行
第二行
第三行'''

# 转义字符处理引号嵌套
str4 = '拾光 "Hello"'
str5 = "拾光 'Hello'"

2. 特性

  • 不可变性:字符串创建后不能修改其中的字符 面试题可能会考 python数据类型那些是可变和不可变
代码语言:javascript
复制
s = "hello"
# s[0] = 'H'  # 会报错:'str' object does not support item assignment
  • 可迭代性:可以直接遍历字符串中的字符
代码语言:javascript
复制
for char in "hello":
    print(char)
  • 长度获取:使用 len() 函数
代码语言:javascript
复制
s = "hello"
print(len(s))  # 输出:5

二、字符串的索引与切片

1. 索引

从 0 开始计数:

代码语言:javascript
复制
s = "python"
print(s[0])  # 输出:p
print(s[2])  # 输出:t

支持负数索引(从末尾开始计数):

代码语言:javascript
复制
s = "python"
print(s[-1])  # 输出:n(最后一个字符)
print(s[-3])  # 输出:h

2. 切片操作

切片用于获取字符串的子串,语法:s[start:end:step]

代码语言:javascript
复制
s = "abcdefgh"

# 获取从索引1到4(不包含4)的子串
print(s[1:4])  # 输出:bcd

# 从开始到索引3
print(s[:4])   # 输出:abcd

# 从索引5到结束
print(s[5:])   # 输出:fgh

# 步长为2(每隔一个字符取一个)
print(s[::2])  # 输出:aceg

# 反转字符串
print(s[::-1]) # 输出:hgfedcba 高频面试题

三、常用方法

1. 大小写转换

代码语言:javascript
复制
s = "Hello World"

print(s.lower())      # 全部小写:hello world
print(s.upper())      # 全部大写:HELLO WORLD
print(s.title())      # 首字母大写:Hello World
print(s.capitalize()) # 第一个单词首字母大写:Hello world
print(s.swapcase())   # 大小写互换:hELLO wORLD

2. 查找与替换

代码语言:javascript
复制
s = "hello world, hello python"

# 查找子串位置
print(s.find("hello"))      # 输出:0(首次出现的位置)
print(s.rfind("hello"))     # 输出:13(最后出现的位置)
print(s.index("world"))     # 输出:6(与find类似,但找不到会报错)

# 替换子串
print(s.replace("hello", "hi"))  # 输出:hi world, hi python
print(s.replace("hello", "hi", 1))  # 只替换第一次出现

3. 去除空白字符

代码语言:javascript
复制
s = "  hello world  \n"

print(s.strip())   # 去除两端空白:hello world
print(s.lstrip())  # 去除左端空白:hello world  
print(s.rstrip())  # 去除右端空白:  hello world

4. 分割与连接

代码语言:javascript
复制
s = "apple,banana,orange"

# 分割字符串
print(s.split(","))  # 输出:['apple', 'banana', 'orange']
print(s.split(",", 1))  # 只分割一次:['apple', 'banana,orange']

# 连接字符串
fruits = ['apple', 'banana', 'orange']
print(",".join(fruits))  # 输出:apple,banana,orange

5. 判断字符串特性

代码语言:javascript
复制
s1 = "hello"
s2 = "12345"
s3 = "Hello123"

print(s1.isalpha())    # 全是字母:True
print(s2.isdigit())    # 全是数字:True
print(s3.isalnum())    # 字母和数字:True
print(s1.islower())    # 全小写:True
print(s3.istitle())    # 首字母大写:False
print(s1.startswith("he"))  # 以指定字符串开头:True
print(s1.endswith("lo"))    # 以指定字符串结尾:True

6. 字符串的 Unicode 操作

代码语言:javascript
复制
# 获取字符的 Unicode 编码
print(ord('A'))  # 65
print(ord('中'))  # 20013

# 根据 Unicode 编码获取字符
print(chr(65))    # A
print(chr(20013)) # 中

#Python #Python字符串

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程拾光 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、字符串的创建与基本特性
    • 1. 创建
    • 2. 特性
  • 二、字符串的索引与切片
    • 1. 索引
    • 2. 切片操作
  • 三、常用方法
    • 1. 大小写转换
    • 2. 查找与替换
    • 3. 去除空白字符
    • 4. 分割与连接
    • 5. 判断字符串特性
    • 6. 字符串的 Unicode 操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档