Python 入门之格式化输出

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)
上一篇:python 字符串的格式化


下一篇:在github上搭建博客的问题