Python基础数据类型与变量—字符串

1 定义

字符串 (String) 是用于表示文本的数据类型,由零个或多个字符组成的不可变序列。可以使用单引号 ('...')、双引号 ("...") 或三引号 ('''...''' 或 """...""") 创建字符串。 三引号可以用于创建多行字符串

代码:

# 创建字符串
str1 = 'Hello'
str2 = "World"
str3 = """This is a
multi-line string"""

print(str1)
print(str2)
print(str3)

结果:

2 索引和切片

字符串中的字符可以通过索引访问,也可以通过切片获取子字符串。

代码:

# 索引和切片
string = "Python"
print(f"第一个字符:{string[0]}, 最后一个字符:{string[-1]}, 切片:{string[1:4]}") # P, n, yth

结果:

3 拼接

可以使用 + 运算符将多个字符串拼接成一个字符串。

代码:

# 拼接
greeting = str1 + " " + str2
print(greeting)  # Hello World

结果:

4 格式化

可以使用 % 运算符、.format() 方法或 f-string 对字符串进行格式化。

代码:

# 格式化
name = "Alice"
age = 30
print("Hello, %s! You are %d years old." % (name, age))  # 使用 % 运算符
print("Hello, {}! You are {} years old.".format(name, age))  # 使用 .format() 方法
print(f"Hello, {name}! You are {age} years old.")  # 使用 f-string

结果:

5 常用方法

find():查找子字符串。   
replace():替换子字符串。   
split():分割字符串。   
join():连接字符串。   
upper():转换为大写。   
lower():转换为小写。   
strip():去除字符串两端的空格。 

代码:

# 常用方法
text = "  Python is awesome!  "
print(f"查找 'is' 的位置:{text.find('is')}")
print(f"替换 'awesome' 为 'great':{text.replace('awesome', 'great')}")
print(f"分割字符串:{text.split()}")
print(f"转换为大写:{text.upper()}")
print(f"转换为小写:{text.lower()}")
print(f"去除空格:{text.strip()}")

结果:

6 案例

①字符串反转

代码:

#字符串反转
def reverse_string(s):
    """
    反转字符串.

    Args:
        s: 待反转的字符串.

    Returns:
        反转后的字符串.
    """
    return s[::-1] # 使用切片实现反转

print(f"反转 'Python':{reverse_string('Python')}")

结果:

②统计字符串中某个字符出现的次数

代码:

def count_char(s, char):
    """
    统计字符串中某个字符出现的次数.

    Args:
        s: 待统计的字符串.
        char: 待统计的字符.

    Returns:
        字符出现的次数.
    """
    count = 0
    for c in s:
        if c == char:
            count += 1
    return count

print(f"字符串 'banana' 中 'a' 出现的次数:{count_char('banana', 'a')}")

结果:

③判断一个字符串是否为回文串

代码:

#判断一个字符串是否为回文串
def is_palindrome(s):
    """
    判断一个字符串是否为回文串.

    Args:
        s: 待判断的字符串.

    Returns:
        如果是回文串,返回True;否则返回False.
    """
    s = s.lower() # 忽略大小写
    return s == s[::-1]

print(f"'madam' 是否为回文串:{is_palindrome('madam')}")
print(f"'racecar' 是否为回文串:{is_palindrome('racecar')}")
print(f"'hello' 是否为回文串:{is_palindrome('hello')}")

结果:

④提取字符串中的数字或字母

代码:

#提取字符串中的数字或字母
def extract_digits(s):
    """
    提取字符串中的数字.

    Args:
        s: 待提取的字符串.

    Returns:
        提取到的数字组成的字符串.
    """
    digits = ""
    for c in s:
        if c.isdigit(): # 检查是否为数字
            digits += c
    return digits

print(f"提取 'abc123def456' 中的数字:{extract_digits('abc123def456')}")

结果:

7 应用场景

  • 文本处理   
  • 数据清洗   
  • 网络编程   
  • 用户界面   
  • 日志记录   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码上研习

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值