欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python学习 :格式化输出

程序员文章站 2022-04-14 22:33:55
方式一:使用占位符 % 常用占位符:% s (s = string 字符串) % d (d = digit 整数(十进制)) % f ( f = float 浮点数) 方式二:format()函数(推荐使用) format()函数通过传入的字符串作为参数,并使用{}大括号作为占位符 format(a ......

方式一:使用占位符 %

 

常用占位符:% s   (s = string 字符串)
          % d   (d = digit 整数(十进制))
        %  f   ( f = float  浮点数

 

name = input("请输入你的名字:")
age = input("请输入你的年龄:")
job = input("请输入你的职业:")
salary = input("请输入你的薪酬:")

if salary.isdigit():  #输入的数据是否像数字
    salary = int(salary)
else :
    exit("请输入正确的数字")
    # 如果输入的不是数字将会退出程序
    
# '''  三引号可以用于插入数据
info = '''
---------- info of %s ----------
姓名:%s
年龄:%s
职业:%s
薪酬:%s
-------------------------------
''' % (name, name, age, job, salary)

print(info)

 

方式二:format()函数(推荐使用)

 

format()函数通过传入的字符串作为参数,并使用{}大括号作为占位符

format(a , b) 变量a 对应{0}  变量b 对应{1}

注意:python从0开始计数,意味着索引中的第一位是0,第二位是1

 

位置的匹配:
      (1)不带编号,即“{}”
      (2)带数字编号,可调换顺序,即“{0}”、“{1}”
      (3)带关键字,即“{a}”、“{b}”(需要设置关键字对应的字符串)

 

age = 20
name = 'alex'
print('{1} is {0} years old' .format(age,name))
print('{b} is {a} years old' .format(a = age, b = name))
>>> alex is 20 years old
    alex is 20 years old

 

format()可以指定格式,让输出的结果符合指定的样式

一些符号的含义:

         {0}        —— { 0 }      表示第一个位置

         {0:10}   —— { :10}    表示有10个字符那么长并且左对齐(默认为左对齐)

         {0:>15} ——{ :>15}  表示有15个字符那么长并且右对齐

         {0:.2}     ——{ : .2}    表示对于传入的字符串,截取前两个字符

         {0:^}     —— {: ^}     表示放到该位置的字符串要居中

         {0:d}      —— {0:d}    表示需要在这个位置放一个整数(数字默认状态下为右对齐)

         {0:f}       —— {0:f}    表示需要在这个位置放一个浮点数(数字默认状态下为右对齐)

 

 

a = " i  love {0:10} and {1:10}. ".format("sing","dance")
# 左对齐,字符串的长度为10个字符
print(a)
>>> i  love sing       and dance    .
a = " i  love {0:^10.3} and {1:^10.3}. ".format("sing","dance")
# 居中,字符串的长度为10个字符,截取前三个字符
print(a)
>>> i  love    sin      and    dan    .   
age = 28
weight = 70.423
print("alex is {0} years old and his weights is {1:.2f} kg." . format(age,weight))
# 浮点数需要保留两位小数
>>> alex is 28 years old and his weights is 70.42 kg.