python第一章(下)

python系列

python第一章(上)
python第二章
python第三章(上)
python第三章(下)


一、字符串

使用单引号或双引号括起来的内容

定义方式

  1. 单引号(‘’),其中可以包含双引号。
  2. 双引号(“”),其中可以包含单引号。
  3. 三单引号(‘’’ ‘’'),其中可以包含单引号和双引号,可以跨行。
  4. 三双引号(“”" “”"),其中可以包含单引号和双引号,可以跨行。
print('Hello XiaQi')
print("'Book'书")
print('''"Python程序设计"
“C++程序设计”''')
  • 运行截图
    在这里插入图片描述

拼接

name=input("name:")
country=input("country:")
s="The world is so big."+name+"want to"+country+"see see"
print(s)
  • 运行截图
    在这里插入图片描述

索引与切片

在这里插入图片描述

s='Hello XiaQi'
print(s[0],s[-1],s[8],s[-2])
  • . 运行截图

在这里插入图片描述

切片

  1. python中文字符也提供区间访问方式,采用[头下标:尾下标]的方式,这种访问方式叫切片
  2. s[头下标:尾下标]表示在字符串去索引值从头下标到尾下标(不包括尾下标)的子字符串
  3. 若头下标缺省,表示从开始取字符串,若尾下标缺省,表示取到最后,若头下标和尾下标缺省,则取怎个字符串。
s='Hello XiaQi'
print(s[0:5],s[6:-1])
print(s[:5],s[6:])
print(s[5:2])#头下标大于尾下标,输出为空
print(s[:])
  • 运行截图
    在这里插入图片描述

设置取子串顺序

  • s[头下标:尾下标:步长]
  • 当步长值大于0,表示从左向右取字符,小于0时,从右向左取字符。
  • 步长绝对值减一,表示每次取字符的间隔为多少
s='Hello XiaQi'
print("s=",s)
print("s[0:5:1]=",s[0:5:1])#正向取
print("s[0:6:2]=",s[0:6:2])#正向取,间隔一个字符
print("s[0:6:-1]=",s[0:6:-1])#反向取,但是头下标小于尾下标,输出为空
print("s[4:0:-1]=",s[4:0:-1])#反向去,索引值0取不到
print("s[4::-1]=",s[4::-1])#反向取,从索引值4一次取到开头
print("s[::-1]=",s[::-1])#反省取整串
print("s[::-3]=",s[::-3])#反向取,间隔两个字符

在这里插入图片描述

  • 从以上代码总结
  • 若正向取,头下标大于尾下标,则输出为空,
  • 若反向去,头下标下雨尾下标,则输出为空
  • 尾下标的值是取不到的,只能取到尾下标前一个,不管正向还是反向,

小作业

  • 输入1~12的整数,输出对应的月份名称缩写
  • tip:months=“JanFebMarAprMayJunJulAugSepOctNovDec”

内置字符串运算符

运算符描述
”+“字符串拼接,例"AB"+"123"结果为AB123
”*“字符串赋值,例"Tom*3"结果为TomTomTom
”in“判断是否为子串,例"H" in "Hello"结果为True,“s” in "Hello"结果为False
s='Hello'+"XiaQi"
print(s)
print(s*2)
a="H"in"Hello"
b="h"in"Hello"
print(a,b)
  • 运行截图
    在这里插入图片描述

内置字符处理函数

函数描述
len(x)返回字符串长度
str(x)将任意类型转化为字符串类型
chr(x)返回Unicode编码为x的字符
ord(x)返回字符x的Unicode编码值
hex(x)将整数x转换为十六进制,并返回小写字符串形式
oct(x)将整数x转换为八进制,并返回小写字符串形式
s="好好学习 天天向上"
print(len(s))#返回长度
s=123
print(type(s))
a=str(s)#返回的字符串赋给a
print(type(a))
print(hex(62))#转换十六进制
print(oct(62))#转换八进制
  • 运行截图
    在这里插入图片描述
  • 使用内置字符处理函数时,原字符串对象是没有改变的,都是返回修改之后的新字符串,对原字符没有修改

内置字符串处理方法

查找类

方法描述
find(x)find用来查找一个字符串在另一个字符串指定范围(默认整个字符串)中首次出现的位置,如果不存在返回-1
rfind(x)rfind用来查找一个字符串在另一个字符串指定范围(默认整个字符串)中最后一次出现的位置,如果不存在返回-1
index(x)find用来查找一个字符串在另一个字符串指定范围(默认整个字符串)中首次出现的位置,如果不存在返回异常
rindex(x)find用来查找一个字符串在另一个字符串指定范围(默认整个字符串)中首次出现的位置,如果不存在返回异常
count(x)返回一个字符串在另一个字符串中出现的次数,不存在返回0
s="bird,fish,monkey,rabbit"
print("s.find('fish')=",s.find('fish'))#打印第一次出现的位置
a=s.index('monkey')#返回第一次出现的位置赋给a
print(a)
print("s.count('i')=",s.count('i'))#打印出现的次数
  • 运行截图
    在这里插入图片描述
  • 使用内置字符处理方法时,字符串对象是没有改变的,都是返回修改之后的新字符串对原字符没有修改

分隔类

方法描述
split(x)以指定字符为分隔符,从原字符串左端开始将其分隔成多个字符串,并返回包含分隔结果的列表(以后的章节介绍)。默认按空白符号分隔
rsplit(x)以指定字符为分隔符,从原字符串右端开始将其分隔成多个字符串,并返回包含分隔结果的列表(以后的章节介绍)
partition(x)返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串,从左边搜索
rpartition(x)只是该方法是从目标字符串的末尾也就是右边开始搜索分割符。
s="bird,fish,monkey,rabbit"
print(s)
a=s.split(',')#以逗号分隔返回列表形式
print(a)
s="I am a boy"
print(s.split())
  • 运行截图
    在这里插入图片描述

连接类

方法描述
join(x)将列表多个字符串进行连接,并在相邻两个字符串之间插入指定字符,返回新串
li=['apple','banana','pear','peach']
print(li)
print(':'.join(li))#将列表里的多个字符串用:连接
print('-'.join(li))#将列表里的多个字符串用-连接(注意后面是点不是逗号)
  • 运行截图
    在这里插入图片描述

大小写转换类

方法描述
lower()返回小写
upper()返回大写
capitalize()首字母大写
title()每个单词首字母大写
swapcase()大小写互换

s="I have two big eyes"
print('s.lower',s.lower())#转换小写
print('s.upper',s.upper())#转换大写
print('s.capitalize()',s.capitalize())#首字母大写
print('s.title()',s.title())#每个单词首字母大写
print('s.swapcase()',s.swapcase())#大小写呼唤
  • 运行截图
    在这里插入图片描述

替换类

方法描述
replace(x,y)替换字符串中指定的字符或子串,每次只能替换一个字符或子串,类似Word,记事本等文本查找功能和替换功能,不修改原字符串,返回新串
s="你是我的小呀小苹果儿"
print(s.replace("小","small"))#将小换成small
  • 运行截图
    在这里插入图片描述

删除空白

方法描述
strip()删除两端空白字符或指定字符
rstrip()删除右端空白字符或指定字符
lstrip()删除左端空白字符或指定字符
s="    abd    "
print("s=",s)
print("s.strip()=",s.strip())#删除两端空白
print("s.lstrip()=",s.lstrip())#删除右端空白
print("s.rstrip()=",s.rstrip())#删除左端空白
s="======abd======"
print(s)
print("s.strip('=')=",s.strip('='))#删除=
  • 运行截图
    在这里插入图片描述

判断开始字符

方法描述
startswith(x)检测字符串是否以指定字符开始
endswith(x)检测字符串是否以指定字符结束
s="Python程序设计.py"
print(s.startswith("Python"))
print(s.endswith("py"))
  • 运行截图
    在这里插入图片描述

判断字符串类型

方法描述
isupper()判断字符串是否全为大写
islower()判断字符串是否全为小写
isdigit()判断字符串是否全数字
isalnum()判断字符串是否数字或字母
isalpha()判断字符串是否全为字母
s='years'
print("s=",s,"s.islower()=",s.islower())#判断字符串是否全为小写
s='YEARS'
print("s=",s,"s.isupper()=",s.isupper())#判断字符串是否全为大写
s="1231513"
print("s=",s,"s.isdigit()=",s.isdigit())#判断字符串是否全数字
s="he is 10 years old"
s=s.replace(" ","")
print("s=",s,"s.isalnum()=",s.isalnum())# 判断字符串是否数字或字母
print("s=",s,"s.isalpha()=",s.isalpha())#判断字符串是否全为字母

  • 运行截图
    在这里插入图片描述

排版类

方法描述
center(x,y)指定x宽度,居中对齐,不足的用y填充
ljust(x,y)指定x宽度,左对齐,不足的用y填充
rjust(x,y)指定x宽度,右对齐,不足的用y填充
zfill(x)指定x宽度,在字符串左侧以0填充
s="Hello world"
print(s)
print("s.center",s.center(30,"="))
print("s.ljust",s.ljust(20,"*"))
print("s.rjust",s.rjust(20,"*"))
print("s.zfill",s.zfill(20))
  • 运行截图
    在这里插入图片描述

format格式化方法

  • 基本语法通过“{}”和”:“来代替以前的”%“。format可以有多个输出项,位置可以指定顺序
print("我是{}班{}号的学生{}".format("软工521",28,"XiaQi"))
print("我是{1}班{2}号的学生{0}".format("XiaQi","软工521",28))#后面的参数改变了位置,
  • 运行截图
    在这里插入图片描述
  • 当使用format格式化字符串时,需要在”{}“中首先输入”:“。
  • ”:“称为格式引导符。”:“之后分别设置<填充字符><对齐方式><宽度>
设置项可选值
<填充字符>”*“,”=“等,只能一个,默认空格
<对齐方式>^(居中)<(左对齐)>(右对齐)
<宽度>一个整数,指格式化后整个字符串的字符个数
print("{:*^20}".format("XiaQi"))#宽度20,居中对齐,*填充
print("{:=<20}".format("XiaQi"))#宽度20,左对齐,=填充
print("{:.2f}".format(3.1415926))#保留两位小数
print("{:5d}".format(24))##宽度5,右对齐,空格填充,整数形式输出
print("{:x>5d}".format(24))#宽度5,左对齐,x填充,整数形式输出
  • 运行截图
    在这里插入图片描述

强制转换

  • 在转换的数值前加想转换的类型
  • 浮点型转换整形不会四舍五入
s=2.25
print(int(s))#转换整形
s=5
print(float(s))#转换浮点型
  • 运行截图
  • 在这里插入图片描述
  • 强制转换是将表达式强制转换所需的类型
r=float(input("输入圆的半径"))
print(r)
year=int(input("输入年份"))
print(year)
  • 强制转换可代替eval
  • 运行截图
    在这里插入图片描述

总结

主要对字符串的操作方法,了解即可,需要用在查。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

X在学了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值