字符串和格式化
#创建
s = ''
s1 = str()
print(s,type(s))
print(s1,type(s1))
#拼接字符串【+加号】
str1 = '@明日科技 @扎克伯格 @于红梅 @勤奋的天使'#定义第一个字符串
str2 = '@明日科技 @扎克伯格 @于红梅 @勤奋的天使'#定义第二个字符串
print(str1+str2)#第一种
str3 = str1+str2#第二种
print(str3)
#计算字符串长度【len()函数】
str4 = '@明日科技 @扎克伯格 @于红梅 @勤奋的天使'#定义一个字符串
print(len(str4))#第一种
str5 = (len(str4))#第二种
print(str5)
#截取字符串【切片】
str6 = '人生苦短,我用Python'#定义字符串
print(str6[2:9:2]) #第一种从索引2到9间隔2
str7 = str6[2:9:1]#第二种从索引2到9间隔2
print(str7)
try:#不存在抛出异常处理方法
str8 = (str6[50])
except IndexError:
print('不存在哦')
#分割字符串【.split()方法】
str888 = '今 天 星 期 一>>>明天星期二'
print('原字符串',str888,'\n')
str811 = str888.split() #默认分割符
str812 = str888.split('>>>')
str813 = str888.split('.')
str814 = str888.split(' ',4)
str815 = str888.split('>')
print(str811,'\n',str812,'\n',str813,'\n',str814,'\n',str815,'\n',)
str822 = '@明日科技 @扎克伯格 @于红梅 @勤奋的天使'#定义一个字符串
str855 = str822.split() #用空格分割字符
print('@的人有')
for str999 in str855:
print(str999[1:]) #遍历一遍去掉@符号
#合并字符串【.join()方法】
hb1 = ['小米','华为','苹果','三星','锤子'] #定义一个列表
hb2 = ' @'.join(hb1) #用空格个@连接字符串
at = '@'+hb2 #.join()方法第一个元素前不加分隔符
print('合并后',at)
'''
for hb2 in hb1:
print ('@'+hb2)
'''
#检索字符串
str0000 = '@明日科技 @扎克伯格 @于红梅 @勤奋的天使' #定义一个字符串
print(str0000.count('@')) #.count()方法,输出字符串出现的次数
print(str0000.find('@')) #.find()方法,输出字符串首次出现位置
print(str0000.index('@')) #.index方法(),输出字符串首次出现位置,和.find方法类似,不存在会报错。
print(str0000.startswith('@')) #.startswith()方法,判断是否以@开头,是返回True,否则False
print(str0000.endswith('使')) #.endswith()方法,判断是否以@结尾,是返回True,否则False
#字母大小写转换
eded = 'aaa bBaB cDdE'
print(eded.lower()) #全部小写
print(eded.upper()) #全部大写
eded1 = eded.lower() #全部小写
eded2 = eded.upper() #全部大写
print(eded1)
print(eded2)
name = '|Apollo|Admin|QQ|YY|' #定义字符串
name1 = name.lower() #全部转为小写
sr1 = input('输入注册的名字') #键盘输入
sr2 = '|'+sr1.lower()+'|' #键盘输入转为小写并加上|分割
if sr2 in name1: #判断name1小写里是否包含|键盘输入的|
print('不能注册') #如果有则不能注册
else: #否则可以注册
print('可以注册')
#去除空格和特殊符号【首尾.strip(),左侧.lstrip(),右侧.rstrip()】
sss = '0012002100'
print(sss.strip('0')) #.strip() 默认去除首尾 空格 \t制表符 \r回车符 \n换行符,指定后只去除首尾指定参数
print(sss.lstrip('0'))#.lstrip()默认去除左侧 空格 \t制表符 \r回车符 \n换行符,指定后只去除左侧指定参数
print(sss.rstrip('0'))#.rstrip()默认去除右侧 空格 \t制表符 \r回车符 \n换行符,指定后只去除右侧指定参数
#格式化字符串 【一:'%[-][+][0][m][.n]格式化字符串'%exp】【二、format{[index][:[[fill]align][sign][#][width][.precision][type]]}】
lll = '编号:%05d \t 公司名称:%s \t 官网:http://www.%s.com'#定义模板占位
tuple1 = (111,'百度','baidu')#一、转换的内容
print(lll%tuple1)
lll2 = '编号:{:0>5s} \t 公司名称:{:s} \t 官网:http://www.{:s}.com'#定义模板占位
tuple2 = lll2.format('222','搜狗','sougou')
print(tuple2)
#{参数序号:格式控制标记}
#<填充> <对齐> <宽度> <千位分割> <精度> <类型>
#填充、对齐、宽度【>^<】【填充位数小于原位数不会执行,多余的会填充到右侧】
a = '12345.5321' #定义模板
print('{0:@<15}'.format(a))#左对齐 12345.5321@@@@@
print('{0:@^15}'.format(a))#剧中对齐 @@12345.5321@@@
print('{0:@>15}'.format(a))#右对齐 @@@@@12345.5321
#千位分割【,】【加上逗号18位】
a = 123456789 #定义模板
print('{:,}'.format(a)) #123,456,789
print('{:0>18,}'.format(a)) #0000000123,456,789
#精度【.2/.2f】
a = 'hello' #定义模板he
print('{:.2}'.format(a))#对字符串表示最大长度
a = 12.3456789 #定义模板
print('{:.2f}'.format(a))#四舍五入12.35
#类型【b二进制、o八进制、d十进制、x或X十六进制、2f两位小数、2e或2E保留两位用科学计算法、%百分号】
a = 123
print('{:b}'.format(a))
print('{:o}'.format(a))
print('{:d}'.format(a))
print('{:x}'.format(a))
print('{:X}'.format(a))
a = 3.1415926
print('{:.2f}'.format(a))
print('{:.2e}'.format(a))
print('{:.2E}'.format(a))
print('{:.2%}'.format(a))
#补充
a = '我是:{name},年龄:{age}'.format(name='aaa',age='18')
print(a)
a = '我是:{name},年龄:{age}'
print(a.format(name='bbb',age='20'))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧