1-4-04. 数据类型 - 字符串 str

字符串 str

1. 定义

字符串,我们平时会用他来表示文本信息。例如:姓名、地址、自我介绍等。

2.独有功能

1. 以 XX 开头 得到一个布尔值

result = v1.startswith("叨逼叨的一天")

2. 以 XX 结尾 得到一个布尔值

result = v1.endswith("烦死了")

3. 是否为十进制数?

得到一个布尔值 判断是否是个整数

result = v1.isdecimal()

4. 去除字符串两边的 空格、换行符、制表符,得到一个新字符串

data = msg.strip()    ## 将msg两边的空白去掉 
data = msg.lstrip()   ## 将msg左边的空白去掉 
data = msg.rstrip()   ## 将msg右边的空白去掉

5. 大写,得到一个新字符串

data = msg.upper()

6. 小写,得到一个新字符串

data = msg.lower()

7. 内容替换,得到一个新的字符串

value = data.replace("好人","贱人")

8. 切割,得到一个列表

result = data.split('|')  # ["武沛齐","root","wupeiqi@qq.com"]
v2 = data.split("|", 2)  # ['武沛齐', 'root|wupeiqi@qq.com'] 
v2 = data.rsplit(',',1)   # ['武沛齐,root', 'wupeiqi@qq.com']

9. 拼接,得到一个新的字符串

v1 = "_".join(data_list)

10. 格式化字符串,得到新的字符串

name = "{0}的喜欢干很多行业,例如有:{1}、{2} 等" 
data = name.format("老王","护士","嫩模")

11. 字符串转换为字节类型

v1 = data.encode("utf-8") # utf-8,字节类型
v2 = data.encode("gbk") # gbk,字节类型
s1 = v1.decode("utf-8") # 嫂子
s2 = v2.decode("gbk") # 嫂子

12. 将字符串内容居中、居左、居右展示

data = v1.center(21, "-") # # 居中
data = v1.ljust(21, "-") # # 居左
data = v1.rjust(21, "-") # # 居右

13. 帮助你填充0

v1 = data.zfill(10)`

3. 公共功能

1.相加:字符串 + 字符串

v1 = "alex" + "大sb"   #alex大sb

2. 相乘:字符串 * 整数

data = "嫂子" * 3
print(data) # 嫂子嫂子嫂子

3. 长度

data = "嫂子满身大汉"
value = len(data) 
print(value) # 6

4. 获取字符串中的字符,索引

message = "来做点py交易呀"
#          0 1 2345 6 7
#           ... -3 -2 -1
print(message[0]) # "来"

注意:字符串中是能通过索引取值,无法修改值。【字符串在内部存储时不允许对内部元素修改,想修改只能重新创建。】 索引是0开始

5. 获取字符串中的子序列,切片

message = "来做点py交易呀"

print(message[0:2]) # "来做"   前取后不取

注意:字符串中的切片只能读取数据,无法修改数据。【字符串在内部存储时不允许对内部元素修改,想要修改只能重新创建】

message = "来做点py交易呀"

value = message[:3] + "Python" + message[5:]
print(value)

6. 步长,跳着去字符串的内容

name = "生活不是电影,生活比电影苦"

print( name[ 0:5:2 ] )   # 输出:生不电 【前两个值表示区间范围,最有一个值表示步长】
# 面试题:给你一个字符串,请将这个字符串翻转。
value = name[-1::-1]
print(value)  # 苦影电比活生,影电是不活生

7. 循环

  • while循环

  • for循环

  • range,帮助我们创建一系列的数字【前取后不取】

range(10) # [0,1,2,3,4,5,6,7,8,9]  
  • For + range
for i in range(10):
    print(i)

一般应用场景:
while,一般在做无限制(未知)循环此处时使用。

while True:
    ...
# 用户输入一个值,如果不是整数则一直输入,直到是整数了才结束。
num = 0
while True:
    data = input("请输入内容:")
    if data.isdecimal():
        num = int(data)
        break
	else:
        print("输入错误,请重新输入!")
  1. for循环,一般应用在已知的循环数量的场景。
message = "来做点py交易呀"
for char in message:
    print(char)
  • break和continue关键字
message = "来做点py交易呀"
for char in message:
    if char == "p":
        continue
    print(char)

# 输出:
来
做
点
y
交
易
呀
message = "来做点py交易呀"
for char in message:
    if char == "p":
        break
    print(char)

# 输出:
来
做
点
for i in range(5):
    print(i)# 0 1 2 3 4
    for j in range(3):
        break
        print(j) # 0 1 2  # 0 1 2  # 0 1 2  # 0 1 2  # 0 1 2  

4. 转换

一般情况下,只有整型转字符串才有意义。

num = 999
data = str(num)
print(data) # "999"

5 其他

1 字符串不可被修改

name = "武沛齐"

name[1]
name[1:2]#字符串只能读
posted @ 2022-10-19 09:15  布丁家的苏苏  Views(12)  Comments(0)    收藏  举报