04Python基础-基本数据类型-字符串

字符串赋值

单引号赋值

a = 'this is a string'
print(a) # this is a string```

双引号赋值

a = "this is a string"
print(a) # this is a string

三引号字符串赋值给变量(多行)

会保留字符串的换行格式

# 三单形式
a = '''this is 
a string'''
print(a)
# this is 
# a string

#三双形式
a = """this is 
a string"""
print(a)
# this is 
# a string

截取字符串或的子字符串

字符串的截取可以类似列表的方式进行根据索引进行获取,索引从0开始

截取指定位置(索引)的字符

a = "this is a string"
print(a[0]) # 截取字符串a的第0位 "t"

获取指定位置(索引)后面的所有字符

a = "this is a string"
print(a[1:]) # 获取字符串a索引为1及1之后的所有字符 "his is a string"

截取指定位置(索引)前面的所有字符

a = "this is a string"
print(a[:2]) # 获取字符串a索引为2但不包含2之前的所有字符 "th"

获取所有的字符

a = "this is a string"
print(a[:]) # 获取字符串a的所有字符 相当于print(a)

获取指定位置(索引区间)内的字符

a = "this is a string"
print(a[1:3]) # 获取字符串a索引从1到3(此处区间为闭后开区间)的所有字符 "hi"

获取逆向位置(索引)的单个字符

字符串索引从左往右从0开始,从右往左从-1开始

a = "this is a string"
print(a[-1]) # 获取字符串a索引为-1的字符串 "g"

获取逆向位置(索引)前面的所有字符

a = "this is a string"
print(a[:-1]) # 获取字符串a索引为-1外的其他所有索引下的字符 "this is a strin"

获取逆向位置(索引区间)内的所有字符

a = "this is a string"
print(a[-3:-1]) # 获取字符串a索引为-3 到-2内的所有字符,逆向一样遵循前闭后开区间原则 "in"

字符串的基础使用方法(常用的以*开头标注)

*strip()

删除开头和结尾的空格的空白字符

a = " this is a string "
print(a.strip())
#结果为"this is a string" 前后空格被去除

lstrip()

删除开头(左侧)的空白字符 (可以记忆为left + strip => lstrip)

a = " this is a string "
print(a.lstrip())
#结果为"this is a string " 开头(字符串左侧)空格被去除

rstrip()

删除结尾(右侧)的空白字符 (可以记忆为right + strip => rstrip)

a = " this is a string "
print(a.rstrip())
#结果为" this is a string" 结尾(字符串右侧)空格被去除

lower()

字符串转小写

a = "This is a String"
print(a.lower())
#结果为"this is a string" 字符串全部转为小写

upper()

字符串转大写

a = "This is a String"
print(a.upper())
#结果为"THIS IS A STRING" 字符串全部转为大写

capitalize()

将字符串的首字符转大写

a = "this is a string"
print(a.capitalize())
#结果为"This is a string"

title()

将字符串的每个单词的首字母转换为大写

a = "this is a string"
print(a.title())
#结果为"This Is A String"

*index()

  1. index(str):获取指定字符在字符串内的首次出现的索引
  2. index(str,start,end):获取指定字符在字符串内的指定索引区间首次出现的索引
a = "this is a string"
print(a.index("h"))
#结果为1,  "h" 在字符串a中只有一个,索引为1

print(a.index("i"))
#结果为2,  "i" 在字符串a中有三个,但是index()方法返回第一次出现的索引

print(a.index("k"))
#当使用index()方法查找一个字符不存在于原字符串中时,方法会报错

print(a.index("i",0,6))
#结果为2, "i" 在a的索引区间[0,6)内有两个,但是index()方法返回指定区间内最后第一次出现的索引

*rindex()

index方法操作相似,不过返回的是最后一个匹配的字符串的索引

a = "this is a string"
print(a.rindex("i"))
#结果为13,  "i" 在字符串a中有三个,最后一个索引为13

print(a.rindex("i",0,6))
#结果为5,  "i" 在字符串a的[0,6)区间中有两个,指定区间内最后最后一个索引为5

print(a.rindex("k"))
#当使用rindex()方法查找一个字符不存在于原字符串中时,方法会报错

*find()

find方法和index方法基本相同,
唯一区别的是,index查找不到会出现报错

a = "this is a string"
print(a.find("h"))
#结果为1,  "h" 在字符串a中只有一个,索引为1

print(a.find("i"))
#结果为2,  "i" 在字符串a中有三个,但是find()方法返回第一次出现的索引

print(a.find("k"))
#当使用find()方法查找一个字符不存在于原字符串中时,方法不会报错,返回值为-1

print(a.find("i",0,6))
#结果为2, "i" 在a的索引区间[0,6)内有两个,但是find()方法返回指定区间内最后第一次出现的索引

*rfind()

返回的字符串最后出现的位置,如果没有匹配则返回为-1

a = "this is a string"
print(a.rfind("i"))
#结果为13,  "i" 在字符串a中只有三个,最后一个索引为13

print(a.rfind("k"))
#当使用rfind()方法查找一个字符不存在于原字符串中时,方法不会报错,返回值为-1

print(a.rfind("i",0,6))
#结果为5, "i" 在a的索引区间[0,6)内有两个,但是rfind()方法返回指定区间内最后出现的索引

*split()

将字符串根据指定的分隔符进行分割,返回列表类型

a = "this is a string"
print(a.split(" "))
#将字符串a按照空格拆分,结果为['this', 'is', 'a', 'string']

print(a.split("k"))
# 如果拆分的字符串不存在于原字符串中,组返回的列表中只有一个元素,就是a
# 结果为 ['this is a string']

*replace()

将字符串中的某个字符全部替换为指定字符

a = 'this is a string'
print(a.replace("i","k"))
#结果为 "thks ks a strkng"

print(a.replace("k","f"))
# 当想要替换的字符不存在于原字符串中,则原字符串不变
# 结果为 this is a string

*count()

计算字符串中指定字符串出现的次数

a = 'this is a string'
print(a.count("i"))
# 结果为3 "i"在a中出现3次

print(a.count("k"))
# 当指定的字符不存在于原字符串中时,返回出现0次 结果为0

center()

使用指定的字符【默认空格】,进行居中对齐,
center(num,str):
num为对齐后字符总长度
str为指定的对齐字符

a = 'china'
a1 = a.center(50)
#结果为:                      china                       

a2 = a.center(50,'*')
#结果为:**********************china***********************

*endswith()

判断字符串是否以指定的字符结尾,是则返回为true,默认为false

a = "this is a string"
print(a.endswith("g"))
# 结果为 True

print(a.endswith("ing"))
# 结果为 True

print(a.endswith("a"))
# 结果为 False

print(a.endswith("k"))
# 结果为 False

*startswith()

判断字符串是否以指定的字符进行开头,是则返回为True,默认返回False

a = "this is a string"
print(a.endswith("t"))
# 结果为 True

print(a.endswith("th"))
# 结果为 True

print(a.endswith("a"))
# 结果为 False

print(a.endswith("k"))
# 结果为 False

*isalnum()

判断字符串中的所有字符是否都是字母数字,是则返回为True,默认返回False

a = "this is a string"
print(a.isalnum())
# 结果为 True

a = "this is a string123"
print(a.isalnum())
# 结果为 True

a = "this - is a string"
print(a.isalnum())
# 结果为 False

*isalpha()

判断字符不能为空,并且所有字符都是字母,是则返回为True,默认返回False

a = "this is a string"
print(a.isalpha())
# 结果为 True

a = "this is a string123"
print(a.isalpha())
# 结果为 False

*isdigit()

判断字符串是否只包含数字,是则返回为True,否则返回为False

a = "123456"
print(a.isdigit())
#结果为True

a = "123 456"
# 结果为 False 包含空格

*isnumeric()

判断字符串是否只包含数字字符,是则返回为True,否则返回为False

a = "123"
print(a.isnumeric())
# 结果为 True

a = "1.23"
print(a.isnumeric())
# 结果为 False 存在字符"."(点)

istitle()

判断字符串是否是title格式,是则返回为True,否则返回为False
(单词首字符是否大写)

a = "This Is A String"
print(a.istitle())
# 结果为 True

a = "this Is A String"
print(a.istitle())
# 结果为 False

*islower()

判断是否全部小写,是则返回为True,否则返回为False

a = "this is a string"
print(a.islower())
# 结果为 True

a = "this Is A String"
print(a.islower())
# 结果为 False

isupper()

判断字符串是否全部大写,是则返回为True,否则返回为False

a = "THIS IS A STRING"
print(a.islower())
# 结果为 True

a = "this Is A String"
print(a.islower())
# 结果为 False

isspace()

判断字符串中是否只包含空格,是则返回为True,否则返回为False

a = "   "
print(a.isspace())
# 结果为 True

a = "1 2 "
print(a.isspace())
# 结果为 False

a = ""
print(a.isspace())
# 结果为 False

*len(str)

获取字符串的长度

a = "this is a string"
print(len(a))
# 结果为16

*join()

将一个有序的列表,按指定的字符进行合并成一个新的字符串

a = ["this","is","a","string"]
print(" ".join(a))
#结果为 "this is a string"

print("#".join(a))
#结果为 "this#is#a#string"

max()

获取字符串中最大的字母

a = 'abcdfefdga'
print(max(a))
# 结果为"g"

min()

获取字符串中最小的字母

a = 'abcdfefdga'
print(min(a))
# 结果为"a"

zfill()

返回指定长度的字符串,原字符串向右对其,前面补充0

a = "1"
print(a.zfill(3))
#结果为 "001"

*format()

字符串格式化

输出

a = "178.5"
print("My height is {0}cm".format(a))
# 结果为 "My height is 178.5cm"
‘{:.2f}’.format()

保留两位小数

a = 178.5
print("My height is %scm" % '{:.2f}'.format(a))
#结果为 My height is 178.50cm
‘{:+.2f}’.format()

带符号保留两位小数

a = -178.5
print("length is %s" % '{:+.2f}'.format(a))
#结果为 length is -178.50
‘{:.0f}’.format()

不保留小数

a = 178.5
print("My height is %scm" % '{:.0f}'.format(a))
#结果为 My height is 178cm
‘{:x>5d}’.format()

左边填充,5为填充后总长度,0为填充字符,支持自定义

a =  '{:0>5d}'.format(123)
print(a)
#结果为 "00123"
‘{:x<5d}’.format()

右边填充,5为填充后总长度,0为填充字符,支持自定义

a =  '{:0<5d}'.format(123)
print(a)
#结果为 "12300"
‘{:,}’.format()

以逗号作为分隔符,常用于金额千分位的表达

a = '{:,}'.format(123456789)
print(a)
#结果为 "123,456,789"
‘{:.2%}’.format()

百分比格式

a = 0.123
print('{:.2%}'.format(a))
# 结果为 "12.30%"

a = 0.12345
print('{:.2%}'.format(a))
# 结果为 "12.35%" 会四舍五入

a = 0.12345
print('{:.3%}'.format(a))
# 结果为 "12.345%" 
‘{:>10d}’.format()

右对齐.10则为对齐后总长度

a = '{:>10d}'.format(12)
print(a)
# 结果为"        12"
‘{:<10d}’.format()

左对齐.10则为对齐后总长度

a = '{:<10d}'.format(12)
print(a)
# 结果为"12        "
‘{:^10d}’.format()

中间对齐.10则为对齐后总长度

a = '{:^10d}'.format(12)
print(a)
# 结果为"    12    "

字符串遍历

使用for循环遍历字符串中的每一个字符

a = 'this is a string'
for s in a:
	print(s)

#结果为:
t
h
i
s
 
i
s
 
a
 
s
t
r
i
n
g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@nanami

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

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

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

打赏作者

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

抵扣说明:

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

余额充值