• python3 开发面试题(%s和format的区别)5.31


    在格式化字符串中有两种方法:

      1、%s

      2、format

    大家常用的是哪一种方法?为什么要用你选的这种方法?

    我们先看一个例子:

    首先我们定义一个我军需要击杀的恐怖分子的地理坐标为 c=(128,128)

    # 利用%进行字符串格式化
    print("向他开炮:%s" % c)  #报错
    
    TypeError: not all arguments converted during string formatting
    
    print("向他开炮:%s" % (c, ))  #正确的写法
    
    # 用format进行字符串的格式化
    print("向他开炮:{}".format(c))

    format的常见方法:

    #通过关键字
    d1 = {"name": "duoduo", "age": 18}
    # s = "{name} is {age} years old.".format(d1["name"], d1["age"])
    s = "{name} is {age} years old.".format(**d1)
    print(s)
    
    
    #通过对象属性
    class Person():
    
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
        def __str__(self):
            return "{self.name} - {self.age}".format(self=self)
    
    
    p1 = Person("duoduo", 18)
    print(p1)
    
    
    #通过下标
    l1 = ["duoduo", 18]
    # s = "{} is {} years old. {} 帅。".format(l1[0], l1[1], l1[0])
    # s = "{0} is {1} years old. {0} 帅。".format(l1[0], l1[1])
    s = "{0[0]} is {0[1]} years old. {0[0]} 帅。".format(l1)
    print(s)
    
    
    #填充与对齐
    print("duoduo".center(20, "*"))      #填充左右
    print("{:>10}".format("duoduo"))   #左边空格填充
    print("{:0>10}".format("duoduo"))   #左边0填充
    print("{:*>10}".format("duoduo"))   #左边*填充
    print("{:*^10}".format("duoduo"))   #左右填充
    print("{:*<10}".format("duoduo"))   #右边用*填充
    
    print("duoduo".zfill(18))    #  0填充
    
    print("{:.2f}".format(3.141592653))     #保留两位小数
    print("{:b}".format(10))   #二进制
    print("{:d}".format(10))   #十进制
    print("{:o}".format(10))   #八进制 
    print("{:x}".format(10))   #十六进制
    
    
    print("{:,}".format(1000000))   # 千分位格式化
  • 相关阅读:
    围棋术语中英文对照
    修改grub及console的分别率 Linux-Ubuntu
    内核crash (Linux)
    pthread_create build
    内联函数定义的关键字inline及由此产生的编译问题简析
    debian家族重量级成员Ubuntu 20.04下载链接开启了。。。
    stm32 GPIO 输出配置参照
    Linux安装应用程序后,点击图标没法应,怎么解决呢?
    c语言中的引用使用
    QA Issue: PN: startUp is upper case, this can result in unexpected behavior. [uppercase-pn]
  • 原文地址:https://www.cnblogs.com/ManyQian/p/9125941.html
Copyright © 2020-2023  润新知