Python 格式化输出相关知识
Python格式化输出
需求:字符串中想让某些位置变成动态可传入的,首先要考虑到格式化输出。
-
% 占位符
-
%占位符使用示例,格式化一个字符串变量,然后输出。
name = input('请输入姓名:') age = input('请输入年龄:') job = input('请输入工作:') hobbie = input('请输入爱好:') # 多行文本占位符跟最后,用%号隔开并加小括号标记,变量对应位置 msg = '''------------info of %s----------------- Name :%s Age :%s Job :%s Hobbie :%s ------------------ end --------------------''' % (name, name, age, job, hobbie) print(msg)
-
在格式化输出中,如果只想表示一个%号,而不是作为占位符使用的话使用两个%%符号即可
print('%s项目完成进度为%d%%' % ('sheet1工作表整理',50))
-
-
字符串的format()方法, 格式化输出
-
第一种用法:相当于占位符
print('我叫{},今年{}岁,性别:{}。'.format('amwkvi',27,'男'))
-
第二种用法:重复调用格式化输出列表中变量或值
print('我叫{0},今年{1}岁,性别:{2}。我的姓名是{0}'.format('amwkvi',27,'男')) # 重复调用格式化输出列表中变量或值
-
第三种用法:键值对,无序
print('我叫{name},今年{age}岁,性别:{sex}。'.format(age=27,sex='男',name='amwkvi'))
-
-
Python3.6版本之后的新特性(尽量使用该方法)
优点:1.结构更清晰和简化;2.可以结合表达式和函数使用;3.效率提升很多。
-
在字符串前面加上字母'f'或'F',字符串中用大括号进行对应变量格式化:
name = 'walking' age = 20 sex = '男' print(f'我叫{name},今年{age}岁,性别:{sex}。')
-
可以加表达式,结合列表、字典进行格式化字符串:
# 利用字典信息格式化字符串 dict1 = {'name': 'walking', 'age': 20, 'sex': '男'} print(f"我叫{dict1['name']},今年{dict1['age']}岁,性别:{dict1['sex']}") # 利用其他表达式格式化字符串 num1 = 9 print(f'数字{num1}的平方是:{num1 ** 2}') name = 'walking' print(f'我的名字是:{name.upper()}') >>>我叫walking,今年20岁,性别:男 数字9的平方是:81 我的名字是:WALKING
-
结合函数格式化字符串:
def mysum(a,b): return a*b print(f'最终结果是:{mysum(3,7)}') >>>最终结果是:21
-