python基础之字符串

这篇博客介绍了Python中的字符串基础知识,包括使用双引号或单引号创建字符串,通过索引访问字符,统计字符串长度及字符串中子串出现的次数,以及字符串的切片操作,如正向、反向和步长选择。

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

双引号或单引号

单引号里放双引号

字符串可以索引位置字符  str[6]

str1="hello python"
str2='我是朱"光伟"'
print(str2)
print(str1[6])
for char in str2:
    print(char)
-----------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python字符串/k01_字符串定义和遍历.py
我是朱"光伟"
p
我
是
朱
"
光
伟
"

Process finished with exit code 0

统计字符串

len(字符串)

字符串.count(字符串)小字符串在大字符串中出现的次数

count不存在是返回值为0

index查询字符串出现的位置

index不存在是会报错

判断类型
方法说明
string.isspace()

如果string中只包含空格返回ture

string.isalnum()至少有一个字符并且所有字符都是字母或数字则返回ture
string.isalpha()至少有一个字符且所有字符都有字母则返回ture
string.isdecimal()只包含数字返回ture 全角数字
string.isdigit()只包含数字返回ture 全角数字、(1)、\u00b2
string.isnumeric()

只包含数字返回ture 全角数字、汉字数字

string.istitle()是标题化的(每个单词首字母大写)返回ture
string.islower()包含至少一个区分大小写的字符,且所有这些(区分大小写的)字符都是小写,返回ture
string.isupper()包含至少一个区分大小写的字符,且所有这些(区分大小写的)字符都是大写,返回ture

 

#判断空白字符
space_str="                   \t\n\r"
print(space_str.isspace())
#判断字符串中是否只包含数字,这三个不能判断小数
#num_str="1"
#num_str="\u00b2"
num_str="一千零一"
print(num_str.isdecimal())
print(num_str.isdigit())
print(num_str.isnumeric())
查找和替换
方法说明
string.startwith(str)检查字符串是否是str开头,是则返回ture
string.endswith(str)检查字符串是否是str结束,是则返回ture
string.find(str,start=0,end=len(string))检测str是否包含在string中,如果start和end指定范围,则检查是否包含在指定给范围内,如果是返回开始的索引值,否则返回-1
string.rfind(str,strat=0,end=len(string))类似于find()函数,不过是从右边开始查找
string.index(str,start=0,end=len(string))跟find方法类似,只不过如果str不在string会报错
string.rindex(str,start=0,end=len(string))类似于index(),不过是从右边开始
string.replace(old_str,new_str,num=string.count(old))把string中的old_str替换成new.str,如果num指定,则替换不超过num次

 

hello_str="hello world"
print(hello_str.startswith("Hello"))#区分大小写
print(hello_str.endswith("world"))
#index同样可查找指定的索引
print(hello_str.find("llo"))#索引从0开始
print(hello_str.find("asdasd"))#没有不报错,返回-1
#替换字符串操作replace,返回新的字符串,不会修改原来的字符串
print(hello_str.replace("world","python"))
print(hello_str)
----------------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python字符串/k03_查找和替换.py
False
True
2
-1
hello python
hello world

Process finished with exit code 0
大小写转换
方法说明
string.capitalize()把字符串的第一个字符大写
string.title()把字符串的每个单词首字母大写
string.tower()转换string中所有大写字符为小写
string.upper()

转换string中的小写字母为大写

string.swapcase()翻转string中的大小写

 

 

文本对齐
方法说明
string.ljust(width)返回一个原字符串左对齐,并使用空格填充至长度width的新字符串
string.rjust(width)返回一个原字符串右对齐,并使用空格填充至长度width的新字符串
string.center(width)返回一个原字符串居中,并使用空格填充至长度width的新字符串

 

#假设:以下内容是从网络上抓取的
#要求:顺序并且居中对齐输出一下内容
poem=["登黄鹤楼",
      "王之涣",
      "白日依山尽",
      "黄河入海流",
      "欲穷千里目",
      "更上一层楼"]
print(poem)
for poem_str in poem:
    print("|%s|"%poem_str.center(10, " "))#可加一个字符
    print("|%s|"%poem_str.ljust(10, " "))#左对齐
----------------------------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python字符串/k04_文本对齐.py
['登黄鹤楼', '王之涣', '白日依山尽', '黄河入海流', '欲穷千里目', '更上一层楼']
|   登黄鹤楼   |
|登黄鹤楼      |
|   王之涣    |
|王之涣       |
|  白日依山尽   |
|白日依山尽     |
|  黄河入海流   |
|黄河入海流     |
|  欲穷千里目   |
|欲穷千里目     |
|  更上一层楼   |
|更上一层楼     |

Process finished with exit code 0
去除空白字符
方法说明
string.lstrip()截掉string左边(开始)的空白字符
string.rstrip()截掉string右边(末尾)的空白字符
string.strip()截掉string左右两边的空白字符

 

#假设:以下内容是从网络上抓取的
#要求:顺序并且居中对齐输出一下内容
poem=["\t\n登黄鹤楼",
      "王之涣",
      "白日依山尽\t\n",
      "黄河入海流",
      "欲穷千里目",
      "更上一层楼"]
print(poem)
for poem_str in poem:
    #先使用strip方法去除字符串中的空白字符
    #在使用center居中文本
    print("|%s|"%poem_str.strip().center(10))#可以.多连,strip不改变原字符串,所以连用去除加居中
    

 

拆分和连接
方法说明
string.partition(str)把字符串string分成一个3元素的元组(str前面,str,str后面)
string.rpartition(str)类似partition()函数,不过是从右边开始查找
string.split(str=“”,num)以str为分隔符切片string,如果num有指定值,则进分隔num+1个字符串,str默认包含‘\r','\t'.'\n'和空格
string.splitlines()按照(\r,\n,\r\n)分隔,返回一个包含各行作为元素的列表
string.join(seq)以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串
poem_str="\t\n登黄鹤楼\t王之涣\t白日依山尽\t\n黄河入海流\t欲穷千里目\n更上一层楼"
poem_list=poem_str.split()
print(poem_list)
result=" ".join(poem_list)#以空格为分隔符重组列表中的字符串获得新字符串
print(result)
-----------------------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python字符串/k06_拆分和拼接.py
['登黄鹤楼', '王之涣', '白日依山尽', '黄河入海流', '欲穷千里目', '更上一层楼']
登黄鹤楼 王之涣 白日依山尽 黄河入海流 欲穷千里目 更上一层楼

Process finished with exit code 0

字符串的切片

字符串[开始索引:结束索引:步长]

不包含结束索引

倒序索引    从-1,-2开始

012345
qwerty
-6-5-4-3-2-1

str[0:-1]返回qwert    

num_str[-1::-1]逆序

num_str[::2]

num_str[::-1]逆序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值