Python 格式化输出相关知识


需求:字符串中想让某些位置变成动态可传入的,首先要考虑到格式化输出。

1.% 占位符

  • %占位符使用示例,格式化一个字符串变量,然后输出。
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))

2.字符串的format()方法, 格式化输出

  • 第一种用法:相当于占位符
print('我叫{},今年{}岁,性别:{}。'.format('amwkvi',27,'男'))
  • 第二种用法:重复调用格式化输出列表中变量或值
print('我叫{0},今年{1}岁,性别:{2}。我的姓名是{0}'.format('amwkvi',27,'男'))
# 重复调用格式化输出列表中变量或值
  • 第三种用法:键值对,无序
print('我叫{name},今年{age}岁,性别:{sex}。'.format(age=27,sex='男',name='amwkvi'))

3.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

图片分享

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Jo_Francis/article/details/125552198