• Python随笔5


    字符串的格式化

    Python中内置了%对字符串的格式化

    在字符串外面的%左侧是一个字符串,将这个字符串当作模板,字符串里面有%(格式符),这些格式符为真实值预留位置;在字符串外面的%右侧是真实值,这些值用元组放到一起,左边有多少个格式符,右边就对应有多少个值,不能多也不能少。

    %s:字符串格式符

    例:

    str1 = "I am %s,how are you %s"
    tuple1 = ("lilei","hanmeimei")
    print(str1 % tuple1)

    结果

    I am lilei,how are you hanmeimei

    %d:整数十进制

    %x:16进制

    %f:浮点型

    %r:打印时能重现它所代表的对象。reper()方法

    例:

    print("第一种情况:")
    print("I am %d years old" % 22)
    print("I am %s years old" % 22)
    print("I am %r years old" % 22)
    print("第二种情况:")
    str="I am %d years old" % 22
    print("she said:%s" % str)
    print("she said:%r" % str) #结果给字符串加了单引号
    print("第三种情况:")
    import datetime
    time=datetime.date.today()
    print("today is %s" % time)
    print("today is %r" % time) #日期格式也不一样

    结果:

    第一种情况:
    I am 22 years old
    I am 22 years old
    I am 22 years old
    第二种情况:
    she said:I am 22 years old
    she said:'I am 22 years old'
    第三种情况:
    today is 2018-11-07
    today is datetime.date(2018, 11, 7)

    字段宽度和精度:

    import math
    #pi的精确度和位数
    print(math.pi)
    #10表示字段宽度为10位,小数点加上小数点前后的位数,小数点后面的表示精度
    print("#10表示字段宽度为10位,小数点加上小数点前后的位数,小数点后面的表示精度")
    print("%10f" % math.pi)
    print("%.2f" % math.pi )
    print("%10.2f" % math.pi)
    #对于字符串,小数点后面表示输出的最大宽度(在字符串中从左往右取)
    print("#对于字符串,小数点后面表示输出的最大宽度(在字符串中从左往右取)")
    print("%.8s" % "Python is great!")
    #对于*,小数点前后的位数将从元组中取
    print("#对于*,小数点前后的位数将从元组中取")
    print("%.*s" % (4,"Python is great!"))
    print("%.*f" % (2,math.pi))
    print("%*.*f" % (10,2,math.pi))

    结果:

    3.141592653589793
    #10表示字段宽度为10位,小数点加上小数点前后的位数,小数点后面的表示精度
      3.141593
    3.14
          3.14
    #对于字符串,小数点后面表示输出的最大宽度(在字符串中从左往右取)
    Python i
    #对于*,小数点前后的位数将从元组中取
    Pyth
    3.14
          3.14

    对齐、加减号、补0

    from math import pi
    #010表示宽度为10,左侧不足补0
    print("#补0")
    print("%010.2f"% pi)
    #默认为右对齐,-表示左对齐
    print("-表示左对齐")
    print("%-10.2f"% pi)
    #空格表示正数前面加上空格
    print("空格表示整数前面加上空格")
    print("% 5d"% 10)
    print("% 5d"% -10)
    #"+"表示前面加上正负号
    print("+表示要加上正负号")
    print(("%+2d"% 10) + "
    " + ("%+11f"% -pi))

    结果:

    #补0
    0000003.14
    -表示左对齐
    3.14      
    空格表示整数前面加上空格
       10
      -10
    +表示要加上正负号
    +10
      -3.141593

    总结:

    1. %字符:标记转换说明符的开始

    2. 转换标志(可选):-表示左对齐;+表示在转换值之前要加上正负号;“”表示正数之
    前保留空格;0表示转换值若位数丌够则用0填充。
    3. 最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。
    4. 点(.)后跟精度值(可选):如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是”*”,那么精度将会从元组中读出。

  • 相关阅读:
    JSON基本操作
    常用的windowd属性和对象
    手动建立数据库连接的BaseDAO
    注意1:图像插值理论的理解
    Python的Scikit-learn如何选择合适的机器学习算法?
    spark-sklearn(spark扩展scikitlearn)
    Tips-Windows 10【多桌面视窗】操作
    jupyter notebook快捷键速查手册
    使用IntelliJ IDEA进行Python远程调试的需求(未完)
    Bazel构建工具的安装
  • 原文地址:https://www.cnblogs.com/bigbigtong/p/9926272.html
Copyright © 2020-2023  润新知