day03
字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号 ( ' 或 " ) 来创建字符串。创建字符串很简单,只要为变量分配一个值即可
# 单引号
str1 = 'Hello World!'
# 双引号
str2 = "Python Runoob"
# 三引号
str3 = """Hello World I Love You """
字符串的输入输出
格式化输出
name = "WY"
age = 20
heigth = 170.5
print("我的名字是%s"%name)
print("我今年%d岁了"%age)
print("我的身高是%.2f"%heigth)
print("大家好,我叫{},我今年{}岁,我的身高是{}".format(name,age,heigth))
print(f"大家好,我叫{name},我今年{age}岁,我的升高是{heigth}")
输入input()
>>>name = input("请输入你的名字:")
>>>"小羊"
>>>print(type(name))
>>>age = input("请输入你的年龄:")
>>>20
>>>print(type(age))
访问字符串中的值
下标⼜叫 索引,就是编号。⽐如⽕⻋座位号,座位号的作⽤:按照编号快速找到对应的座位。 注意点:下标从0开始进行计算
var1 = "hello python"
print(var1[1])
print(var1[2])
print(var1[4])
# 输出结果
>>>e
>>>l
>>>o
字符串中的切片
切⽚是指对操作的对象截取其中⼀部分的操作。字符串、列表、元组都⽀持切⽚操作
- 不包含结束位置下标对应的数据, 正负整数均可;
- 步⻓是选取间隔,正负整数均可,默认步⻓为1。
name = "hellopython"
print(name[2:5]) # 从2开始,到5结束(不会拿到5本身)
print(name[2:5:1]) # 从2开始,到5结束,步长为1(不会拿到5本身)
print(name[:5]) # 从0开始,下表为5结束(不会拿到本身)
print(name[1:]) # 从1开始,一直到结束
print(name[:]) # 拿取所有
print(name[::2]) # 从0开始,步长为2,拿取所有
print(name[:-1]) # 从0开始,到最后一个数结束(-1代表最后一个数,不包含-1本身)
print(name[-4:-1]) # 从倒数第四个开始,到倒数第一个结束(不包含-1本身)
print(name[::-1]) # 从-1开始,倒着打印字符串,步长为1
print(name[::-2]) # 从-1开始,倒着打印字符串,步长为2
字符串常用操作方法
Python3 的字符串操作方法包括 string 替换、复制、连接、比较、查找、大小写转换、分割 、判断等。
查找
含义: 所谓字符串查找⽅法即是查找⼦串在字符串中的位置或出现的次数。
find():检测某个字符串是否包含在这个字符串中,如果在,返回这个字符串开始的位置下标,否则则返回-1。
- 语法
lstr.find(str, start=0, end=len(lstr))
开始和结束位置下标可以省略,表示在整个字符串序列中查找。
- 实例
# 字符串序列.find(⼦串, 开始位置下标, 结束位置下标)
var = "hello and python and hello world"
print(var.find("and")) # 查找到and首字母下标
print(var.find("and",8,20)) # 查找到下标为8-20,and首字母下标
print(var.find("ors")) # 查找ors,如果没有,则返回-1
index():检测某个⼦串是否包含在这个字符串中,如果在返回这个⼦串开始的位置下标,否则则报异常。
- 语法
lstr.index(str, start=0, end=len(lstr))
注意:开始和结束位置下标可以省略,表示在整个字符串序列中查找。
- 实例
# 字符串序列.index(⼦串, 开始位置下标, 结束位置下标)
var = "hello and python and hello world"
print(var.index("and")) # 查找到and首字母下标
print(var.index("and",8,20)) # 查找到下标为8-20,and首字母下标
print(var.index("ors")) # 查找ors,如果没有,则报错
count():返回某个⼦串在字符串中出现的次数
- 语法
lstr.count(str, start=0, end=len(lstr))
注意:开始和结束位置下标可以省略,表示在整个字符串序列中查找。
- 实例
# 字符串序列.count(⼦串, 开始位置下标, 结束位置下标)
var = "hello and python and hello world"
print(var.count("and")) # 查看在字符串var中,and出现了多少次
print(var.count("ands")) # 如果没有,则返回0次
print(var.count("and",8,20)) # 在一个区间内查找and出现的次数
拓展(了解即可)
var = "hello and python and hello world"
# rfind(): 和find()功能相同,但查找⽅向为右侧开始。
print(var.rfind("and"))
# rindex():和index()功能相同,但查找⽅向为右侧开始。
print(var.rindex("and"))
修改
replace():替换内容
- 语法
1str.replace(str1, str2, 1str.count(str1))
- 实例
# 字符串序列.replace(旧⼦串, 新⼦串, 替换次数)
var = "hello and python and hello world"
print(var.replace("and","和")) # 将里面所有的and替换为和
print(var.replace("and","和",1)) # 将and替换为和,只替换一次
注意:替换次数如果超出⼦串出现次数,则替换次数为该⼦串出现次数。
注意:数据按照是否能直接修改分为可变类型和不可变类型两种。 字符串类型的数据修改的时候不能改变原有字符串,属于不能直接修改数据的类型即是不可变类型。
split():按照指定字符分割字符串。
- 语法
1str.split(str=" ", maxspilt='')
注意:maxspilt表示的是分割字符出现的最大次数
- 实例
var = "hello and python and hello world"
print(var.split("and")) # 以and为界,分隔开其他字符串,返回一个列表
print(var.split("and",1)) # 以and为界,分隔开其他字符串,只分割一次,返回一个列表
连接
join():⽤⼀个字符或⼦串合并字符串,即是将多个字符串合并为⼀个新的字符串。
- 语法
语法: 'sep'.join(iterable)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串
- 实例
# 字符或⼦串.join(多字符串组成的序列)
list1 = ["hello", "python", "i", "love", "you"]
t1 = ("hello", "python", "i", "love", "you")
set1 = {"hello", "python", "i", "love", "you"}
print("__".join(list1)) # 将列表转化为字符串,并且使用指定符号隔开
print(",".join(t1)) # 将元组转化为字符串,并且使用指定符号隔开
print("|".join(set1)) # 将集合转化为字符串,并且使用指定符号隔开
删除
lstrip():删除字符串左侧空⽩字符。
var = " hello and python and hello world "
print(var.lstrip()) # 删除左侧空格
rstrip():删除字符串右侧空⽩字符。
var = " hello and python and hello world "
print(var.rstrip()) # 删除右侧空格
strip():删除字符串两侧空⽩字符。
var = " hello and python and hello world "
print(var.strip()) # 删除两侧空格
判断
isalpha():如果字符串所有字符都是字⺟则返回 True, 否则返回 False。
语法
mystr1 = 'hello'
mystr2 = 'hello12345'
print(mystr1.isalpha()) # 结果:True
print(mystr2.isalpha()) # 结果:False
isdigit():如果字符串只包含数字则返回 True 否则返回 False。
语法
mystr1 = 'aaa12345'
mystr2 = '12345'
print(mystr1.isdigit()) # 结果: False
print(mystr2.isdigit()) # 结果:False
isalnum():如果字符串所有字符都是字⺟或数字则返 回 True,否则返回False。
语法
mystr1 = 'aaa12345'
mystr2 = '12345-'
print(mystr1.isalnum()) # 结果:True
print(mystr2.isalnum()) # 结果:False
isspace():如果字符串中只包含空⽩,则返回 True,否则返回 False。
语法
mystr1 = '1 2 3 4 5'
mystr2 = ' '
print(mystr1.isspace()) # 结果:False
print(mystr2.isspace()) # 结果:True
其他方法
startswith():检查字符串是否是以指定⼦串开头
语法
# 字符串序列.startswith(⼦串, 开始位置下标, 结束位置下标)
var = "hello and python and hello world"
print(var.startswith("hello")) # 开头是hello,返回True
print(var.startswith("and")) # 开头不是and,返回False
print(var.startswith("and",6,20)) # 在索引6-20,开头是and,返回True
endswith():检查字符串是否是以指定⼦串结尾
语法
var = "hello and python and hello world"
print(var.endswith("and")) # 结尾不是and,返回False
print(var.endswith("world")) # 结尾时world,返回True
print(var.endswith("and",0,9)) # 在0到9的索引范围,是and结尾,返回True
capitalize():将字符串第⼀个字符转换成⼤写。
var = "hello and python and hello world"
print(var.capitalize()) # 将字符串第⼀个字符转换成⼤写。
title():将字符串每个单词⾸字⺟转换成⼤写。
var = "hello and python and hello world"
print(var.title()) # 将字符串每个单词⾸字⺟转换成⼤写。
upper():将字符串中⼩写转⼤写。
var = "hello and python and hello world"
print(var.upper()) # 将字符串中⼩写转⼤写。
lower():将字符串中⼤写转⼩写。
var = "hello and python and hello world"
print(var.lower()) # 将字符串中⼤写转⼩写。
ljust():返回⼀个原字符串左对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串
rjust():返回⼀个原字符串右对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串
center():返回⼀个原字符串居中,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串
字符串运算
a = "Hello",b = "Python"
字符串连接 | >>>a b | 'HelloPython' | |
---|---|---|---|
[] | 通过索引获取字符串中字符 | >>>a[1] | 'e' |
[ : ] | 截取字符串中的一部分 | >>>a[1:4] | 'ell' |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | >>>"H" in a | True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | >>>"M" not in a | True |
r | 取消转义 | >>>r“你\n好” | 你\n好 |
% | 格式字符串 |
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbbaea
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13