格式化输出

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占位符就要修改代码,有以下两种情况:

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)
第一种
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

 

 

 

 

posted @ 2019-07-09 17:57  tiwe  阅读(115)  评论(0编辑  收藏  举报