首页 > 编程语言 >Python学习笔记(七)字符串操作

Python学习笔记(七)字符串操作

时间:2023-03-05 21:58:31浏览次数:43  
标签:返回 end name Python 笔记 print 字符串 hello

一、数据类型转换

%s 字符串

%d 数值整数

%f 浮点数

format f表达式 挖坑填坑法则

1 name = '张三'
2 age = 18
3 height = 180.5
4 
5 print('我的名字是%s' % name)
6 print('我今年%d岁' % age)
7 print('我身高是%.2f' % height)
8 print('我叫{},我今年{}岁,我的身高是{}'.format(name, age, height))
9 print(f'我叫{name},我今年{age}岁,我的身高是{height}')

二、获取字符串中的数据

1.索引

1 brother = 'hello python'
2 print(brother)
3 # 查找p
4 # 从左边开始索引从0开始
5 # 从右边开始索引从-1开始
6 print(brother[6])
7 print(brother[-6])
1 # 扩展:enumerate 函数
2 brother = 'hello python'
3 for index, i in enumerate(brother):
4     print(index, i)

 

2.字符串中的切片

语法:name[start,end,step]

start 起始值 默认为0

end 终止值 不包含自身,左闭右开

step 步长 默认为1

 1 name = 'hellopython'
 2 print(name[2:5])  # 从2开始,到5结束(不包含5)
 3 print(name[2: 5: 1])  # 从2开始,到5结束,步长为1(不包含5)
 4 print(name[:5])  # 从0开始,到5结束(不包含5)
 5 print(name[1:])  # 从1开始,一直到结束
 6 print(name[:])  # 拿取所有
 7 print(name[::2])  # 从0开始,步长为2,拿取所有
 8 print(name[:-1])  # 从0开始,到最后一个数结束(-1代表最后一个数,不包含自身)
 9 print(name[-4:-1])  # 从倒数第四个数开始,到倒数第一个结束(不包含-1本身)
10 print(name[::-1])  # 从-1开始,倒着打印字符串,步长为1 逆序
11 print(name[::-2])  # 从-1开始,倒着打印字符串,步长为2 逆序
12 
13 # 注意:起始值到终止值与步长的方向必须一致
14 print(name[-1:-4:-1])
15 print(name[6:2:-2])

 

三、字符串常见操作方法

替换、复制、连接、比较、查找、大小写转换、分割、判断等

重点:替换、连接、查找、分割、判断

1.查找:查找字串在字符串中出现的位置或出现的次数

find() 检测某个字符串是否包含在这个字符串中,如果在,返回这个字符串开始的位置下标,否则返回-1

语法:find(sub,start,end)

sub 要查找的字串

start 起始位置 默认开头

end 终止位置 默认结尾

1 name = 'hello and python and hello world'
2 print(name.find('and'))
3 print(name.find('and', 8, 20))

index() 检测某个字符串是否包含在这个字符串中,如果在,返回这个字符串开始的位置下标,否则报错

语法:index(sub,start,end)

sub 要查找的字串

start 起始位置 默认开头

end 终止位置 默认结尾

1 name = 'hello and python and hello world'
2 print(name.index('ands'))  # index找不到就会报错
3 print(name.index('and', 8, 20))

count() 返回某个字串在字符串中出现的次数,只能找一层

1 li = [1, 2, 3, 4, 5, 6, 6, 6, 7, 8, 9, [6, 6, 6, 6, 6, ]]
2 print(li.count(6))
3 print(li[-1].count(6))

 

2.修改:对字符串当中的内容进行修改

replace(old,new,count) 进行替换的过程中并不会改变原来的字符串 而是会返回一个副本 重新赋值打印即可

old 老的

new 新的

count 次数 不指定count 全部替换

1 # 注意:字符串是不可变数据类型
2 name = 'hello and python and hello world'
3 new_name = name.replace('and', '和', 3)
4 print(name.replace('and', '和', 1))
5 print(new_name)

3.分割

split(self,sep,maxsplit)

sep 分隔符 默认是空格

maxsplit 最大的分割次数 分割3次实际上是生成了4个元素

1 # 分割后的数据类型会变成列表
2 name = 'hello and python and hello world'
3 li_name = name.split(' ', maxsplit=3)
4 li_name = name.split()
5 print(li_name)

4.连接

join() 字符串与字符串之间的连接

'sep'.join(iterable)

sep 分隔符,可以为空

iterable 可迭代对象,要连接的元素序列、字符串、元组、字典

如果说一个对象能够用for循环遍历 那么他就是可迭代对象

1 name = 'hello and python and hello world'
2 list1 = ['hello', 'python', 'i', 'love', 'you']
3 list2 = [1, 2, 3, 4, 5]  # 列表中的元素并不是字符串,无法连接
4 print('__'.join(list1))  # 将列表转换为字符串,并且使用指定符号隔开

5.删除

strip() 只能删除左右两边的符号 不能删除中间的

1 name = '@hello and @@python and hello world@@@'
2 print(name.strip())  # 默认删除两侧空格
3 print(name.strip('@'))
4 print(name.replace('@', ''))

6.判断

isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

isdigit() 如果字符串只包含数字则返回 True 否则返回 False

isalnum() 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

isspace() 如果字符串中只包含空格,则返回 True,否则返回 False

其他方法:

startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查,语法:str.startswith(str, beg=0,end=len(string))

endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置,语法:str.endswith(suffix[, start[, end]])

capitalize() 将字符串的第一个字母变成大写,其他字母变小写。对于 8 位字节编码需要根据本地环境,语法:str.capitalize()

title() 方法返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

upper() 方法将字符串中的小写字母转为大写字母

lower() 方法转换字符串中所有大写字符为小写

ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串,语法:str.upper()

rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串

center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格

7.拼接

1 a = 'hello'
2 b = 'baby'
3 print(a + b)  # 字符串运算 叫拼接

8.转义

# r转义
print('告诉老默\n我想吃鱼了!')
print(r'告诉老默\n我想吃鱼了!')  # 会将转义字符取消 让其成为一个普通字符

print('\\')  # \特殊字符
print(r'\\')

 

标签:返回,end,name,Python,笔记,print,字符串,hello
From: https://www.cnblogs.com/JayHan/p/17181793.html

相关文章

  • 数字电子技术基础系统方法笔记第一章
    1.1数字和模拟信号及系统模拟量具有连续的数值,数字量具有离散的数值。自然加中大多数可以测量的对象都是模拟量。example:模拟量:温度,湿度,压力,速度。数字量:计算机储存......
  • Kotlin 学习笔记(一)
    最近开始学习Kotlin语言了,打算搞个笔记系列,这是首篇~基本类型varage:Int=123//标准语法,声明一个可变变量agevalname:String="Tom"//标准语法,声明......
  • Java小练习--统计字符串中字母和数字的个数
    题目统计字符串中字母和数字的个数完整代码packagetestimportjava.util.Scanner;publicclasscustomer1{publicstaticvoidmain(Stringargs[]){System.out.......
  • 第一天笔记
    目录Hive建表建表1:全部使用默认建表方式建表2:指定location(这种方式也比较常用)建表3:指定存储格式建表4:createtablexxxxasselect_statement(SQL语句)(这种方式比较常用......
  • python 财务预测
    importnumpyasnpimportpandasaspdfromsklearn.linear_modelimportLassoinputfile1='E:/data/data.csv'data=pd.read_csv(inputfile1)lasso=Lasso(1000)l......
  • 《鞅与一类关于停时的概率与期望问题》学习笔记
    发现自己学的脑子都没了,重新系统的学(抄)一遍 $1\\$鞅与鞅的停时定理$1.1\$鞅定义$1.1.1.\$随机过程对于每一个参数\(t\inT,\omega\in\Omega\),\(X(......
  • 【基数排序算法详解】Java/Go/Python/JS/C不同语言实现
    说明基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的......
  • python3 queue模块
    1.模块介绍Python的Queue模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue。这些队列都实现了......
  • 「学习笔记」概率和期望
    「学习笔记」概率和期望点击查看目录目录「学习笔记」概率和期望例题P1850[NOIP2016提高组]换教室P2473[SCOI2008]奖励关P4284[SHOI2014]概率充电器P3232[HNOI......
  • stata:删除字符串的空格
    //替换所有空格//下面语句结果为4displength(subinstr("1233","","",.))//itrim(s)将字符间多于一个空格缩减为一个空格,对首尾空格不起作用displengt......