字符串学习笔记

一、字符串的概念

字符串是一种在编程中常用的数据类型,用于表示文本数据。在 Python 中,字符串是不可变的序列,可以包含字母、数字、符号等字符。Python 允许使用单引号 (') 或双引号 (") 来创建字符串。

py 复制代码
strOne = 'string'
strTwo = "string"
print(type(strOne), type(strTwo)) # <class 'str'> <class 'str'>

如果字符串中包含引号,应当确保字符串中使用一种引号,而在外部使用另一种引号,否则将会出现错误。

py 复制代码
# 串中有单引号,使用双引号表示字符串
s1 = "I'm writing an article."
# 串中有双引号,使用单引号表示字符串
s2 = 'Tom said, "The weather is lovely today."'

二、字符串常用语法

  1. 加法
    用于将两个字符串相连
py 复制代码
name = 'Stan'
code = '23'
newstr = name+code  # newstr = 'Stan23'
  1. 乘法
    用于将某一字符串重复n次形成新的字符串
py 复制代码
s = 'stan'
another = s*2 # another = 'stanstan'   
  1. start = 0:stop:step = 1

    切片常用于截取字符串指定位,它不改变原字符串且有三个参数,
    注意截取的区间左闭右开,[start,stop)
    start:默认值为0,注明新串的起始位置
    stop:注明新串末尾字符的后一位的索引
    step:注明截取的步长,默认值为1
py 复制代码
s1 = "I'm writing an article."
print(s1[0]) # 输出'I'
print(s1[0:1:2]) # 输出'I'
# 切片不能用来改变原字符串的值
s1[0:3] = 'You are' # 将会报错

三、字符串格式化函数

  1. capitalize()
    用途: 将字符串的首字母大写
    是否改变原字符串:否
  2. title()
    用途: 将字符串中每一个单词的首字母大写
    是否改变原字符串:否
  3. upper()
    用途: 将字符串中所有字母大写
    是否改变原字符串:否
  4. lower()
    用途: 将字符串中所有字母小写
    是否改变原字符串:否
  5. strip()
    用途: 去除字符串两边的空白符
    是否改变原字符串:否

四、查找子串

find()

str.find(substr, startIndex, endIndex)

  • startIndex:规定查找区间的左端,默认为0
  • endIndex:规定查找区间的右端,默认为列表长度
    查找区间为左闭右开区间
    函数功能: 在原字符串中找出模版串首次出现的索引,如果查找失败就返回-1
py 复制代码
s = 'i is a variable.'
substr = 'a'
i = s.find(substr) # i = 5
print(type(i))     # <class 'int'>

count()

string.count(substring, start, end)

  • substring:
  • start:规定查找区间的左端,默认为0
  • end: 规定查找区间的右端,默认为列表长度
    查找区间为左闭右开区间
    函数功能: 在原字符串中找出模版串出现的次数,如果查找失败就返回0
py 复制代码
s = 'i is a variable.'
substr = 'a'
i = s.count(substr) # i = 3
j = s.count('f')    # j = 0
print(type(i))      # <class 'int'>

五、字符串的长度

通常使用len()函数求字符串的长度

syntax:

len(object)

py 复制代码
s = 'i is a variable.'
print(len(s)) # 16

六、字符串中的转义字符

  • \n: 换行
  • \t: 制表符
  • ': 单引号
  • ": 双引号
  • \: 反斜杠
py 复制代码
s = 'Tom said, "The weather is lovely today,\n and I\'m planning to go for a walk in the park."'
print(s)
# 运行结果:
# Tom said, "The weather is lovely today,
#  and I'm planning to go for a walk in the park."

七、字符串的类型转换

  • int(): 将字符串转换为整数
  • float(): 将字符串转换为浮点数
  • str(): 将其他类型转换为字符串
    示例:
py 复制代码
i = int("12") # i = 12
j = float("23.0") # j = 23.0
s = str(i)    # s = "12"

需要注意,用字符串表示的浮点数不能直接转成整型,但用字符串表示的整型可以直接转成浮点数(大范围不能推小范围,小范围可以推大范围)

八、字符串的类型检验

isalpha()

str.isalpha()

函数功能: 判断字符串中是否只包含字母,若是则返回True,否则返回False

py 复制代码
s = 'name'
print(s.alpha()) # 输出:True

isdigit()

str.isdigit()

函数功能: 判断字符串中是否只包含数字,若是则返回True,否则返回False

py 复制代码
s = '023'
print(s.isdigit())  # 输出:True

isspace()

str.isspace()

函数功能: 判断字符串中是否只包含空格,若是则返回True,否则返回False

py 复制代码
s = '  '
print(s.isspace()) # 输出:True
相关推荐
好奇龙猫6 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
沈浩(种子思维作者)6 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
saoys6 小时前
Opencv 学习笔记:图像掩膜操作(精准提取指定区域像素)
笔记·opencv·学习
njsgcs7 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
io_T_T7 小时前
迭代器 iteration、iter 与 多线程 concurrent 交叉实践(详细)
python
电子小白1237 小时前
第13期PCB layout工程师初级培训-1-EDA软件的通用设置
笔记·嵌入式硬件·学习·pcb·layout
华研前沿标杆游学7 小时前
2026年走进洛阳格力工厂参观游学
python
Carl_奕然7 小时前
【数据挖掘】数据挖掘必会技能之:A/B测试
人工智能·python·数据挖掘·数据分析
唯情于酒8 小时前
Docker学习
学习·docker·容器
AI小怪兽8 小时前
基于YOLOv13的汽车零件分割系统(Python源码+数据集+Pyside6界面)
开发语言·python·yolo·无人机