zoukankan      html  css  js  c++  java
  • python字符串的格式化输出

    很多时候我们在打印输入内容时希望有简单格式而不是拼接

    一般做法:

    1 name = input("name:").strip()
    2 age = input("age:").strip()
    3 job = input("job:").strip()
    4 print("Name:" + name + " Age:" + age + " Job:" + job)

    结果为:

    Name:zhang Age:24 Job:IT

    格式化输出做法:

    name = input("name:").strip()
    age = input("age:").strip()
    job = input("job:").strip()
    info = '''
    ----------info of %s -------  # info里每个%s就是一个占位符
    Name :  %s
    Age :   %s
    Jog :   %s
    ----------end---------------
    '''%(name, name, age, job) # 这行的%就是把前面的占位符和括号后的变量关联
    print(info)

    结果为:

    ----------info of zhang -------
    Name :  zhang
    Age :   24
    Jog :   IT
    ----------end---------------

    除了%s还有%d、%f等多种类型可用,%d表示你输入的只能是数字,我们把age的%s换成%d看下会出现什么错误

     1 name = input("name:").strip()
     2 age = input("age:").strip()
     3 job = input("job:").strip()
     4 info = '''
     5 ----------info of %s -------
     6 Name :  %s
     7 Age :   %d
     8 Jog :   %s
     9 ----------end---------------
    10 '''%(name, name, age, job)
    11 print(info)

    报错信息:

    Traceback (most recent call last):
      File "C:/Users/admin/PycharmProjects/test.py", line 10, in <module>
        '''%(name, name, age, job)
    TypeError: %d format: a number is required, not str
    Name:li Age:25 Job:farmer

    原因是我们input输入的虽然是数字但是存到变量中是以字符串str类型保存的,要用%d必须要修改变量类型,把第10行做如下修改age变量转为int类型即可正常执行

    '''%(name, name, int(age), job)

    所以一般在格式化输出是用%s比较万能,因为你输入的都是字符串str,所以不会报错。

    补充另一种格式化输出函数format

    print('{0} {1} {0}'.format('a', 'b'))
    a b a
    print('{} {}'.format('a', 'b'))
    a b
    print('{name} {age}'.format(age=24, name='aaa'))
    aaa 24
  • 相关阅读:
    Windows下MarialDB使用
    线程同步synchronized和ReentrantLock
    4种事务特性,5种隔离级别,7种传播行为
    Spring bean的作用域
    java经典30笔试题
    finally中的return
    springboot中Controller没有被扫描
    面试如何回答优化数据库
    Windows定时任务没有执行
    .Net应用程序打包部署总结
  • 原文地址:https://www.cnblogs.com/fanhk/p/8618673.html
Copyright © 2011-2022 走看看