基础知识—格式化输出

python3中的input

 inp_username=input("请输入您的密码:") # "18"
 print(inp_username)
 print(type(inp_username))
 
age=input('your age: ') # age="18"
age=int(age) # 前提是:字符串中包含的必须是纯数字
print(type(age))
print(age > 10) # "18" > 10
int('123123123asdf') # 报错

在python2中有一个input:要求程序的使用者必须输入一个明确的数据类型(了解)

特点是:输入什么类型,就会被直接存成什么类型,程序中无需转换直接使用就好

在python2中有一个raw_input与python3的input是一模一样
print('asdfjasdfasfasdf'
print("my name is %s my age is" %"egon")

inp_name=input('请输入您的名字:')
inp_age=input('请输入您的年龄:')

print("my name is %s my age is %s" %(inp_name,inp_age))

python字符串的格式化输出

1. %
值按照位置与%s一一对应,少一个不行,多一个也不行
    res="my name is %s my age is %s" %('egon',"18")
    res="my name is %s my age is %s" %("18",'egon')
    res="my name is %s" %"egon"
    print(res)

以字典的形式传值,打破位置的限制
    res="我的名字是 %(name)s 我的年龄是 %(age)s" %{"age":"18","name":'egon'}
    print(res)

%s可以接收任意类型
    print('my age is %s' %18)
    print('my age is %s' %[1,23])
    print('my age is %s' %{'a':333})
    print('my age is %d' %18) # %d只能接收int
    print('my age is %d' %"18")

2. str.format:兼容性好
按照位置传值
    res='我的名字是 {} 我的年龄是 {}'.format('egon',18)
    print(res)

    res='我的名字是 {0}{0}{0} 我的年龄是 {1}{1}'.format('egon',18)
    print(res)

打破位置的限制,按照key=value传值
    res="我的名字是 {name} 我的年龄是 {age}".format(age=18,name='egon')
    print(res)
    
3. f'{}' #python3.5以后才推出
    x = input('your name: ')
    y = input('your age: ')
    res = f'我的名字是{x} 我的年龄是{y}'
    print(res)

了解知识

##填充与格式化
先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
*<10:左对齐,总共10个字符,不够的用*号填充
print('{0:*<10}'.format('开始执行')) # 开始执行******

*>10:右对齐,总共10个字符,不够的用*号填充
print('{0:*>10}'.format('开始执行')) # ******开始执行

*^10:居中显示,总共10个字符,不够的用*号填充
print('{0:*^10}'.format('开始执行')) # ***开始执行***
2.5 精度与进制

print('{salary:.3f}'.format(salary=1232132.12351))  #精确到小数点后3位,四舍五入,结果为:1232132.124
print('{0:b}'.format(123))  # 转成二进制,结果为:1111011
print('{0:o}'.format(9))  # 转成八进制,结果为:11
print('{0:x}'.format(15))  # 转成十六进制,结果为:f
print('{0:,}'.format(99812939393931))  # 千分位格式化,结果为:99,812,939,393,931
原文地址:https://www.cnblogs.com/chenwenyin/p/12335409.html