Python中的format格式化、填充与对齐、数字格式化方式
文章目录
- 一、format语法
- 二、format格式化的用法
- 2.1、按照先后顺序替换{}
- 2.2、按照索引进行匹配替换{0}
- 2.3、按关键字索引进行匹配替换
- 2.4、通过列表索引格式化字符串
- 2.5、使用元组
- 2.6、通过字典设置格式化字符串
- 2.7、混合使用
- 三、字符串填充与对齐
- 3.1、左对齐及填充
- 3.2、右对齐及填充
- 3.3、居中对齐及填充
- 四、格式化
- 4.1、格式化数字
- 4.2、格式化日期和时间
- 五、format() 方法综合应用
format函数是Python中强大的字符串格式化方法,它允许程序员通过大括号{}来为字符串中的插入点占位,并通过传入参数进行替换,{0}、{1}分别代表不同的参数
以下内容基于Python3.13进行讲解。
一、format语法
官网地址:https://docs.python.org/zh-cn/3/library/functions.html#format
语法一:format()函数
format(value, format_spec='')
将 value 转换为“格式化后”的形式,格式由 format_spec 进行控制。format_spec 的解释方式取决于 value 参数的类型;
语法二:str.format()
str.format(*args, **kwargs) 常见形式为: ''.format()如:print('我是{}'.format('小明'))
{}一般被称为槽
format_spec常用格式:
'{[index][:[fill]align][sign][#][width][grouping_option][.precision][type]}{......}{......}'.format(),格式中[]内的参数都是可选参数,每个{}都表示是一个待替换的字符串。format_spec ::= [[fill]align][sign]["z"]["#"]["0"][width][grouping_option]["." precision][type]
fill ::= <any character>
align ::= "<" | ">" | "=" | "^"
sign ::= "+" | "-" | " "
width ::= digit+
grouping_option ::= "_" | ","
precision ::= digit+
type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
index:指定冒号后面出现的参数在format()中的索引值,如果没有,则以format()中的默认顺序自动分配。
fill:指定空白处的填充符,默认是空格,可以是任意单个字符。
align:指定数字的对齐方式。
| align | 含义 |
|---|---|
| < | 左对齐,对于大部分对象时为默认 |
| > | 右对齐,对于数字时为默认 |
| = | 数据右对齐,同时将符号放置在填充内容的最左侧,该选项只对数字类型有效 |
| ^ | 数据居中,此选项需和 width 参数一起使用 |
请注意,除非定义了最小字段宽度,否则字段宽度将始终与填充它的数据大小相同,因此在这种情况下,对齐选项没有意义。
sign:指定有无符号数 。
| sign | 含义 |
|---|---|
| + | 正数前面添加 ‘ + ’ ,负数前面加 ‘ - ’ 例如 +3 , -1 。 |
| - | 表示正负号仅用于负数(这是默认行为)。正数前面不添加 ‘ + ’ ,负数前面加 ‘ - ’。例如 3 , -1。 |
| space | 正数前面添加 ‘ 空格 ’ ,负数前面加 ‘ - ’ |
| # | 对于二进制数、八进制数和十六进制数,使用此参数,各进制数前会分别显示 0b、0o、0x前缀;反之则不显示前缀 |
width:指定输出数据时所占的宽度。
grouping_option :千分位分隔符,一般为"_" 或 “,” 。
.precision:如果后面存在type参数,则指的是保留小数的位数,如果type参数不存在,则是指有效数字的位数。
type:指定输出数据的具体类型。
| type | 含义 |
|---|---|
| s | 对字符串类型格式化,这是字符串的默认类型,可以省略。 |
| % | 显示百分比,默认显示小数点后六位,将数字乘以 100 后面带一个百分号。 |
| d | 十进制整数 |
| c | 将十进制整数自动转化成对应的Unicode字符 |
| b | 将十进制数自动转化成二进制数,并格式化输出 |
| o | 将十进制数自动转化成八进制数,并格式化输出 |
| x | 十六进制数,a 到 f 小写 |
| X | 十六进制数,A 到 F 大写。 在指定 ‘#’ 的情况下,前缀 ‘0x’ 也将被转为大写形式 ‘0X’。 |
| e | 转化成科学计数法,并格式化输出 |
| E | 科学计数法。 与 ‘e’ 相似,不同之处在于它使用大写字母 ‘E’ 作为分隔字符。 |
| f | 转化为浮点数,对 float 采用小数点之后 6 位精度,而对 Decimal 则使用大到足够显示所有系数位的精度。 |
| F | 定点表示。 与 ‘f’ 相似,但会将 nan 转为 NAN 并将 inf 转为 INF。 |
| g、G | 自适应转化为e或f(E或F),并格式化输出 |
简单示例:
print("{0}{1}".format("Hello"," World!")) #输出:Hello World!
print("{0:+<20}".format("Python"))#输出:Python++++++++++++++
print("{0:+>20}".format("Python"))#输出:++++++++++++++Python
print("{0:+^20}".format("Python"))#输出:+++++++Python+++++++
#还可以不需要槽样式,直接将槽样式写在format函数的参数里
print(format("Hello"),format("World")) #输出:Hello World!
print(format("Python",'+<20'))#输出:Python++++++++++++++
print(format("Python",'+>20'))#输出:++++++++++++++Python
print(format("Python",'+^20'))#输出:+++++++Python+++++++
二、format格式化的用法
2.1、按照先后顺序替换{}
格式如下:
"{} {}".format(values1, values2)
说明:format 会把参数按位置顺序来填充到字符串中,按照顺序自动分配,而且一个参数可以多次插入。{{}} 仅代表{},不占用字符串格式化位置顺序。
示例:
# {} 和参数的个数必须匹配,否则会报错。
name='张三'
age=19
s="我的名字是:{},年龄是:{}"
print(s.format(name,age) )
输出为:
我的名字是:张三,年龄是:19
2.2、按照索引进行匹配替换{0}
格式如下:
"{0} {1}".format(value1, value2)
说明:按索引编号来匹配替换 {索引} 的值。
{0},{1}代表的占位符,数字占位符要注意顺序。下标从0开始。
name='张三'
age=19
s="我的名字是:{0},年龄是:{1}"
print(s.format(name,age) )
输出为:
我的名字是:张三,年龄是:19
索引下标可多次使用
print('我是{0},我喜欢{1},你喜欢{1}吗?'.format('小明','打羽毛球'))输出:我是小明,我喜欢打羽毛球,你喜欢打羽毛球吗?
先后顺序与索引下标不能混合一起使用,下面的用法将报错:
print('我是{0},我喜欢{1},你喜欢{}吗?'.format('小明','打羽毛球','乒乓球'))输出:
ValueError: cannot switch from manual field specification to automatic field numbering
索引下标不能越界,即不能超过format给出的值数量,注意下标是0开始,下面用法将报错:
print('我是{2}'.format('小明','打羽毛球'))输出:IndexError: tuple index out of range
2.3、按关键字索引进行匹配替换
格式如下:
"{关键字索引1} {关键字索引2}".format(关键字索引1 = value1, 关键字索引2 = value2)
s="我的名字是:{name},年龄是:{age}"
print(s.format(age=19,name='张三') )year = 2024
month = 11
s = "现在是{year1}年{month1}月"
print(s.format(year1=year,month1=month) )
输出为:
我的名字是:张三,年龄是:19
现在是2024年11月
2.4、通过列表索引格式化字符串
格式如下:
列表名=['列表值1','列表值2','列表值3'...]
"{List[列表索引1]},{List[列表索引2]}".format(List = 列表名)说明:在format格式化时,可使用 * 对list拆分
示例:
list1 = ["张三",22]
list2 = [2002,10,22]
list3 = ["Tom","Jerry","Rose","Black"]
list4 = [25,22,20,24]
print("我叫{list[0]},今年{list[1]}岁了。".format(list=list1))
print("我叫{0[0]},今年{0[1]}岁了。".format(list1))
print("李明的生日:{list[0]}-{list[1]}-{list[2]}".format(list=list2))
print("{0[0]}的年龄为{1[1]};{0[1]}的年龄为{1[2]};{0[2]}的年龄为{1[0]};{0[3]}的年龄为{1[3]}。".format(list3,list4))# 使用 *与** 对list进行拆分
print("李明的生日:{1}-{2}-{0}".format(*list2))运行结果为:
======================================================================
我叫张三,今年22岁了。
我叫张三,今年22岁了。
李明的生日:2002-10-22
Tom的年龄为22;Jerry的年龄为20;Rose的年龄为25;Black的年龄为24。
李明的生日:10-22-2002
关于*list拆分列表的用法参考python中的*与**用法详解
2.5、使用元组
元组与list用法一致,参考上面写法。
test = ('小明','珠海市','天蝎座','小哥哥')
print('我是{0[0]},来自{0[1]}的{0[2]}一枚{0[3]}'.format(test))
print('我是{0},来自{1}的{2}一枚{3}'.format(*test))
print('我是{},来自{}的{}一枚{}'.format(*test))#输出
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test3.py
我是小明,来自珠海市的天蝎座一枚小哥哥
我是小明,来自珠海市的天蝎座一枚小哥哥
我是小明,来自珠海市的天蝎座一枚小哥哥
2.6、通过字典设置格式化字符串
格式如下:
字典名1={'字典索引1':'字典索引1的值', '字典索引2':'字典索引2的值', ...}
"{字典索引},{字典索引值}".format(字典名1) 说明:在format格式化时,可使用 ** 对字典拆分
dict1 = {"name":"张三","age":21}
dict2 = {"year":2002,"month":10,"day":22}
print("我叫{0[name]},今年{0[age]}岁了。".format(dict1))
print("我叫{0},今年{1}岁了。".format(*dict1))
print("李明的生日:{0[year]}-{0[month]}-{0[day]}".format(dict2))
print("李明的生日:{0[month]}-{0[day]}-{0[year]}".format(dict2))
print("我叫{name},今年{age}岁了".format(**dict1))
# python2.7中不支持多个**入参,python3支持
print("我叫{name},今年{age}岁了。生日:{year}-{month}-{day}".format(**dict1,**dict2))运行结果为:
==========================================
我叫张三,今年21岁了。
我叫age,今年name岁了。
李明的生日:2002-10-22
李明的生日:10-22-2002
我叫张三,今年21岁了
我叫张三,今年21岁了。生日:2002-10-22
关于**dict的用法参考python中的*与**用法详解
2.7、混合使用
(1)可以通过索引,参数名来混合匹配。
(2)注意:命名参数必须放在最后。否则编译时出现报错!
(3)索引和默认格式化不可以混合使用。
(4)支持对参数部分引用,可以通过索引对参数的部分进行取值。
示例:
list1 = ["张三",21]
dict1 = {"year":2002,"month":10,"day":22}
print("我叫{},生日为:{year}-{month}-{day},今年{}岁了。".format(*list1,**dict1))
print("我叫{},今年{age}岁了。".format("李四",age=25))
# print("我叫{},今年{age}岁了。".format(age=25,"李四")) #此代码错误,命名参数必须放在最后
print("我叫{},今年{1}岁了。".format("李四",25)) #此代码错误,索引和默认格式化不可以混合使用程序运行结果为:
=====================D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py =====================
我叫张三,生日为:2002-10-22,今年21岁了。
我叫李四,今年25岁了。
Traceback (most recent call last):File "D:\WorkSpace-Python\Test\test.py", line 6, in <module>print("我叫{},今年{1}岁了。".format("李四",25))
ValueError: cannot switch from automatic field numbering to manual field specification
三、字符串填充与对齐
format支持左对齐、右对齐、居中对齐。
如果你希望将变量打印在特定位置,可以使用对齐方式
更多对齐与填充的方法参考《Python字符串对齐的几种方法、Python填充与对齐、Python中英文对齐》
3.1、左对齐及填充
格式如下:
:< # 左对齐填充
< # 左对齐,后面带宽度
: # 后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
示例:
print('{:<10}!'.format('Python')) # 默认填充空格
print('{:0<10}!'.format('Python')) # 用0填充
print('{:<10}!'.format('中华人民万岁')) # 默认填充空格运行结果:
======================================
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py
Python !
Python0000!
中华人民万岁 !
注意:python2与python3中对于中文字符串的填充是不一致的。
#python2
print('{:<10}!'.format('hello')) # 右边补充5个空格,使长度为10
print('{:<10}!'.format('全世界')) # 右边补充一个空格,因为len('全世界')发现长度为9
hello !
全世界 !# python3
print('{:<10}!'.format('hello')) # 右边补充5个空格,使长度为10
print('{:<10}!'.format('全世界')) # 右边补充7个空格,使长度为10
hello !
全世界 !
在Python 2和Python 3中,len()函数的主要区别在于它们对字符串的处理方式不同。
- 在Python 2中,len()函数返回的是
字节长度。这意味着如果字符串中包含非ASCII字符(如中文、日文等),len()返回的将是字节数而不是字符数。例如,对于包含中文的字符串,len()返回的将是字节长度,而不是字符数。- 而在Python 3中,len()函数直接返回
字符数量。这是因为Python 3默认使用UTF-8编码,而UTF-8编码支持多字节字符,因此len()函数返回的是字符数而不是字节数。这意味着在处理包含非ASCII字符的字符串时,Python 3的len()函数能够正确地返回字符数
3.2、右对齐及填充
格式如下:
:> # 右对齐
> # 右对齐,后面带宽度,
: # 后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
示例如下:
print('{:>10}!'.format('Python')) # 默认填充空格
print('{:0>10}!'.format('Python')) # 用0填充
print('{:>10}!'.format('中华人民万岁')) # 默认填充空格运行结果:
======================================
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py Python!
0000Python!中华人民万岁!
3.3、居中对齐及填充
格式如下:
:^ # 居中对齐
^ # 居中对齐,后面带宽度
: # 后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
示例如下:
print('{:^10}!'.format('Python')) # 默认填充空格
print('{:0^10}!'.format('Python')) # 用0填充
print('{:^10}!'.format('中华人民万岁')) # 默认填充空格运行结果:
======================================
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py Python !
00Python00!中华人民万岁 !
四、格式化
4.1、格式化数字
更多详细内容参考另一篇文章:python format格式化数字
可以实现百分比、千分位、进制转换、字符填充与对齐等等。
4.2、格式化日期和时间
format() 函数在处理日期和时间时也非常有用,可以将日期和时间对象格式化为特定的字符串表示。
from datetime import datetime# 格式化当前日期和时间
now = datetime.now()
formatted_datetime = "{:%Y-%m-%d %H:%M:%S}".format(now)
print("Formatted datetime:", formatted_datetime)
日期和时间符号参考:python中时间日期格式化符号
五、format() 方法综合应用
(1)打印左对齐图案
代码如下:
for i in range(1, 11):print("{:<{}}".format("*" * i, 10))程序运行结果为:
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test3.py
*
**
***
****
*****
******
*******
********
*********
**********
(2)打印右对齐图案
代码如下:
for i in range(1, 11):print("{:>{}}".format("*" * i, 10))程序运行结果为:
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test3.py*********************************************
**********
(3)打印居中对齐图案
代码如下:
for i in range(1, 21, 2):print("{:^{}}".format("*" * i, 20))程序运行结果为:
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test3.py* *** ***** ******* ********* *********** ************* *************** *****************
*******************
参考或推荐文章:
https://blog.csdn.net/weixin_44377973/article/details/132300478
数字格式化:python format格式化数字
https://zhuanlan.zhihu.com/p/632687543
相关文章:
Python中的format格式化、填充与对齐、数字格式化方式
文章目录 一、format语法二、format格式化的用法2.1、按照先后顺序替换{}2.2、按照索引进行匹配替换{0}2.3、按关键字索引进行匹配替换2.4、通过列表索引格式化字符串2.5、使用元组2.6、通过字典设置格式化字符串2.7、混合使用 三、字符串填充与对齐3.1、左对齐及填充3.2、右对…...
winform第三方界面开源库AntdUI的使用教程保姆级环境设置篇
1. AntdUI 1.1. 导入项目 1.1.1. 首先新建一个空白的基于.net的Winfrom项目1.1.2. 复制AntdUI中src目录到我们的解决方案下面1.1.3. 解决方案下添加现有项目1.1.4. 添加项目引用 1.2. 编写代码 1.2.1. 改写Form1类,让其继承自public partial class Form1 : AntdUI.W…...
如何使用Yarn Workspaces实现Monorepo模式在一个仓库中管理多个项目
Yarn Workspaces是Yarn提供的一种依赖管理机制,它支持在单个代码仓库中管理多个包的依赖。这种机制非常适合需要多个相互依赖的包的项目,能够减少重复依赖,加快依赖安装速度,并简化依赖管理。下面将详细介绍如何使用Yarn Workspac…...
SpringCloud系列教程:微服务的未来(十一)服务注册、服务发现、OpenFeign快速入门
本篇博客将通过实例演示如何在 Spring Cloud 中使用 Nacos 实现服务注册与发现,并使用 OpenFeign 进行服务间调用。你将学到如何搭建一个完整的微服务通信框架,帮助你快速开发可扩展、高效的分布式系统。 目录 前言 服务注册和发现 服务注册 编辑 …...
物联网:七天构建一个闭环的物联网DEMO
我计划用七天的时间, 基于开源物联网平台, 打造一款物联网案例的闭环。 为了增加感观体验,欢迎大家与我保持亲密的沟通。 我们来看一段代码: Slf4j Component public class MqttSendManager {Resourceprivate MqttSendHandler m…...
景联文科技提供高质量多模态数据处理服务,驱动AI新时代
在当今快速发展的AI时代,多模态数据标注成为推动人工智能技术进步的关键环节。景联文科技作为行业领先的AI数据服务提供商,专注于为客户提供高质量、高精度的多模态数据标注服务,涵盖图像、语音、文本、视频及3D点云等多种类型的数据。通过专…...
c#13新特性
C# 13 即 .NET 9 按照计划会在2024年11月发布,目前一些新特性已经定型,让我们来预览一个比较大型比较重要的新特性。 正文 扩展类型 Extension types 在5月份的微软 Build 大会中的 What’s new in C# 13 会议上,两位大佬花了很长的篇幅来…...
LeetCode LCP17速算机器人
速算机器人:探索字符指令下的数字变换 在编程的奇妙世界里,我们常常会遇到各种有趣的算法问题,这些问题不仅考验我们的逻辑思维,还能让我们感受到编程解决实际问题的魅力。今天,就让我们一同探讨一个关于速算机器人的…...
杭州铭师堂的云原生升级实践
作者:升学e网通研发部基建团队 公司介绍 杭州铭师堂,是一个致力于为人的全面发展而服务的在线教育品牌。杭州铭师堂秉持“用互联网改变教育,让中国人都有好书读”的使命,致力于用“互联网教育”的科技手段让更多的孩子都能享有优…...
计算机网络之---MAC协议
MAC协议的作用 在数据链路层中,MAC(媒介访问控制)协议负责控制设备如何访问共享的通信介质(如以太网、无线电波等),确保在多台设备共享同一传输媒介时能够有效地进行数据传输,避免冲突、控制流…...
微服务面试相关
Spring Cloud Spring Cloud五大组件 注册中心:Eureka、Nacos Ribbon负载均衡、负载均衡策略、自定义负载均衡 Ribbon负载均衡流程 Ribbon负载均衡策略 自定义负载均衡 服务雪崩、熔断降级 微服务监控-skywalking 业务相关 微服务限流(令牌桶、漏桶算法…...
Google发布图像生成新工具Whisk:无需复杂提示词,使用图像和人工智能将想法可视化并重新混合
Whisk 是 Google Labs 的一项新实验,可使用图像进行快速而有趣的创作过程。Whisk不会生成带有长篇详细文本提示的图像,而是使用图像进行提示。只需拖入图像,即可开始创建。 whisk总结如下: Whisk 是 Google 实验室最新的生成图像实…...
docker pull(拉取镜像)的时候,无法下载或者卡在Waiting的解决方法
docker pull的时候,卡在Waiting的解决方法 一般情况(大部分镜像都可以拉取)更换镜像源 进一步(如es等拉取不到)在镜像同步站搜索详细步骤 还可以在挂载的时候,让其下载对应的版本 一般情况(大部…...
51c~Pytorch~合集4
我自己的原文哦~ https://blog.51cto.com/whaosoft/12311033 一、Pytorch~训练-使用 这里介绍了Pytorch中已经训练好的模型如何使用 Pytorch中提供了很多已经在ImageNet数据集上训练好的模型了,可以直接被加载到模型中进行预测任务。预训练模型存放在Pytorch的…...
windows下,golang+vscode+delve 远程调试
1 先在远程服务器安装golang和delve golang的安装,通过官网直接下载安装包安装接口 go install github.com/go-delve/delve/cmd/dlvlatest 如果dlv和golang版本不匹配,这里把latest换成匹配的版本,比如1.20.0 2 编译带调试信息的程序 go bu…...
弥散张量分析开源软件 DSI Studio 简体中文汉化版可以下载了
网址: (63条消息) DSIStudio简体中文汉化版(2022年7月)-算法与数据结构文档类资源-CSDN文库...
视频编辑最新SOTA!港中文Adobe等发布统一视频生成传播框架——GenProp
文章链接:https://arxiv.org/pdf/2412.19761 项目链接:https://genprop.github.io 亮点直击 定义了一个新的生成视频传播问题,目标是利用 I2V 模型的生成能力,将视频第一帧的各种变化传播到整个视频中。 精心设计了模型 GenProp&…...
多维方向性增强分割通过大规模视觉模型实现|文献速递-视觉大模型医疗图像应用
Title 题目 Multidimensional Directionality-Enhanced Segmentation via large visionmodel 多维方向性增强分割通过大规模视觉模型实现 01 文献速递介绍 黄斑疾病影响全球约2亿人,已成为视力损害的主要原因之一。黄斑是视网膜中光感受器密度最高的区域&#…...
【Linux探索学习】第二十五弹——动静态库:Linux 中静态库与动态库的详细解析
Linux学习笔记: https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言: 在 Linux 系统中,静态库和动态库是开发中常见的两种库文件类型。它们在编译、链接、内存管理以及程序的性能和可维护性方面有着…...
远程和本地文件的互相同步
文章目录 1、rsync实现类似git push pull功能1. 基础概念2. 示例操作3. 定制化和进阶用法4. 定时同步(类似自动化) 2 命令简化1. 动态传参的脚本2. Shell 函数支持动态路径3. 结合环境变量和参数(更简洁)4. Makefile 支持动态路径…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
