Python学习笔记——字符串

本文详细介绍了Python字符串的不可变性、常用操作方法,包括切片、转义字符、字符串连接及常用方法如split、join、replace等。此外,还涉及字符串的检查方法如isalpha、startswith等,以及对齐和修剪功能。了解这些基础知识对于Python编程至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串是不可变类型

不能对str[0]等直接赋值

  • 只能用字符串的各种方法进行操作
  • 或是转化为列表来操作list(str)str.split(分隔符)
    列表转字符串''.join(list)
  • 或用切片拼接 'A'+s[1:]来获得'A12345'

Python字符串支持用+操作符拼接、用*操作符重复某段字符

转义字符

Python中字符串并非所见即所得
\用来转义一些特殊字符(否则它们不能正常放在字符串中),例如'\n'换行符,'\''表示一个'符号,'\t''\"''\\'
可在字符串前加r,标记原始字符串,则打印时所见即所得

>>> print('I\'m Niko')
I'm Niko
>>> print(r'I\'m Niko')
I\'m Niko

切片

字符串切片同样遵循[start:stop:step],注意不包括stop

>>> s='012345'
>>> s[0:2]	#注意,这里仅仅是取出s[0]s[1]
'01'
>>> s[-2:]	#支持负数的下标
'45'
>>> s[::-1]	#反转
'543210'

常用字符串方法

  • str.count(substr)求子串出现次数
  • startswith(str)若字符串以str开头,返回True
    endswith(str)若字符串以str结束,返回True
  • str.find(x[, start[, end]])找出x的第一次出现的下标,失败返回-1
    str.rfind(x[, start[, end]])(从右向左)找出x的第一次出现的下标,失败返回-1

    str.rindex(str, beg=0 end=len(string))同上,失败抛出异常
  • list\tuple\str.index(x[, start[, end]])找出x的第一次出现的下标,失败抛出异常(find只能用于字符串,此方法更普适)
  • str.replace(str1, str2, num=string.count(str1)),将str1替换为str2,可以限制最大替换次数num
  • str.split(分隔符)字符串转列表、'[分隔符]'.join(list)列表转字符串
  • strip()修剪字符串首尾的空白(空格、制表符、换行符)
    rstrip()lstrip()删除右侧\左侧的空白
    也可以指定需要删除哪些字符,如'abccbaEEEbac'.strip('abc')得到'EEE'

  • upper()lower()所有字母转为大写/小写(注意,这并不改变原str
  • string.swapcase()翻转大小写
    isupper()islower()判断是否所有字母是大写/小写
  • capitalize()将所有字母变为小写后,再将第一个字母变为大写
    'dFFF FDf fdFFF'.capitalize()得到'Dfff fdf fdfff'
    string.title()将字符串中所有单词的首字母变为大写,其余字母小写
    istitle()若非空字符串中的所有单词,都满足首字母大写、其他字母小写,返回True
  • isalpha()若非空字符串只含有字母,返回True
    isdecimal()若非空字符串只含有数字,返回True
    isalnum()若非空字符串只含有数字和字母,返回True
    isspace()若非空字符串只含有空格\制表符\换行符,返回True

注意,int()只能将数字str转数字,int(非数字str)会报错
此时就需要预先检查:
'123'.isdecimal()只识别0-9数字
'²'.isdigit()isdecimal() 更广的范围,包括上标数字(如 ²)或其他特殊数字形式
'Ⅷ'.isnumeric()'四'.isnumeric()都是True,识别范围最广,涵盖所有 Unicode 数字字符,包括罗马数字、中文数字等

  • rjust()右对齐,ljust()左对齐,center()居中
    'abc'.rjust(10),默认在左侧用7个空格填充
    也可以指定填充符号,如'abc'.center(9,'*')
  • str.zfill(width)左侧填充0以达到指定宽度

该方法主要用于数字补零处理,如果字符串以符号(+ 或 -)开头,零会填充在符号之后
例如'-3'.zfill(5) = '-0003'
将数字3变为4位二进制表示:
'bin(3)[2:].zfill(4)'=‘0011’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值