首页 > 编程语言 >day 03-2 Python基础-字符串格式化

day 03-2 Python基础-字符串格式化

时间:2023-12-21 16:44:42浏览次数:42  
标签:03 name format Python text 18 print message day

2.字符串格式化

字符串格式化,使用跟便捷的形式实现字符串的拼接。

  • %
  • format (推荐)
  • f

2.1 %

2.1.1 基本格式化操作

# %s是占位符,也成为字符串占位符
# 后面空格加%
text = "我叫%s,今年18岁" %"linzai" #:%前面加上一个空格
print (text)

name = "linzai"
text = "我叫%s,今年18岁" %name
print (text)
# 多个占位符时
text = "我叫%s,今年%s岁" %("琳仔",18)#:多个占位符时,%后面一定要加括号,中间加逗号
print (text)

name = "linzai"
age = 18
text = "我叫%s,今年%s岁" %(name,age)#:%s是字符串占位符
print (text)

name = "linzai"
age = 18
text = "我叫%s,今年%d岁" %(name,age)#:%d是整型专用占位符
print (text)
# 如果对前面的占位符进行命名时,后面要有{},并在里面加引号
message = "%s 站在冷风中瑟瑟发抖,%s却在屋里吹空调" %("linzai", "老登")
message1 = "%(name)s 站在冷风中瑟瑟发抖,%(mane1)s却在屋里吹空调" %{"name": "linzai", "mane1": "老登"}
print(message, message1)
message = "我叫%s,今年%d岁。" #涉及到多个赋值时
text = message %("琳仔",18)
text1 = message %("猪猪",18)
text2= message %("仔仔",21)
print(text,text1,text2)

2.1.2 百分比

一旦字符串格式化中存现百分比的显示,请一定要加%%以实现输出%。

message = "%s,我的视频已经下载90%%了。" %"朋友"
print(message)

2.2 format (推荐)

message = "我叫张琳,今年18岁,毕业于北京大学。"
message = "我叫{0},今年{1}岁,毕业于{2}。" .format("琳仔", 18,"北京大学")
message = "我叫{},今年{}岁,毕业于{}。" .format("琳仔", 18,"北京大学") #{}中空值时,按照顺序依次填写
message = "我叫{},今年{}岁,真实姓名为{}。" .format("琳仔", 18,"琳仔")
message = "我叫{0},今年{1}岁,真实姓名为{0}。" .format("琳仔", 18) #{}中可以重复填写某个内容
print(message)
message = "我叫{n1}。" .format(n1="琳仔") #如果前面的占位符被命名,.format(命名="替换的名字)
message = "我叫{n1},今年{n2}岁,毕业于{n3}。" .format(n1="琳仔", n2=18,n3="北京大学") 
message1 = "我叫{n1},今年{n2}岁,真实姓名为{n1}。" .format(n1="琳仔", n2=18)
print(message)

message = "我叫{},今年{}岁。"
text = message.format("琳仔",18)
print(text)
message = "我叫{},今年{}岁。" # 可以制成模板,后续更加方便
text = message.format("琳仔",18)
text1 = message.format("猪猪",18)
text2= message.format("仔仔",21)
print(text,text1,text2)

2.3 f

text = "我喜欢跑步,跑完之后大汗淋漓"

action = "跑步"
text = f"我喜欢{action},跑完之后大汗淋漓。"
text1 = f"我喜欢{'跑步'},跑完之后大汗淋漓。"
print(text,text1)
age = 19
text = f"我的名字叫{name},今年{age}岁。"
text1 = f"我的名字叫{name},今年{19+2}岁。" #f可以在占位里面进行运算
text2 = f"我的名字叫{name},今年{19+2=}岁。" #运算里面有等于号
print(text,text1,text2)
结果输出:
我的名字叫喵喵,今年19岁。 
我的名字叫喵喵,今年21岁。 
我的名字叫喵喵,今年19+2=21岁。
# 进制转换
v1 = "我今年23岁"
v2 = f"我今年{23:#b}岁" # :#b转是转换成2进制
v3 = f"我今年{23:#o}岁" # :#o转是转换成8进制
v4 = f"我今年{23:#x}岁" # :#x转是转换成16进制
print(v1, v2, v3, v4)
print(v1, v2, v3, v4)
结果输出:
我今年23岁 
我今年0b10111岁 
我今年0o27岁 
我今年0x17岁
# f可以内置函数
name = "linzai"
text = f"我是{name.upper()},我今年19岁了。" # name全部转换成大写
print (text)

标签:03,name,format,Python,text,18,print,message,day
From: https://www.cnblogs.com/linzaidehouhuayuan/p/17919397.html

相关文章

  • Python 把包含\\u4f20\\u5a92 unicode内容的字典字符串变成字典
    importjson#把包含\\u4f20\\u5a92unicode内容的字典字符串变成字典deftext_to_dict(text):dict1=json.loads(text)str_dict=str(dict1).replace('\\xa0','').replace('\'','"')dict_json=json.loads(s......
  • Day04类型转换
    类型转换注意点:1.不能对布尔值进行转换2.不能把对象类型转换为不相干的类型3.在把高容量转换到低容量的时候,强制转换4.转换的时候可能存在内存溢出,或者精度问题!高转低,强制转换;低转高,自动转换低------------------------------------------->高byte,short,char->int-......
  • 2002 - Can't connect to server on '54.xxx.xxx.xxx' (36)
    远程连接mysql数据库的时候显示Can'tconnecttoMySQLserver(10060)如下图所示可以从以下几个方面入手,找出错误的原因:1.网络问题网络不通时会导致这个问题检查下是不是能ping通2.mysql账户设置mysql账户是否不允许远程连接--mysql-uroot-p--showdataba......
  • 记录一次openpyx使用rich_text报错AttributeError: 'TextBlock' object has no attrib
    先说解决办法:pipinstalllxml报错截图:当时在两个环境中分别使用相同版本openpyxl,相同的代码,一个环境中能成功,另外一个一直报错。排查结果如下:根据报错找到文件:File"\openpyxl\worksheet_writer.py",line147,inwrite_row在155行到158行看到如下代码:ifLXML:......
  • Python 入门之 计算符号
    Python入门之计算符号缩写符号基本符号加法(+):a+b减法(-):a-b乘法(*):a*b除法(/):a/b取模(%):a%b附点除法(//):a//b指数(**):a**b欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。Don’treinventthewheel,librarycodeisthere......
  • python cuml 23.12.00
    *[WelcometocuML’sdocumentation!—cuml23.12.00documentation](https://docs.rapids.ai/api/cuml/stable/)WelcometocuML’sdocumentation!cuMLisasuiteoffast,GPU-acceleratedmachinelearningalgorithmsdesignedfordatascienceandanalyticaltask......
  • vscode 错误 go: go.mod file not found in current directory or any parent directo
    前言安装VSCODE后,新建立的GO文件按F5出错。go:go.modfilenotfoundincurrentdirectoryoranyparentdirectory;see'gohelpmodules'处理步骤开启gomodules功能命令行输入goenv-wGO111MODULE=on建立src目录比如我程序文件夹名为gosrc,则目录为gosrc|_src......
  • t-SNE完整笔记 (附Python代码)
    t-SNE(t-distributedstochasticneighborembedding)是用于降维的一种机器学习算法,是由LaurensvanderMaaten和GeoffreyHinton在08年提出来。此外,t-SNE是一种非线性降维算法,非常适用于高维数据降维到2维或者3维,进行可视化。t-SNE是由SNE(StochasticNeighborEmbedding,SN......
  • python第5天
    0.请问Python是否支持链式比较?voC~RW^dUP)G.5,YBf0[?J:r;13e_|cZ*答:支持。来自:[8C(nHWfYQI.]#al3=m%p!"2_解析:像3<4<5这种就叫链式比较,事实上相当于3<4and4<5这么流弊的技能,不是所有语言都支持的哦。+Q{wX@X(`'tb:hd}~ay"7AP)0f&JQ5e3+x#GbS1'8n(<QOB-p*TqI@N|......
  • 抢先看!Salesforce Spring '24中的10个亮点功能!
    Spring'24来临在即,PreviewOrgs已上线。在Spring'24中,将会为管理员、开发人员和顾问带来更多新功能。在这片云计算的海洋里,一些亮点功能总能在Salesforce生态系统中引起强烈反响。本篇文章为学习者们盘点了Spring'24中的10个亮点功能,一起来先睹为快!Spring'24发布的具体日期......