格式化输出
1、用占位符:
%s:可以字符串,可以数字 %d:只能数字 %f:浮点
占位符格式化只能按照他的位置依次排列,不能选择位置进行排列
name = input("Name:") age = input("Age:") job = input("Job:") hobbie = input("Hobbie:") info = '''------------ info of %s ----------- Name : %s Age : %s job : %s Hobbie: %s ------------- end ----------------- ''' % (name,name,age,job,hobbie) print(info)
输出结果:
Name:小白 Age:14 Job:teacher Hobbie:running ------------ info of 小白 ----------- Name : 小白 Age : 14 job : teacher Hobbie: running ------------- end -----------------
跟随input输入的进行格式化打印
变量名 = '''字符串''' % (变量名...)
字符串里的%s与%d为站位符,%d为整形占位符只能是数字,%s为字符串占位符(注意:input出来的都是字符串)
如果用了%d占位符就要修改代码,有以下两种情况:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name = input("Name:") age = int(input("Age:")) job = input("Job:") hobbie = input("Hobbie:") info = '''------------ info of %s ----------- Name : %s Age : %d job : %s Hobbie: %s ------------- end ----------------- ''' % (name,name,age,job,hobbie) print(info)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name = input("Name:") age = input("Age:") job = input("Job:") hobbie = input("Hobbie:") info = '''------------ info of %s ----------- Name : %s Age : %d job : %s Hobbie: %s ------------- end ----------------- ''' % (name,name,int(age),job,hobbie) print(info)
2.format
它跟占位符不同的一点是位置可以不按顺序进行排列
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序 'hello world' >>> "{0} {1}".format("hello", "world") # 设置指定位置 'hello world' >>> "{1} {0} {1}".format("hello", "world") # 设置指定位置 'world hello world'
也可以设置参数
#!/usr/bin/python # -*- coding: UTF-8 -*- print("网站名:{name}, 地址 {url}".format(name="百度", url="www.baidu.com")) # 通过字典设置参数 site = {"name": "百度", "url": "www.baidu.com"} print("网站名:{name}, 地址 {url}".format(**site)) # 通过列表索引设置参数 my_list = ['百度', 'www.baidu.com'] print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的
运行结果
网站名:百度, 地址 www.baidu.com
网站名:百度, 地址 www.baidu.com
网站名:百度, 地址 www.baidu.com