转自
https://www.cnblogs.com/Lijcyy/p/9280053.html
syslog.syslog(syslog.ERROR,"%s:%s" %( excclass,message)) (打印多个变量)
python 字符串格式化,输出print
字符串格式化代码:
格式 描述
%% 百分号标记
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)a-f
%X 无符号整数(十六进制大写字符)A-F
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)默认精度为6位
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数
整数不包含精度问题
1.打印字符串 %s
print(“My name is %s” %(“Alfred.Xue”))
#输出效果:
My name is Alfred.Xue
2.打印整数 %d
print(“I am %d years old.” %(25))
#输出效果:
I am 25 years old.
3.打印浮点数 %f
print (“His height is %f m”%(1.70))
#输出效果:
His height is 1.700000 m
4.打印浮点数(指定保留两位小数) %.2f
print (“His height is %.2f m”%(1.70))
#输出效果:
His height is 1.70 m
5.指定占位符宽度 %8d %8.2f 多个占位符用括号
print (“Name:%10s Age:%8d Height:%8.2f”%(“Alfred”,25,1.70))
#输出效果:
Name: Alfred Age: 25 Height: 1.70
6.指定占位符宽度(左对齐)默认右边对齐,负号代码左边对齐 %-10s %-8d %-8.2f
print (“Name:%-10s Age:%-8d Height:%-8.2f”%(“Alfred”,25,1.70))
#输出效果:
Name:Alfred Age:25 Height:1.70
7.指定占位符(只能用0当占位符?) %08d %08.2f
print (“Name:%-10s Age:%08d Height:%08.2f”%(“Alfred”,25,1.70))
#输出效果:
Name:Alfred Age:00000025 Height:00001.70
8.科学计数法
format(0.0026,’.2e’)
#输出效果:
‘2.60e-03’
练习字符串
#!usr/bin/python3
inputstr = input("请输入字符串")
##!!!!str作为字符串名不建议使用,容易混淆str()函数
print("字符中存在%s个a" % inputstr.count('a'))
print("字符中存在%s个空格" % inputstr.count(' '))
print("字符中第一个字符编码%s\n\n" % ord(inputstr[0]))
inputNum = input("请输入整数")
while not (inputNum.isdigit() and (int(inputNum)>=0 and int(inputNum)<=256)):
if not inputNum.isdigit():
inputNum = input("输入的不是数字,请重新输入")
continue
if not (int(inputNum)>=0 and int(inputNum)<=256):
inputNum = input("输入的数字值太大,请重新输入")
print("%s对应的ascii的字符为%s" % (inputNum, chr(int(inputNum))))
"""
if len(inputstr)==0:
print("没有输入数据!!!!")
quit()
if inputstr[::] == inputstr[::-1]:
print("是回文")
else:
print("不是回文")
"""
"""
print("第一个字符:" + inputstr[0])
#print(inputstr[int(len(inputstr)/2)])
#print(len(inputstr)%2)
if len(inputstr)%2 != 0:
print("中间第"+str(len(inputstr)//2+1)+"个字符为:"+inputstr[len(inputstr)//2])
##!!!!注意len()/2得到的值为float型
else:
print("没有中间字符")
print("最后一个字符:"+inputstr[-1])
"""