python-day02-数据类型str

本文深入探讨Python中字符串(str)的数据类型特性,涵盖其不可变性及多种实用功能,如大小写转换、格式化输出、数字判断、替换、切割与链接等操作,并通过实例演示如何高效处理字符串数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、str字符串

不可变类型

v1="zhangsan" v2="xxxx"

1.独有功能

v1="zhangsan" v2=v1.功能()

*变大写


name="root" var=name.upper()

*变小写


name="ROOT" var=name.lower()

循环让用户输入姓名,正常的姓名,format字符格式化输出:恭喜xxx获得500万奖励,输入Q/q终止循环
while True:
    name=input("请输入姓名")
    if name.upper()=="Q":
        break
    else:
        text = "恭喜{0}获得500万奖励".format(name)
        print(text)

*isdecimal判断字符串是否为整数

v1="123"
res=v1.isdecimal()
print(res)    #True

v1=input("请输入数字:")
if v1.isdecimal() :
    v2=int(v1)+100
    print(v2)
else:
    print("您输入的不是数字")

*startswith/endswith是否以xx开头/是否以xx结尾

text="中国联通"

v1=text.startswith("中国") #True
v1=text.startswith("国") #False
v1=text.endswith("联通") #True

addr=input("请输入地址:")
if addr.startswith("北京"):
  print("京户")
 else:
 print("非京户")

*replace替换

text="中国新晋小花旦张开"
data=text.replace("张开","洋子")
print(data)
print(text)


用户输入文本,将文本中的“移动”“联通”“电信”替换成**,我咨询了联通和移动电话卡,最后选择了电信
text=input("请输入评论:")
v1=text.replace("移动","**")
v2=v1.replace("联通","**")
v3=v2.replace("电信","**")
print(v3)

*split切割

用户名和密码在一行输入并且用逗号分隔,校验用户名和密码
info=input("请输入用户名和密码")
data=info.split(",",maxsplit=1)
if data[0]=="root"and data[1]=="123":
 print("登陆成功")
else:
print("登录失败")

*jion链接

v1=["张三","李四","周武"]
data_string="_".join(v1)   #"".join()
print(data_string)  
#张三_李四_周武,使用_链接
实现用户注册功能
user_list=[]
user_list.append("张三")
user_list.append("李四")
user_list.append("赵武")
print(user_list)

data_str=",".join(user_list)
text="注册的用户有{}".format(data_str)
print(text)

*strip去除空白(rstrip,lstrip)

text="中国 联通"
data=text.strip()
print(data)    #中国联通

2.公共功能

*len长度

name="北京中国联通" v1=len(name) print(v1)

*索引

name="北京中国联通" name[-1] name[0]
name="北京中国联通"
index=0
while index<len(name):
 item = name[index]
 print(item)
 index=index+1
 
 或
 for item in name:
  print(item)

*切片

name="北京中国联通"
v1=name[2:4]   #前取后不取
print(v1)    #中国
v2=name[:3]
print(v2)    #0-2
v3=name[2:]
print(v3)    #2-5

3.练习题

提示输入文本,判断如果以中国开头,输出中国人,否则输出外国人
text=input("请输入文本:")
if text.startswith("中国") :     #if text[0:2]=="中国":
    print("中国人")
else:
    print("外国人")
提示输入文本,将文本中的“上”改成“下”
text=input("请输入文本:")
v1=text.replace("上","下")
print(v1)
提示输入文本,计算文本中“国”出现的次数
text=input("请输入文本:")
data=0
for i in text:
    if i=="国":
       data=data+1
massage="国出现的次数为{}".format(data)
print(massage)
提示输入文本,含所有数字和字母:asd123asd123,将数字提取出来
text=input("请输入文本:")
result=""
for item in text:
  if item.isdecimal():
     result=result+item #"1"+"2"+"3"
print(result) #123123
     

输入电脑上的路径,程序自动寻找整个路径下的所有MP4后缀的文件夹,如果找到输出即可
import os
path=input("请输入绝对路径:")

#["xxx.png","xxx.mp4","xxx.text"]
file_list=os.listdir(path)
for name in file_list:
   group=file_list.rsplit(".",maxsplit=1)
   ext=group[-1]
   if ext=="mp4":
      print(name)
判断字符串中是否包含某个子序列
text="北京中国上海神州"
"中国" in text   #True/False

text=input("请输入文本:")
if "中国" in text :
  text=text.replace("中国","国家")
  print(text)
else:
  print(text)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值