当前位置: 首页 > news >正文

Python中的format()函数详细讲解

注:所以代码皆成功运行,可直接复制运行

一、基本使用

1、Python中的format()函数是一个格式字符串的函数,通过花括号{}识别替换字段,从而完成字符串的格式化。

#format后面放数字、字符串都可以
print("{}喜欢{}岁的{}".format('小明',100,'小柒'))
#小明喜欢100岁的小柒

2、通过数字参数传入位置参数

print("{2}喜欢{1}岁的{0}".format('小明',100,'小柒'))
#小柒喜欢100岁的小明
print("{0}喜欢{1}岁的{0}".format('小明',100,'小柒'))
#小明喜欢100岁的小明

3、关键字传递

说明:format前后的关键字顺序都可以更换

print("{boy_name}喜欢{girl_name}".format(boy_name='小明',girl_name='小柒'))
#小明喜欢小柒
print("{girl_name}喜欢{girl_name}".format(boy_name='小明',girl_name='小柒'))
#小柒喜欢小柒
print("{boy_name}喜欢{girl_name}".format(girl_name='小柒',boy_name='小明'))
#小明喜欢小柒

4、关键字和数字混合使用

#关键字参数必须位于位置参数之后
print("{0}喜欢{1}岁的{girl_name}".format('小明',100,girl_name='小柒'))
#小明喜欢100岁的小柒#数字可以省略,但省略字段名{}不能和数字形式的字段名同时使用,否则会报错
print("{}喜欢{}岁的{girl_name}".format('小明',100,girl_name='小柒'))
#小明喜欢100岁的小柒

二、进阶使用

1、使用列表、元组、字典、类传参

1.1 列表传参

name_list = ["小明", "小柒"]
print("{}喜欢{}".format(*name_list))
#小明喜欢小柒
print("{0}喜欢{1}".format(*name_list))
#小明喜欢小柒

1.2 列表传参

注意:列表和元组很像,区别就是元组一旦创建其长度便固定了,而列表可以改表

name_list = ("小明", "小柒")
print("{}喜欢{}".format(*name_list))
#小明喜欢小柒
print("{0}喜欢{1}".format(*name_list))
#小明喜欢小柒

1.3 字典传参

name_dir = {"boy_name":"小明","girl_name":"小柒"
}
print("{boy_name}喜欢{girl_name}".format(**name_dir))
#小明喜欢小柒

1.4 类传参

#类
class Name:def __init__(self,boy_name,girl_name):self.boy_name=boy_nameself.girl_name=girl_name
#实例化对象
name=Name("小明","小柒")
print("{0.boy_name}喜欢{0.girl_name}".format(name))
#小明喜欢小柒
# #当只有一个字段的时候,就可以省略数字
print("我是{.boy_name}".format(name))
#我是小明

其他调用方法

print("{name.boy_name}喜欢{name.girl_name}".format(name=name))
#小明喜欢小柒
print("{name1.boy_name}喜欢{name1.girl_name}".format(name1=name))
#小明喜欢小柒

2、字符串对齐和其他格式化方法

2.1字符串对齐

print("{:>10}".format(1))#宽度为10,右对齐
print("{:>10}".format(11))
print("{:>10}".format(111))
print("{:>10}".format(1111))

结果如下:
在这里插入图片描述

2.2 保留x位小数

print("{:.1f}".format(3.14))
#3.1
print("{:+.0f}".format(3.14))#不带小数
#+3
print("{:+.4f}".format(3.14))#“+”带符号
#+3.1400
print("{:+.2f}".format(-1))
#-1.00

2.3 其他的可以参考图片

在这里插入图片描述

参考文章:Python的format用法详解(逻辑不错,但里面的很多代码都是有问题的)

http://www.lryc.cn/news/141546.html

相关文章:

  • 11. 盛最多水的容器(c++题解)
  • 历史最佳二季度表现后,爱奇艺想为用户提供更多价值
  • HDLBits-Verilog学习记录 | Verilog Language-Basics(2)
  • Ubuntu22.0网络/网卡丢失
  • Linux 常用
  • AWS 提示证书签名过期无法自动更新
  • Git版本管理(01) 简介 基本提交相关命令
  • 解决 vue项目报错:digital envelope routines::unsupported
  • 【Java基础增强】类加载器和反射
  • 【Java】数据类型变量
  • 护目镜佩戴检测识别算法
  • NOIOLPJ2022B. 数学游戏 分析
  • android studio gradle build running慢 卡住不动 失败 原因与解决方式
  • 如何保障Facebook账号登录稳定
  • 当前目录下的excel文件的两列内容的相似度比较
  • Cookie for Mac:隐私保护工具保护您的在线隐私
  • Huggingface训练Transformer
  • IA-YOLO项目中DIP模块的初级解读
  • MathType7.4mac最新版本数学公式编辑器安装教程
  • 为Claude的分析内容做准备:提取PDF页面内容的简易应用程序
  • js中作用域的理解?
  • 机器学习基础之《分类算法(4)—案例:预测facebook签到位置》
  • 【Java】反射 之 调用方法
  • Java——单例设计模式
  • Java实现excel表数据的批量存储(结合easyexcel插件)
  • Config:客户端连接服务器访问远程
  • 【KMP算法-代码随想录】
  • 【手写promise——基本功能、链式调用、promise.all、promise.race】
  • 计算机网络-笔记-第二章-物理层
  • 前端开发中的单伪标签清除和双伪标签清除