3.3 公共功能
1.字符串相加
v1 = "linzai" + "是个好人"
print(v1) # linzai是个好人
2.字符串相乘
v1 = "linzai" *3
print(v1) # linzailinzailinzai
3.计算字符串的长度
v1 = "linzai"
data = len(v1) # 计算字符串的长度
print(data) # 6
4.获取字符串的字符,索引
字符串 | 今 | 天 | 是 | 个 | 好 | 天 | 气 |
---|---|---|---|---|---|---|---|
正序 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
倒序 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
message = "今天是个好天气"
print (message[0]) # 今,正序计算
print (message[1]) # 天
print (message[2]) # 是
print (message[3]) # 个
print (message[-1]) # 气 ,倒序计算
print (message[-2]) # 天
补充注意:字符中是能通过索引取值,但是无法修改值(字符串在内部存储时不允许对内部元素修改,想修改只能重新创建。)
message = "今天是个好天气"
data = 0
while data < len(message):
value = message[data] # 正序
print(value)
data += 1
# 今
# 天
# 是
# 个
# 好
# 天
# 气
message = "今天是个好天气"
data = len(message) -1
while data >= 0 :
value = message[data]
print(value)
data -= 1
# 气
# 天
# 好
# 个
# 是
# 天
# 今
5.获取字符串中的子序列,切片
message = "今天真的是个好天气呀"
print (message[0:2]) # 前取后不取,取0-1,今天
print (message[2:5]) # 真的是
print (message[2:]) # 真的是个好天气呀
print (message[:5]) # 今天真的是
print (message[2:-1]) # 真的是个好天气
print (message[2:len(message)]) # 真的是个好天气呀
注意:注意:字符串中的切片只能读取数据,无法修改数据。[字符串在内部存储时不允许对内部元素修改,想要修改只能重新创建]
message = "今天真的是个好天气呀"
value = message[:6] +"非常" +message[7:]
print (value) #今天真的是个非常天气呀
6.步长,跳着去字符串的内容
name = "今天是个好天气,适合出去郊游"
print(name[0:5:2]) # (前两个值表示区间范围,最后一个值表示步长) 输出:今是好
print(name[0:8:2]) # (区间范围的前面不写则表示起始范围为0开始) 输出:今是好气
print(name[2: :3]) # (区间范围的后面不写则表示结束范围为最后) 输出:是天适去
print(name[ : :2]) # (区间范围不写表示整个字符串) 输出:今是好气适出郊
print(name[8:1:-1]) # (倒序) 输出:适,气天好个是
print(name[-1:1:-1]) # (倒序) 输出:游郊去出合适,气天好个是
print(name[ : :-1]) # (完全倒序) 输出:游郊去出合适,气天好个是天今
7.循环
- while循环
message = "今天是个好天气"
data = len(message) -1
while data >= 0 :
value = message[data]
print(value)
data -= 1
# 今
# 天
# 是
# 个
# 好
# 天
# 气
- for循环
data = "举杯邀明月"
for char in data : # for...in是固定搭配,char每循环一次获取的字符
print(char)
# 举
# 杯
# 邀
# 明
# 月
在Python编程语言中,for char in data:
是一个循环结构,用来遍历序列类型的变量 data
中的每个单独元素。这里的 char
是循环变量,它会在每次循环迭代时依次取得 data
中的下一个元素。
当 data
是字符串、列表或其他可迭代对象(如元组、集合或字典的键等)时,这段代码会按照从左到右的顺序,让 char
在每次循环迭代时分别绑定到 data
中的每一个字符(如果 data
是字符串)或每一个元素(如果 data
是其他类型的序列)。
- range,帮助常见一系列的数字
v1 = list(range(10))
v2 = list(range(0,9)) # 前取后不取
v3 = list(range(1,10,2)) # range(1,10,2) 会生成一个从1开始到9结束(不包括10),步长为2的整数序列
v4 = list(range(10,1,-1)) # range(10,1,-1) 将会生成一个从10开始,到1结束(不包括1),步长为-1的整数序列。换句话说,它会递减地遍历从10到1之间的所有整数。
print(v1) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(v2) # [0, 1, 2, 3, 4, 5, 6, 7, 8]
print(v3) # [1, 3, 5, 7, 9]
print(v4) # [10, 9, 8, 7, 6, 5, 4, 3, 2]
- for + range
# 案例一
for i in range(5) : # 它将会迭代5次,其中变量 i 在每次迭代中将分别取值从0到9
print (i)
# 结果输出:
# 0
# 1
# 2
# 3
# 4
# 案例二
message = "今天是个好天气"
for i in range(5): # range(5) 会产生一个从0开始到4结束(不包括5)的整数序列,即 [0, 1, 2, 3, 4]。
print (message[i]) # 按照索引顺序打印出 message 列表中的前五个元素
# 结果输出:
# 今
# 天
# 是
# 个
# 好
# 案例三
# 在这个例子中,message 是一个字符串,内容为 "今天是个好天气"。len(message) 返回字符串的长度,也就是字符的数量,本例中是7个汉字,因此 range(len(message)) 将生成一个从0到6(不包括7)的整数序列。
接下来的 for 循环会按照这些整数索引去访问字符串 message 中的每个字符,并打印出来
message = "今天是个好天气"
for i in range(len(message)) : # 通过索引获取
print (message[i])
# 结果输出:
# 今
# 天
# 是
# 个
# 好
# 天
# 气
一般应用场景
- while,一般在做无限制(未知)循环此处时使用
while True :
...
# 用户名输入一个值,如果不是整数就一直输入,直到是整数为止
num = 0
while True:
data = input("请输入内容:")
if data.isdecimal():
num = int(data)
break
else :
print ("输入错误,请重新输入!")
-
for循环,一般应用在已知的循环数量的场景
message = "今天是个好天气" for i in range(len(message)) : print (message[i]) message = "今天是个好天气" for i in range(5): print (message[i])
- for 和while都可以使用break和continue
message = "今天是个好天气"
for char in message :
if char =="好" :
continue
print (char)
# 今
# 天
# 是
# 个
# 天
# 气
message = "今天是个好天气"
for char in message :
if char =="好" :
break
print (char)
# 今
# 天
# 是
# 个
4.4 转换
- 整型转字符串
num = 999
data = str(num)
print (data) # 字符串的“999”
- 布尔值转字符串
4.5 其他
字符串不可被修改
name = "linzai"
v1 = name[0] # 原有的字符串没有改变,是新生成了一个字符串
v2 = name[1]
print (v1, v2)
# 列表中的元素是可以修改的
name_list=[11,22,33]
name_list[0]
name_list[0] = 222 # 列表可以通过索引修改里面的元素
print (name_list[0], name_list[1])
# 输出:222 22
标签:name,05,数据类型,字符串,range,print,message,data,day
From: https://www.cnblogs.com/linzaidehouhuayuan/p/18054370