Python 格式化输出的3种方式

第一种: %

  • 单个使用格式:“%s” % “test”

  • 多个使用格式:“年份:%d,月份:%d, 日期:%d” % (2019,11,13)

    注:多个使用时,需按顺序填充,且格式内容需与符号对应(如%d取值str内容,则会报错)

  • Python 字符串格式化符号:

    符号 描述
    %c 格式化字符及其ASCII码
    %s 格式化字符串
    %d 格式化整数
    %u 格式化无符号整型
    %o 格式化无符号八进制数
    %x 格式化无符号十六进制数
    %X 格式化无符号十六进制数(大写)
    %f 格式化浮点数字,可指定小数点后的精度
    %e 用科学计数法格式化浮点数
    %E 作用同%e,用科学计数法格式化浮点数
    %g %f和%e的简写
    %G %F 和 %E 的简写
    %p 用十六进制数格式化变量的地址
# 顺序取值
test = "年份:%s,月份:%s" % ("2019", "11")
print(test)     # 年份:2019,月份:11

test = "年份:%d,月份:%d" % (2019, 11)
print(test)     # 年份:2019,月份:11

# 格式字符串的参数顺序填错
test = "年份:%d,月份:%d" % (11, 2019)
print(test)     # 年份:11,月份:2019

# 格式字符串的参数格式错误
test = "年份:%d,月份:%s" % ("2019", "11")
print(test)
# 报错:TypeError: %d format: a number is required, not str

# 格式字符串的参数不足
test = "年份:%d,月份:%d" % (2019)
print(test)
# 报错:TypeError: not enough arguments for format string

第二种 :str.format()

  • 默认顺序取值

  • 下标取值

  • 变量取值

    # 默认顺序
    test = "年份:{},月份:{}".format(2019, 11)
    print(test)   # 年份:2019,月份:11
    
    # 下标
    test = "年份:{1},月份:{0}".format(2019, 11)
    print(test)   # 年份:11,月份:2019
    
    # 下标(多次使用)
    test = "年份:{1},月份:{0},年份:{1}".format(2019, 11)
    print(test)   # 年份:11,月份:2019,年份:11
    
    # 变量
    test = "年份:{year},月份:{month}".format(year=2019, month=11)
    print(test)   # 年份:2019,月份:11
    

第三种:f“ ”

year = 2019
month = 11
# 调用变量
print(f"年份:{year},月份:{month}")  # 年份:2019,月份:11
# 调用表达式
print(f"{2 * 100}")     # 200


def hi():
    return "hello"


# 调用函数
print(f"{hi()}")    # hello

# 调用列表下标
test = [2019, 11]
print(f"年份:{test[0]},月份:{test[1]}")     # 年份:2019,月份:11

# 调用字典
test = {"year": 2019, "month": 11}
print(f"年份:{test['year']},月份:{test['month']}")      # 年份:2019,月份:11

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 2,845评论 0 8
  • 一、输出 python中输出 “print” 在咱们python基础知识的我的第一个程序有过使用,在输出过程中主要...
    rookieyu阅读 5,444评论 0 2
  • 原文:https://www.cnblogs.com/xxby/p/5571620.html python 字符串...
    郎其林阅读 424评论 0 0
  • 常用模块 认识模块 什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文...
    go以恒阅读 1,987评论 0 6
  • 初始化ArrayList 把Iterable变为Collection 在java8里可以参考下面的方法: 初始化m...
    menglj阅读 383评论 0 0