zoukankan      html  css  js  c++  java
  • 010.Python字符串的格式化


    字符串的格式化

    1. 顺序传参
    2. 索引传参
    3. 关键字传参
    4. 容器类型传参(列表和元组)

    {}相当于占位符

    1 顺序传参

    strvar = "他{}牺牲自己,{}出卖组织"
    res = strvar.format("宁愿","也不")
    print(res)
    res = strvar.format("白白","忘了")
    print(res)

    执行

    [root@node10 python]# python3 test.py
    他宁愿牺牲自己,也不出卖组织
    他白白牺牲自己,忘了出卖组织

    2 索引传参

    strvar = "他{1}牺牲自己,{0}出卖组织"
    res = strvar.format("宁愿","也不")
    print(res)
    res = strvar.format("忘了","白白")
    print(res)

     执行

    [root@node10 python]# python3 test.py
    他也不牺牲自己,宁愿出卖组织
    他白白牺牲自己,忘了出卖组织

    3 关键字传参

    strvar = "他{word0}牺牲自己,{word1}出卖组织"
    res = strvar.format(word0="宁愿",word1="也不")
    print(res)
    res = strvar.format(word1="忘了",word0="白白")
    print(res)

    执行

    [root@node10 python]# python3 test.py
    他宁愿牺牲自己,也不出卖组织
    他白白牺牲自己,忘了出卖组织

    4 容器类型传参

    复制代码
    strvar = "他{0[0]}牺牲自己,{1[0]}出卖组织"
    res = strvar.format(["宁愿","害怕","与其","宁愿"],["也不","所以","也不","也要"])
    print(res)
    strvar = "他{0[1]}牺牲自己,{1[1]}出卖组织"
    res = strvar.format(["宁愿","害怕","与其","宁愿"],["也不","所以","也不","也要"])
    print(res)
    strvar = "他{0[2]}牺牲自己,{1[2]}出卖组织"
    res = strvar.format(["宁愿","害怕","与其","宁愿"],["也不","所以","也不","也要"])
    print(res)
    复制代码

    执行

    [root@node10 python]# python3 test.py
    他宁愿牺牲自己,也不出卖组织
    他害怕牺牲自己,所以出卖组织
    他与其牺牲自己,也不出卖组织

    第二种写法

    format 格式化时, 要注意如果是字典,不要加引号.

    strvar = "他{group2[0]}牺牲自己,{group1[jiusuan]}出卖组织"
    res = strvar.format(group1 = {"jiusuan":"也要","为了":"努力"},group2=["绝不","除非"])
    print(res)

    执行

    [root@node10 python]# python3 test.py
    他绝不牺牲自己,也要出卖组织

    5 format填充符号的使用

    ^ 原字符串局中 
    < 原字符串局左
    > 原字符串局右

    填充

    复制代码
    strvar = "他{jiusuan:*^10}牺牲自己,{yeyao:>>8}出卖组织"
    res = strvar.format(jiusuan="就算",yeyao="也要")
    print(res)
    strvar = "他{reai:*^10}牺牲自己,{gengai:!<8}出卖组织"
    res = strvar.format(reai="热爱",gengai="更爱")
    print(res)
    复制代码

    执行

    [root@node10 python]# python3 test.py
    他****就算****牺牲自己,>>>>>>也要出卖组织
    他****热爱****牺牲自己,更爱!!!!!!出卖组织

    6 占位符

    :d 整型占位符
    :f 浮点型占位符
    :s 字符串占位符
    :, 金钱占位符

    示例

    复制代码
    strvar = "一周有{:d}天"
    res = strvar.format(7)
    print(res)
    strvar = "一周有{:3d}天"
    res = strvar.format(7)
    print(res)
    strvar = "一周有{:^10d}天"
    res = strvar.format(7)
    print(res)
    strvar = "一周有{:<10d}天"
    res = strvar.format(7)
    print(res)
    strvar = "一周有{:>10d}天"
    res = strvar.format(7)
    print(res)
    复制代码

    执行

    一周有7天
    一周有  7天
    一周有    7     天
    一周有7         天
    一周有         7天

    7 关键字的使用

    pass / break / continue

    pass 过 起到占位的作用

    例如

    if 5 == 5:

    是因为没有结束符

    if 5 == 5:
        pass

    再次执行就不会报错,起到一个占位的作用

    break 只能应用在循环当中 用于终止当前循环

    复制代码
    i = 1
    while i<=10:
    
            if i == 5:
                    break
            print(i)
            i+=1
    
    i = 1
    while i<=3:
            j = 1
            while j<=3:
                    print(i,j)
                    if j == 2:
                            break  # 终止当前所在的循环
                    j+=1
            i+=1
    复制代码

    执行

    复制代码
    [root@node10 python]# python3 test.py
    1
    2
    3
    4
    1 1
    1 2
    2 1
    2 2
    3 1
    3 2
    复制代码

    continue 跳过当前循环,从下一次循环开始

    打印1~10 不打印5

    复制代码
    i = 1
    while i<=10:
    
            if i == 5:
                    i+=1
                    continue
    
            print(i)
    
            i+=1
    复制代码

    执行

    复制代码
    [root@node10 python]# python3 test.py
    1
    2
    3
    4
    6
    7
    8
    9
    10
    复制代码

    打印所有1~100 不含有4的数

    复制代码
    # 方法一
    i = 1
    while i <= 100:
        
        if "4" in  str(i):
            i+=1
            continue
            
        print(i)    
        i+=1
        
    # 方法二
    i = 1
    while i<=100:
        if i // 10 == 4 or i % 10 == 4:
            i+=1
            continue
            
        print(i)
        i+=1
    复制代码
    学习记录,小白一枚
  • 相关阅读:
    VueRouter认识
    vuejs组件
    vue初级使用
    Apache Shiro初认识
    解决表单提交的数据丢失问题
    浅析SpringDataJpa继承结构
    HTTP Status 500
    Eclipse快捷键
    JavaScript(JS)的简单使用
    mysql 函数 GROUP_CONCAT 单元格中最长字符串和excel导出问题
  • 原文地址:https://www.cnblogs.com/wangsirde0428/p/14322375.html
Copyright © 2011-2022 走看看