python基础(二)之字符串

字符串的定义

Python中的字符串可以使用单引号、双引号和三引号(三个单引号或三个双引号)括起来

字符串的引号嵌套

单引号定义法,可以内含双引号

双引号定义法,可以内含单引号

可以使用 \ 转义特殊字符来解除引号效用,变成普通字符串

字符串的拼接和重复

使用“+”号连接字符串变量或字符串字面量,不能和非字符串类型拼接。使用“ * ”号运算符可以复制字符串。 

字符串的特点:

(1)只可以存储字符串

(2)长度任意(取决于内存大小)

(3)支持下标索引

(4)允许重复字符串存在

(5)不可以修改(增加或删除元素等)

(6)支持for循环

字符串大小比较

在程序中,字符串所用的所有字符都有其对应的ASCII码表值。字符串进行比较就是基于数字的码值大小进行比较的。

字符串是按位比较,也就是一位位进行对比,只要有一位大,那么整体就大。

字符串的增删改查

1.字符串判断及查

# .count表示字符串中元素出现的次数,可指定范围(str2中1,7表示切片的范围)
str1 = "abcdefghi"
print(str1.count("a"))

运行结果:

1


 

str2 = "abcabcefegfe"
print(str2.count("abc", 1, 7))

运行结果:

1


 

# .index表示指定元素第一次出现的索引值,可指定范围,找不到会报错
print(str2.index("bc", 1, 4))

运行结果:

1

# .find与.index相似,只不过find找不到不会报错


 



# .isdigit判断字符串是否由纯数字构成,是为True,不是则为False,其实True和False就相当于语文中的是与否
str3 = "12345678"
print(str3.isdigit())

运行结果:

True


 

# .isalpha判断字符串是否由纯字符构成,(其中纯字符只包括中文和英文,就算有空格之类的字符都不行。)
str4 = "罗 luo"
print(str4.isalpha())

运行结果:

False


 

# .endswith判断字符串结束位置字符是否为指定字符
str5 = "abcdefg"
print(str5.endswith("g"))

运行结果:

True


 

# .startswith判断字符串开始位置字符是否为指定字符
str6 = "1234567"
print(str6.startswith("2"))

运行结果:

False


 

# .islower判断字符串是否为纯小写(只区分英文字符大小写,其中有中文可以忽略)
str7 = "xiaodao罗"
print(str7.islower())

运行结果:

True

# .isupper判断字符串是否为纯大写,同上
str8 = "XIAOx罗"
print(str8.isupper())

运行结果:

False

2.切片以及字符串增删改查操作

"""
1.切片,步长
2.增删查改
"""
# 1.格式:变量名[起始:结束;步长](索引:从左到右(从0开始),从右向左,一般用于负步长(从-1开始))
# ~遵循左闭右开(包前不包后)原则
str1 = "1234567"
print(str1[0:7])
print(str1[-1:-8:-1])
print(str1[-2:-6:-3])

运行结果:

1234567

7654321

63


 

# 2.1增即拼接,字符串格式化
# + 只支持同类型拼接
str2 = "2024年了,"
str3 = "罗才练"
str4 = str2+str3
print(str4)

运行结果:

2024年了,罗才练


 

# f格式化
str5 = f"{str4},要加油了"
print(str5)

运行结果:

2024年了,罗才练,要加油了


 

# 占位符格式化(%s:占位字符串,%d:占位整数,)
str6 = "%s,一定要相信自己" % str5
print(str6)

运行结果:

2024年了,罗才练,要加油了,一定要相信自己


 

# format方法
str7 = "{},一无所有".format(str6)
print(str7)

运行结果:

2024年了,罗才练,要加油了,一定要相信自己,一无所有

# join方法()
str8 = "你怕啥?"
str9 = ",".join({str7, str8})
print(str9)

运行结果:

2024年了,罗才练,要加油了,一定要相信自己,一无所有,你怕啥?

# 一、字符串的修改
# 1.1 split 切割
str1 = "我叫罗才练"
print(str1.split("罗"))

运行结果:

['我叫', '才练']
# 1.2 replace 替换
print(str1.replace("我", "你"))
str2 = "11111111"
print(str2[-1:-6:-2].replace("1", "2", 3))

运行结果:

你叫罗才练

222


 

# 1.3 strip 去首尾两边空格
str3 = "   13245 6  "
print(str3.strip())

运行结果:

13245 6


 

# 1.4 lstrip(left 左边) 去掉左边空格
print(str3.lstrip())

运行结果:

13245 6 


 

# 1.5 rstrip(right 右边) 去掉右边空格
print(str3.rstrip())

运行结果:

   13245 6


 

# 1.6 upper 小写转大写
str4 = "sdhfhdshhja"
print(str4.upper())

运行结果:

SDHFHDSHHJA


 

# 1.7 lower 大写转小写
str5 = "HFHHDFJDH"
print(str5.lower())

运行结果:

hfhhdfjdh


 

3.练习2 字符串

# 第一题
xm = 99
xb = xm-3.5
print(xb)
# 第二题 input接受到的结果为字符串,字符串不能进行计算
a = input("请输入语文成绩:")
b = input("请输入数学成绩:")
c = input("请输入英语成绩:")
a1 = int(a)
b1 = int(b)
c1 = int(c)
print((a1+b1+c1)/3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值