• python 字符串format


    问:这是控制格式的么?

    答案:是的

    举个例子:

    print("大家好,今天是星期1,明天是星期2,后天是星期3")
    s1 = "大家好,今天是星期{},明天是星期{},后天是星期{}".format(1,2,3)
    print(s1)
    
    • 1
    • 2
    • 3
    大家好,今天是星期1,明天是星期2,后天是星期3
    大家好,今天是星期1,明天是星期2,后天是星期3
    
    • 1
    • 2

    基本上的理解,就是,这种括号{}里面的东西我先不写,由format中对应的数字或者字符来填入。
    当然后面的数字也可以写成字符串

    这个东西可以干什么用?

    我觉得吧,如果,你在输出很多相近的信息的时候,可以通过这种方法来减少代码量。同时代码显得更加的工整。
    举个例子:

    name = ["张三","李四","王五","你六","我六","大家六"]
    age = ["15","16","18","17","20","26"]
    sex = ["man","woman","man","woman","man","man"]
    for i in range(0,6):
        print("我们班级中名字叫做{}的,年龄是{},性别是{}".format(name[i],age[i],sex[i]))
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    我们班级中名字叫做张三的,年龄是15,性别是man
    我们班级中名字叫做李四的,年龄是16,性别是woman
    我们班级中名字叫做王五的,年龄是18,性别是man
    我们班级中名字叫做你六的,年龄是17,性别是woman
    我们班级中名字叫做我六的,年龄是20,性别是man
    我们班级中名字叫做大家六的,年龄是26,性别是man
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    这样用来一一对应。显得代码还比较工整。

    还能怎么用?

    实际上,前面的{}中如果我们不填入数据,那么默认是按照0,1,2,……这种顺序来排列的,后面的format中也是从前到后依次是0,1,2,……这样对应。

    如果我们换一下顺序:

    s3 = "大家好,今天是星期{1},明天是星期{0},后天是星期{2}"
    print(s3.format(1,2,3))
    
    • 1
    • 2
    大家好,今天是星期2,明天是星期1,后天是星期3
    
    • 1

    注意:
    括号中的数字代表的不是数字本身,而是下标,也就是说,0代表第一个数据,1代表后面第二个数据,2代表后面第三个数据。
    在这个里面0指的就是format中的第一个元素,1指的就是format中的第二个元素,2指的就是format中的第三个元素。
    所以输出的结果就是上面的样子。

    format的使用方法,类似于qt中的arg方法,有点像,但又不那么像!

  • 相关阅读:
    准备前工作
    唯亚威VIAVI FI-60光纤识别器
    如何在C程序中使用libcurl库下载网页内容
    助力查处非法占地现象 | 湖北某审计部门借助Bigemap开展自然资源资产审计工作
    HJ33整数与IP地址间的转换
    二叉搜索树
    荐书 |《写作脑科学》:屠龙的胭脂井教你写得又快又好
    [cpp primer随笔] 11. 内联函数与constexpr函数
    AUTOSAR规范与ECU软件开发(实践篇)9.4 AUTOSAR安全机制的存储空间分区
    【每日一记】OSPF卡在2-way状态、OSPF卡在Exstart状态解析
  • 原文地址:https://blog.csdn.net/Black_Friend/article/details/127532943