03_Python数据类型_字符串

在这里插入图片描述

Python的基础数据类型

  • 数值类型:整数、浮点数、复数、布尔
  • 字符串
  • 容器类型:列表、元祖、字典、集合

字符串

  • 在Python中,字符串(String)是一种非常重要的数据类型,用于表示文本数据。
  • 字符串是不可变的,这意味着一旦创建了字符串,就不能更改其中的内容。
  • 创建字符串:可以使用单引号(’ ‘)、双引号(" ")或三引号(’‘’ ‘’’ 或 “”" “”")来创建字符串。
# 创建字符串,单引号
s1 = 'Python'
print(s1)
# 创建字符串 双引号
s2 = "Python"
print(s2)
# 创建字符串,三引单号
s3 = '''床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。'''
print(s3)
# 创建字符串,三单引号
s3 = """床前看月光,
疑是地上霜。
举头望山月,
低头思故乡。"""
print(s3)

字符串定义时,可以使用续行符,在代码编辑器中进行换行。

# 续行符 \
s4 = "窗前明月光,\
疑是地上霜。"
print(s4)

字符串的基本操作

  • 拼接: 使用 + 运算符可以拼接两个字符串。
  • 重复: 使用 * 运算符可以重复字符串。
  • 索引: 使用索引可以访问字符串中的单个字符,索引从0开始。
  • 切片: 使用切片可以获取字符串的一部分。

拼接

# 拼接
s1 + s2

重复

# 重复
s1 * 3

索引

  • 访问序列中某一个元素
    • 语法格式:字符串名[index]
      • index范围:0…len()-1
      • index正数:从左到右顺序进行索引。
      • index负数:从右到左顺序进行索引。
print(s1[0])
print(s1[-6])

切片

  • 获取序列中一定区域的元素。
    • 语法格式:字符串名[start🔚step]
      • start: 起始位置:正数从左到右,否则从右到左,默认0
      • end: 结束位置,不包含end,默认len(str)
      • step: 代表获取元素的方向。默认1
        • 正数,从左到右切取,要求start位置必须在end位置左侧;
        • 负数,从右到左切取,要求start位置必须在end位置右侧。
# Pyt
print(s1[0:3:1])
# Pto
print(s1[0:5:2])

常用运算

  • s1 in/not in s2:s1是否存在s2中,返回boolen
  • s1 is s2:两个对象是否同一个
  • s1 == s2:两个内容是否同一个,作为字符串来说,is==结果相同。
  • id(object):返回object的内存地址(唯一标识)。
  • 字符串比较:==、!=、>、<、>=、<=
  • 字符串大小写转换:upper、lower、swapcase、capitalize
  • 字符串查找:find、index、rfind、rindex、startswith、endswith
  • 字符串替换:replace、strip、lstrip、rstrip
  • 字符串分割:split、rsplit、partition、rpartition
  • 字符串格式化:format、%
  • 字符串转数字:int、float
  • 字符串转义:\n、\t、\r、\b、\f、\v、\0、\xhh、\uhhhh、\Uhhhhhhhh
'P' in s1
'p' not in s1
id(s1)
# 字符串查找
s = "Hello Python!"
# 子串在字符串中第一次出现的位置
s.index("o")
# 从第5个字符开始查找
s.index("o",5)
# join 将字符串拼接
"-".join(["a","b","c","d"])
# 字符串替换
# replace 将old替换成new,默认全部替换。
s.replace("o","--",1)
# split 切割,默认空值;结果存成列表(list)
s.split()
# strip 去掉前后空字符
# lstrip 去掉左侧空字符
# rstrip 去掉右侧空字符
s3 = "    Hello Python!  \n"
s3.strip()
# 大小写转换
# lower 转小写
# upper 转大写
s3.lower()
s3.upper()

字符串格式化

Python支持多种字符串格式化的方法,包括:

  • 百分号格式化: % 格式化。
  • str.format(): 使用 str.format() 方法。
name = "张三"
age = 20
formatted_str = "姓名:%s,年龄:%d" % (name, age)
formatted_str2 = "姓名:{}, 年龄:{}".format(name, age)
formatted_str3 = f"姓名:{name}, 年龄:{age}"
print(formatted_str)
print(formatted_str2)
print(formatted_str3)

字符串编码和解码

Python中的字符串在内存中以Unicode表示,但存储到文件或通过网络传输时,需要将其编码为字节。可以使用 encode() 方法进行编码,使用 decode() 方法进行解码。

utf8_str = "你好".encode('utf-8')
original_str = utf8_str.decode('utf-8')
print(utf8_str)
print(original_str)

字符串是Python编程中不可或缺的部分,掌握字符串的操作对于编写Python程序至关重要。

附件

本文对应的jupyter notebook源码链接,欢迎下载练习:https://download.csdn.net/download/fx_yzjy101/89754107

如有问题请留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值