python 格式化

一、格式化方式:

1、使用%进行格式化;

2、使用f“str{}”进行格式化;

3、使用str.format进行格式化;

二、格式化的使用

1、使用 % 进行格式化

‘’‘
定义以下变量:
name = "Tom"
age = 17
weight = 58.9871
book = 10000
student_id = 31
hobby = "run"
‘’‘

1、单个字符 %s 字符串格式化:
print("他的名字叫%s" % name)

打印结果:
他的名字叫Tom


2、多个字符 %s 字符串格式化:
print("他的名字是:%s, 兴趣爱好是:%s" % (name, hobby))

打印结果:
他的名字是:Tom, 兴趣爱好是:run 


3、整数类型 %d 格式化:
print("他喜欢看书,目前有%d本书" % book)

打印结果:
他喜欢看书,目前有10000本书


4、整数类型格%d格式化用0补全:
# 固定学生id为4位数
print("输入学生ID为:%04d" % student_id)

打印结果:
输入学生ID为:0031

# 使用占位符打印输出
print("学生名字为:%10s" % student_id)

打印结果:
学生名字为:        31


5、浮点型 %f 格式化:
print("%s体重为:%f 公斤" % (name, weight))

打印结果:
Tom体重为:58.987100 公斤


6、浮点型 %f 指定小数点输出:
# 会四舍五入,取小数点后2位数
print("%s体重为:%.2f 公斤" % (name, weight))

打印结果:
Tom体重为:58.99 公斤

print("%s体重为:%.0f 公斤" % (name, weight))

打印结果:
Tom体重为:59 公斤

print("%s体重为:%f 公斤" % (name, weight))

打印结果:
Tom体重为:58.987100 公斤


7、通过键值对的方式进行格式化输出
print("%(name)s今年已经%(age)d岁了" % {"name": name, "age":age})

输出结果:
Tom今年已经17岁了


8、普通的%占位符"%%",转译了%作用为普通%
print("他今年读了所有书读%d %%" % ((365/book)*100))

输出结果:
他今年读了所有书读3 %


9、可以使用 %s 指定整数型和浮点型格式化:
# 格式化输出:他叫Tom,今年 16岁,体重:58.98 公斤,喜欢看书,目前收藏了10000本书籍,学号为:0031号
方式一:
print("他叫%s,今年 %d岁,体重:%f 公斤,喜欢看书,目前收藏了%d本书籍,学号为:%d号" % (name, age, weight, book, student_id))

方式二:
print("他叫%s,今年 %s岁,体重:%s 公斤,喜欢看书,目前收藏了%s本书籍,学号为:%s号" % (name, age, weight, book, student_id))

方式一和方式二,输出结果一致
打印结果:
他叫Tom,今年 17岁,体重:58.9871 公斤,喜欢看书,目前收藏了10000本书籍,学号为:31号

2、3.6以上版本python可以使用: f "str{}" 进行格式化,

‘’‘
定义以下变量:
name = "Tom"
age = 17
weight = 58.9871
book = 10000
student_id = 31
‘’‘

1、格式化输出:
print(f"今年{age}岁了")

打印结果:
print(f"今年{age}岁")

2、格式化补齐输出:
print(f"{name}的学号是{(student_id):04d}")

打印结果:
Tom的学号是0031

3、格式化浮点数输出
print(f"{name}今年体重是:{(weight):.2f}")

打印结果:
Tom今年体重是:58.99

4、格式化时进行运算:
print(f"{name}平均每年新增{int(book/age)}本书")

打印结果:
Tom平均每年新增588本书

5、使用lambda匿名函数做复杂运算:
a = 1
b = 2
sum_number = lambda x,y:x+y
print(sum_number(a,b))
or
print(f"{(lambda x,y:x+y)(a,b)}")


打印结果:
3

 3、使用str.format进行格式化

‘’‘
定义以下变量:
name = "Tom"
age = 17
weight = 58.9871
book = 10000
student_id = 31
‘’‘

1、格式化指定输出
print("这是{}名字".format(name))

打印结果:
这是Tom名字

2、不够用0补充
print("{}现在的学号是{:04d}".format(name, student_id))

打印结果:
Tom现在的学号是0031

3、格式化输出指定小数点位数
print("{}现在体重为:{:.2f}".format(name, student_id))

打印结果:
Tom现在体重为:58.99

4、格式化键值对输出
#format 格式化输出
print("今年是{age}岁,他叫{name}".format(name=“Tom”, age=17))

你可能感兴趣的:(python,基础,python)