Python 入门之格式化输出
1、格式化
(1)%为占位
(2)%s --- 站字符串的位置(数字、字符串都能够进行填充)
name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入职业:')
hobby = input('请输入爱好:')
msg = '''
------------ info of Alex Li ----------
Name : %s
Age : %s
job : %s
Hobbie: %s
------------- end ----------------
'''
print(msg%(name,age,job,hobby))
(3)%d / %i --- 占数字的位置
name = input('>>>')
s1 = '1234%d'%int(name)
s2 = '1234%i'%int(name)
print(s1)
print(s2)
结果:
>>>89
123489
123489
# %d和%i这种格式化只能用数字来填补占位
(4)%% --- 转义
占的位置和填充必须一一对应,填充的时候按照顺序填充
num = input('>>>')
s= '目前学习进度:%s%%'%num
print(s)
结果:
>>>80
目前学习进度:80%
# 如果我们字符串中想要显示单独的%就需要用来个%%来转义,不然程序会认为那是一个占位
(5)%s :万能的格式
(6)%() :为填位(要与占位一一对应)
举例:名片的制作
name = input("name:")
age = input("age:")
addr = input("addr:")
phone = input("phone:")
info = """
-----------info----------
姓名:%s
年龄:%d
公司:%s
电话:%d
------------end-----------
"""%(name,int(age),addr,int(phone))
print(info)
2、f”{ }” -- f-string
Python3.6版本及以上才能使用 f”{ }” :f”{‘marry’的学习进度2%}”
Print(f”{input(‘>>>’)}{15}{‘男’}{ }”)
name = "小明"
print(f"{name}的学习进度2%")
print(f"{input('>>>')},{23},{34},{45}")
print(f"{input('>>>')},{23},{34},{45}")
print(f"{'meet'},{15},{'女'}")
(1)任意表达式
f"姓名:{name} 年龄:{age}"
f"姓名:{'cai'}"
f"年龄:{34}"
(2)可以插入表达式
print(f"{3 if 3>2 else 2}")
(3)多行f
speaker = f'Hi {name}.'\
f'You are {age} years old.'\
f'You are a {ajd} guy!'
(4)其他细节
# ! , : { } ;这些标点不能出现在{} 这里面。
# print(f'{;12}') # 报错
# 所以使用lambda 表达式会出现一些问题。
# 解决方式:可将lambda嵌套在圆括号里面解决此问题。
3、format():
format() :按照位置顺序进行填充;按照索引填充;按照名字进行新填充
name = "{}今年:{}".format("宝元",18) # 按照位置顺序进行填充
print(name)
name = "{1}今年:{0}".format("宝元",18) # 按照索引进行填充
print(name)
name = "{name}今年:{age}".format(name="宝元",age=18) # 按照名字进行填充
print(name)