Python 格式化输出的3种方式
2019-11-14 本文已影响0人
R_zb
第一种: %
-
单个使用格式:“%s” % “test”
-
多个使用格式:“年份:%d,月份:%d, 日期:%d” % (2019,11,13)
注:多个使用时,需按顺序填充,且格式内容需与符号对应(如%d取值str内容,则会报错)
-
Python 字符串格式化符号:
符号 描述 %c 格式化字符及其ASCII码 %s 格式化字符串 %d 格式化整数 %u 格式化无符号整型 %o 格式化无符号八进制数 %x 格式化无符号十六进制数 %X 格式化无符号十六进制数(大写) %f 格式化浮点数字,可指定小数点后的精度 %e 用科学计数法格式化浮点数 %E 作用同%e,用科学计数法格式化浮点数 %g %f和%e的简写 %G %F 和 %E 的简写 %p 用十六进制数格式化变量的地址
# 顺序取值
test = "年份:%s,月份:%s" % ("2019", "11")
print(test) # 年份:2019,月份:11
test = "年份:%d,月份:%d" % (2019, 11)
print(test) # 年份:2019,月份:11
# 格式字符串的参数顺序填错
test = "年份:%d,月份:%d" % (11, 2019)
print(test) # 年份:11,月份:2019
# 格式字符串的参数格式错误
test = "年份:%d,月份:%s" % ("2019", "11")
print(test)
# 报错:TypeError: %d format: a number is required, not str
# 格式字符串的参数不足
test = "年份:%d,月份:%d" % (2019)
print(test)
# 报错:TypeError: not enough arguments for format string
第二种 :str.format()
-
默认顺序取值
-
下标取值
-
变量取值
# 默认顺序 test = "年份:{},月份:{}".format(2019, 11) print(test) # 年份:2019,月份:11 # 下标 test = "年份:{1},月份:{0}".format(2019, 11) print(test) # 年份:11,月份:2019 # 下标(多次使用) test = "年份:{1},月份:{0},年份:{1}".format(2019, 11) print(test) # 年份:11,月份:2019,年份:11 # 变量 test = "年份:{year},月份:{month}".format(year=2019, month=11) print(test) # 年份:2019,月份:11
第三种:f“ ”
year = 2019
month = 11
# 调用变量
print(f"年份:{year},月份:{month}") # 年份:2019,月份:11
# 调用表达式
print(f"{2 * 100}") # 200
def hi():
return "hello"
# 调用函数
print(f"{hi()}") # hello
# 调用列表下标
test = [2019, 11]
print(f"年份:{test[0]},月份:{test[1]}") # 年份:2019,月份:11
# 调用字典
test = {"year": 2019, "month": 11}
print(f"年份:{test['year']},月份:{test['month']}") # 年份:2019,月份:11