字符串的格式化和用户输入
格式化输出
1.格式化输出:
1- print('我叫%s,身高%scm'%(name,height))
2- %s-----用str()函数进行字符串转换
3- %d---转成有符号十进制数
4- %f---转成浮点数
4- %x---转成无符号十六进制数
5- 传入值的时候一定是个元祖-----不是列表
6- 如果是2个以上的传值,用元祖!
7- 指定长度
1-- %5d---右对齐---不足左边补空格
2-- %-5d---左对齐---不足右边补空格
3-- %05d----右对齐---不足补0
4-- %x-----十六进制 %#x 打印的时候自动增加0x 前缀
5-- 浮点数:
1-%f---默认是输出6位有效数据--进行四舍五入
2-指定小数点位数的输出 %.nf----保留小数点后n位
3- %4.8f ----4代表整个浮点数的长度---包括小数点
# 字符串格式化:
name = 'mike'
height = 170
# 两个或两个以上元素用元祖
print('我叫'+name,'年龄'+str(height)+'cm') # 普通格式化---多个变量会很复杂,容易错。
print('我叫%s,年龄%scm' % (name,height)) # %s----用str()函数进行字符串转换
print('我叫%s,年龄%dcm' % (name,height)) # %d---转成有符号十进制数
# %正数nd或者ns 右对齐,左补齐 ,%负数-nd或者-ns 左对齐,右补齐
print('名字是:%s,身高:%5d' % tuple([name,height])) # 列表转成元祖 右对齐,左补齐
print('名字是:%10s,身高:%-5d' % tuple([name,height])) # 列表转成元祖 左对齐,右补齐----数字一般不会用左对齐
print('%5d' % 1232388132181) # 大于限制位数全部打印
print('%f' % 123.231321813909809) # 小数点后面最多打印6位有效值
print('%.8f' % 123.231321813909809) # 前面+.n代表小数点后面打印8几位
print('%17.8f' % 123.231321813909809) # 大于所有位数前面补空格
print('%017.8f' % 123.231321813909809) # 大于所有位数前面补0
print('%17.8f' % 123.23132) # 不足17位是前面自动补空格
print('%017.8f' % 123.23132) # 不足17位是前面自动补0
print('%x' % 108)
print('%#x' % 108)
2- 格式化输出-: format
特性:字符串的format方法
1.顺序填坑:{}--坑
2.下标填坑:
3.变量填坑
4.指定长度输出:
1--{:5}--指定长度输出
1- 字符串 {:5}--左对齐
2- 数值 -- {:5}--右对齐
2--使用 >< ---避免字符串/数值对其方式不一致
1- > 右对齐
2- < 左对齐
3- ^ 中间对齐
切记:顺序、下标、变量 :三种不能混合使用
3-python3.6----格式化 .f" 方法
info = f'我叫{name:^6},年龄{height:>6}'
print(info)
# 1.顺序填坑:{}--坑---位置一定不能多
name = 'mike'
age = 17
height = 170
info = '我叫:{},年龄是;{}'.format(name,age)
print(info)
# 5,4--宽度(长度) 不够补空格
info = '我叫:{:5},年龄是:{:5},身高是:{:4}'.format(name,age,height) # 5,4--宽度(长度) 不够补空格
print(info)
# 对齐:>右对齐 <左对齐 ^中间对齐
info = '我叫:{:>6},年龄是:{:<7},身高是:{:^5}'.format(name,age,height) # 6,7,5--宽度 不够补空格,
print(info)
info = '我叫:{:0>6},年龄是:{:#<7},身高是:{:*^5}'.format(name,age,height) # :后面 确定要补的字符
print(info)
# 2.下标填坑
print('名字是:{0},年龄是:{2}'.format('tom','19',190))
# 3.变量填坑
print('名字是:{name:},年龄是:{age:}'.format(name = 'tom',age = '19'))
# 4. python3.6 ----出现的一个f方法
info = f'我叫{name:^6},年龄{height:>6}'
print(info)
4.字符串里面的转义符
5.input():
1-返回值是 str
2-等待输入,不输入就一直等待
扩展:# ‘{‘name’:tom}’
name = 'tom'
data = "{'name':%s}" % name # '{'name':tom}'
print(data)
data = f"{{'name':{name}}}" # '{'name':tom}'
print(data)