Python数据类型之字符串(String)

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

Python中常用的数据类型有6种,分别是:数字(Number)、字符串(String)、列表(List)、元组(Tuple)、字典(Dictionary)、集合(Set)。

字符串(String)

Python中的字符串用单引号''或者双引号""括起来,同时使用f反斜杠\转移特殊字符。

Python不支持单字符类型,单字符在Python中也是作为字符串来使用。

字符串常用操作

字符串常用的操作有:通过索引查询字符串中的单一字符、截取字符串、分割字符串、查看字符串长度、字符串判空、是否包含某一字符;

通过索引查询字符串中的字符:python中的索引有两种方式:正数代表从左边(头位置)开始,起始位为0,然后从左向右,依次递增。负数代表从右边(末尾)开始,起始位为-1,然后从右往左,依次递减。

string = 'ABCDEFG'
#索引从0开始
print(string[0]) # A
print(string[1]) # B
print(string[3]) # D
print(string[5]) # F
#索引从-1开始
print(string[-1])  # G
print(string[-2])  # F

截取字符串中的某一段字符:字符串的截取遵循左闭右开原则。

string = 'ABCDEFGHIGK'
print(string[0:3]) # ABC
print(string[3:5]) # DE

分割字符串:调用split()方法,通过字符串中的某个字符,将字符串分割为多个字符串,作为分割界限的字符串不包含在新字符串内。

 string = '001l002l003l'
 s_list = string.split('l')
 print(s_list)              # ['001', '002', '003', '']
 print(s_list[0])           # 001

 #数字1,2代表分割的次数,,没有则代表全部分割
 #分割1次
 print(string.split('l', 1)) # ['001', '002l003l']
 #分割两次
 print(string.split('l', 2)) # ['001', '002', '003l']
 #全部分割
 print(s_list)               # ['001', '002', '003', '']

查看字符串长度:通过调用len()方法,可以查看字符串的长度。

string = 'sfdgdgf'
print(len(string)) # 7

判断字符串是否为空:

  • 方式一:使用字符串长度判断,如果字符串长度为0,则为空。

    string=''
    if len(string)==0:
       print(len(string)) #0
       print("该字符串为空")#该字符串为空
    
  • 方式二:使用布尔上下文(Boolean context),在布尔上下文中,空字符串 ""、空列表 []、空元组 ()、空字典 {} 等都被视为False。因此,使用 not 关键字可以将空字符串转换为True,非空字符串转换为False。

    string=''
    if not string:
       print(not string) #True
       print("该字符串为空") #该字符串为空
    
  • 方式三:直接判断字符串是否为空。

    string=''
    if string == '':
       print(string == '') #True
       print("该字符串为空") #该字符串为空
    

判断字符串是否包含某一字符

  • 方式一:使用成员运算符in,如果字符串中包含给定的字符返回 True.。

    string='abcdefg'
    print('b' in string) # True
    
  • 方式二:使用成员运算符not in,如果字符串中不包含给定的字符返回 True。

    string='abcdefg'
    print('t' not in string)# True
    

字符串常用函数

函数 意义 示例
find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含,则返回字符的索引值,否返回-1 a = 'ABC' \n print(a.find('B'))#1
count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 a = 'ABBC'
print(a.count('B'))#2
replace(old, new [, max]) 把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。 string = 'AAAABC'
print(string.replace('A', 'B'))#BBBBBC
split(str="", num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
len(string) 返回字符串长度
lower() 转换字符串中所有大写字符为小写 string = 'Hello World'
print(string.lower())#hello world
upper() 转换字符串中所有小写字符为大写 string = 'Hello World'
print(string.upper())#HELLO WORLD
swapcase() 将字符串中大写转换为小写,小写转换为大写 string = 'Hello World'
print(string.swapcase())#hELLO wORLD
isspace() 用于检查字符串是否仅由空格字符组成。(如果字符串为空,即不包含任何字符,则它不被视为仅由空格组成,因此返回False) string=' '
print(string.isspace())
isdigit() 如果字符串只包含数字则返回 True 否则返回 False. stirng='1234ABC'
print(stirng.isdigit())#False
posted @   joudys  阅读(180)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示