zoukankan      html  css  js  c++  java
  • python(格式化输出)

    一、%格式化输出

    1、整数的输出(参照ASCII)

    • %o —— oct 八进制
    • %d —— dec 十进制(digit )
    • %x —— hex 十六进制
    >>> print('%o' % 20)
    24
    >>> print('%d' % 20)
    20
    >>> print('%x' % 20)
    14

    2、浮点数输出

    • %f —— float 保留小数点后面六位有效数字
      • %.3f,保留3位小数位
    • %e —— 保留小数点后面六位有效数字,指数形式输出
      • %.3e,保留3位小数位,使用科学计数法
    • %g —— 在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
      • %.3g,保留3位有效数字,使用小数或科学计数法
    >>> print('%f' % 1.11)  # 默认保留6位小数
    1.110000
    >>> print('%.1f' % 1.11)  # 取1位小数
    1.1
    >>> print('%e' % 1.11)  # 默认6位小数,用科学计数法
    1.110000e+00
    >>> print('%.3e' % 1.11)  # 取3位小数,用科学计数法
    1.110e+00
    >>> print('%g' % 1111.1111)  # 默认6位有效数字
    1111.11
    >>> print('%.7g' % 1111.1111)  # 取7位有效数字
    1111.111
    >>> print('%.2g' % 1111.1111)  # 取2位有效数字,自动转换为科学计数法
    1.1e+03

    3、字符串输出

    • %s —— string 字符串
    • %10s —— 右对齐,占位符10位
    • %-10s —— 左对齐,占位符10位
    • %.2s —— 截取2位字符串
    • %10.2s —— 10位占位符,截取两位字符串
    >>> print('%s' % 'hello world')  # 字符串输出
    hello world
    >>> print('%20s' % 'hello world')  # 右对齐,取20位,不够则补位
             hello world
    >>> print('%-20s' % 'hello world')  # 左对齐,取20位,不够则补位
    hello world         
    >>> print('%.2s' % 'hello world')  # 取2位
    he
    >>> print('%10.2s' % 'hello world')  # 右对齐,取2位
            he
    >>> print('%-10.2s' % 'hello world')  # 左对齐,取2位
    he
    name = input("Name:")
    age = int(input("Age:"))
    job = input("Job:")
    salary = int(input("Salary:"))
    
    msg = """
    ------------info of %s------------
    Name:%s
    Age:%d
    Job:%s
    Salary:%d
    ----------------end---------------
    """%(name,name,age,job,salary)
    
    print(msg)

    二、format 格式化

    1.format()

    • str.format() 该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号 "{ }" 作为特殊字符代替 "%"
    • { } 中不设参数
    >>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
    'hello world'
     
    >>> "{0} {1}".format("hello", "world")  # 设置指定位置
    'hello world'
     
    >>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
    'world hello world'
    • { } 中设置参数
    # 通过变量设置参数
    print("My name is {name},and I am {age} years old!".format(name = "zhangsan",age = "25"))
    
    # 通过字典设置参数
    info = {"name": "zhangsan", "age": "25"}
    print("My name is {name},and I am {age} years old!".format(**info))
    
    # 通过列表索引设置参数
    msg = ["zhangsan","25"]
    print("My name is {0[0]},and I am {0[1]} years old!".format(msg))
    
    ---> My name is zhangsan,and I am 25 years old!
    ---> My name is zhangsan,and I am 25 years old!
    ---> My name is zhangsan,and I am 25 years old!
    • str.format() 格式化数字
      • ^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
      • + 表示在正数前显示 +,负数前显示 -;  (空格)表示在正数前加空格
    >>> print("{:.2f}".format(3.1415926));
    3.14
    数字格式输出描述
    3.1415926 {:.2f} 3.14 保留小数点后两位
    3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
    -1 {:+.2f} -1.00 带符号保留小数点后两位
    2.71828 {:.0f} 3 不带小数
    5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
    5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
    10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
    1000000 {:,} 1,000,000 以逗号分隔的数字格式
    0.25 {:.2%} 25.00% 百分比格式
    1000000000 {:.2e} 1.00e+09 指数记法
    13 {:>10d}         13 右对齐 (默认, 宽度为10)
    13 {:<10d} 13 左对齐 (宽度为10)
    13 {:^10d}     13 中间对齐 (宽度为10)
    • 注意:可以使用大括号 {} 来转义大括号
    print ("{}今年{{25}}岁了".format("张三"))

    2.format_map()

    • 参数为字典
    print("I am {name},and I am {age} years old!".format_map({"name":"zhangsan","age":25}))
    
    ---> I am zhangsan,and I am 25 years old!
  • 相关阅读:
    埋点笔记整理02
    数据可视化笔记整理02
    埋点笔记整理01
    数据可视化笔记整理01
    魔力Python——我踩过的各种坑
    我们的竞争对手在看向哪里---对勺海公众号的挖掘与细分
    JDBC核心技术(获取数据库链接、数据库事务、数据库链接池)
    Vue封装axios
    JAVA_基础反射机制
    dispaly的Grid布局与Flex布局
  • 原文地址:https://www.cnblogs.com/ZhengYing0813/p/12104357.html
Copyright © 2011-2022 走看看