前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >这9个工具库让我的Java开发效率提升了80%

这9个工具库让我的Java开发效率提升了80%

原创
作者头像
写bug的高哈哈
发布于 2025-01-04 13:50:09
发布于 2025-01-04 13:50:09
590
举报

Java 语言的庞大体系中,有很多不错的工具类,能够大大提升我们的开发效率。但如果你不了解它们,就很可能会重复编写一些类似的代码。这不仅浪费时间,而且你写的可能还不如现有的好。今天,我决定和大家分享一些我经常使用的工具类,希望对你们有所帮助。

1. Collections

首先是 java.util 包下的 Collections 类。这个类主要用于操作集合,我个人非常喜欢使用它。以下是一些常用功能:

1.1 排序

在工作中,经常需要对集合进行排序。让我们看看如何使用 Collections 工具实现升序和降序排列:

代码语言:java
AI代码解释
复制
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
Collections.sort(list); //升序
System.out.println(list);
Collections.reverse(list); //降序
System.out.println(list);

输出:

代码语言:java
AI代码解释
复制
[1, 2, 3]
[3, 2, 1]

1.2 获取最大值或最小值

有时需要在集合中找到最大值或最小值,这时可以使用 Collections 的 max 和 min 方法。

例如:

代码语言:java
AI代码解释
复制
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
Integer max = Collections.max(list);
Integer min = Collections.min(list);
System.out.println(max);
System.out.println(min);

输出:

代码语言:java
AI代码解释
复制
3
1

1.3 返回空集合

有时,在检查为空后,我们需要返回一个空集合,可以使用 emptyList 方法。例如:

代码语言:java
AI代码解释
复制
private List<Integer> fun(List<Integer> list) {
    if (list == null || list.size() == 0) {
        return Collections.emptyList();
    }
    return list;
}

1.4 转换为不可修改的集合

为了防止后续程序修改某个集合的结果,有时我们需要将某个集合定义为不可修改的。这可以通过使用 Collections 的 unmodifiablexxx 方法轻松实现:

代码语言:java
AI代码解释
复制
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
List<Integer> integers = Collections.unmodifiableList(list);
integers.add(4);
System.out.println(integers);

输出:

代码语言:java
AI代码解释
复制
Exception in thread "main" java.lang.UnsupportedOperationException
    at java.base/java.util.Collections$UnmodifiableCollection.add(Collections.java:1092)
    at com.spring.demo.DemoApplication.main(DemoApplication.java:46)

1.5 转换为线程安全的集合

我们都知道,Java 中的许多集合,如 ArrayList、LinkedList、HashMap、HashSet 等,都不是线程安全的。

换句话说,在多线程环境中,向这些集合中添加数据存在线程安全问题。这时,可以使用 Collections 的 synchronizedxxx 方法直接将这些线程不安全的集合转换为线程安全的集合。例如:

代码语言:java
AI代码解释
复制
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
List<Integer> integers = Collections.synchronizedList(list); //将 ArrayList 转换为线程安全的集合
System.out.println(integers);

它的底层实现会创建 SynchronizedRandomAccessList 或 SynchronizedList 类。这两个类的许多方法都会用 synchronized 加锁。

Collections 工具类中还有许多常用方法,这里就不一一介绍了。

2. CollectionUtils

对于集合操作,除了前面提到的 Collections 工具类,CollectionUtils 工具类也非常常用。目前,比较主流的是 apache 的 org.apache.commons.collections 包下的 CollectionUtils 工具类。

代码语言:java
AI代码解释
复制
<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.2</version>
</dependency>

它提供了许多方法,例如:

当然,Spring 框架的 org.springframework.util 包下也有 CollectionUtils 工具类。不过,我个人推荐使用 apache 包下的 CollectionUtils 工具类,因为它的工具更多且更全面。举个简单的例子,Spring 中的 CollectionUtils 工具类没有判断集合是否不为空的方法,而 apache 中的有。

接下来,我们以 apache 中的 CollectionUtils 工具类为例,介绍一些常用方法。

2.1 检查集合是否为空

CollectionUtils 工具类的 isEmpty 方法可以轻松判断集合是否为空,isNotEmpty 方法判断集合是否不为空。

代码语言:java
AI代码解释
复制
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
if (CollectionUtils.isEmpty(list)) {
    System.out.println("Collection is empty.");
}
if (CollectionUtils.isNotEmpty(list)) {
    System.out.println("Collection is not empty");
}

2.2 对两个集合进行操作

有时我们需要对两个已有的集合进行操作,比如取交集或并集。

代码语言:java
AI代码解释
复制
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
List<Integer> list2 = new ArrayList<>();
list2.add(2);
list2.add(4);
//获取并集
Collection<Integer> unionList = CollectionUtils.union(list, list2);
System.out.println(unionList);
//获取交集
Collection<Integer> intersectionList = CollectionUtils.intersection(list, list2);
System.out.println(intersectionList);
//获取交集的补集
Collection<Integer> disjunctionList = CollectionUtils.disjunction(list, list2);
System.out.println(disjunctionList);
//获取差集
Collection<Integer> subtractList = CollectionUtils.subtract(list, list2);
System.out.println(subtractList);

执行结果:

代码语言:java
AI代码解释
复制
[1, 2, 3, 4]
[2]
[1, 3, 4]
[1, 3]

3. Lists

如果你引入 com.google.guava 的依赖,会得到很多有用的工具类。这里推荐一个 com.google.common.collect 包下的集合工具:Lists。

代码语言:java
AI代码解释
复制
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>28.2-jre</version>
</dependency>

3.1 快速初始化集合

有时,我们想初始化集合中的一些元素,这时可以使用 Lists 的 newArrayList 方法。例如:

代码语言:java
AI代码解释
复制
List<Integer> list = Lists.newArrayList(1, 2, 3);

这比直接创建一个列表然后逐个添加元素更方便。

执行结果:

代码语言:java
AI代码解释
复制
[1, 2, 3]

3.2 笛卡尔积

如果你想对两个集合进行笛卡尔积操作,Lists 的 cartesianProduct 方法可以帮你实现:

代码语言:java
AI代码解释
复制
List<Integer> list1 = Lists.newArrayList(1, 2, 3);
List<Integer> list2 = Lists.newArrayList(4, 5);
List<List<Integer>> productList = Lists.cartesianProduct(list1, list2);
System.out.println(productList);

执行结果:

代码语言:java
AI代码解释
复制
[[1, 4], [1, 5], [2, 4], [2, 5], [3, 4], [3, 5]]

3.3 分割集合

如果你想将一个大集合分割成几个小集合,可以使用 Lists 的 partition 方法:

代码语言:java
AI代码解释
复制
List<Integer> list = Lists.newArrayList(1, 2, 3, 4, 5);
List<List<Integer>> partitionList = Lists.partition(list, 2);
System.out.println(partitionList);

执行结果:

代码语言:java
AI代码解释
复制
[[1, 2], [3, 4], [5]]

在这个例子中,列表有 5 条数据。我将列表集合分成了 3 份,每份大小为 2,即变成了 3 个小集合。

这是我最喜欢的方法之一,我在项目中经常使用。

3.4 流处理

如果我们想对集合内的元素进行操作,可以使用 Lists 的 transform 方法。例如:

代码语言:java
AI代码解释
复制
List<String> list = Lists.newArrayList("a", "b", "c");
List<String> transformList = Lists.transform(list, x -> x.toUpperCase());
System.out.println(transformList);

小写字母被转换为大写字母。

执行结果:

代码语言:java
AI代码解释
复制
[A, B, C]

3.5 反转顺序

Lists 有一个 reverse() 方法用于反转顺序。例如:

代码语言:java
AI代码解释
复制
List<Integer> list = Lists.newArrayList(3, 1, 2, 5, 4);
List<Integer> reverseList = Lists.reverse(list);
System.out.println(reverseList);

执行结果:

代码语言:java
AI代码解释
复制
[4, 5, 2, 1, 3]

Lists 还有其他有用的工具,这里只是举几个例子,感兴趣的朋友可以自行研究。

4. Objects

在 jdk7 之后,提供了 Objects 工具类,我们可以通过它对对象进行操作。

4.1 检查对象是否为空

在 Java 中,一切皆对象。检查对象是否为空可以说是无处不在。Objects 的 isNull 方法检查对象是否为空,nonNull 方法检查对象是否不为空。例如:

代码语言:java
AI代码解释
复制
Integer i = new Integer(10);
if (Objects.isNull(i)) {
    System.out.println("Object is null");
}
if (Objects.nonNull(i)) {
    System.out.println("Object is not null");
}

4.2 对象为空时抛出异常

如果我们想在对象为空时抛出空指针异常,可以使用 Objects 的 requireNonNull 方法。例如:

代码语言:java
AI代码解释
复制
Integer i = new Integer(128);
Objects.requireNonNull(i);
Objects.requireNonNull(i, "Parameters cannot be null");
Objects.requireNonNull(i, () -> "Parameters cannot be null");

4.3 检查两个对象是否相等

我们经常需要检查两个对象是否相等。Objects 为我们提供了 equals 方法,可以很方便地实现:

代码语言:java
AI代码解释
复制
Integer i1 = new Integer(1);
Integer i2 = new Integer(1);
System.out.println(Objects.equals(i1, i2));

执行结果:

代码语言:java
AI代码解释
复制
true

但是使用这个方法时有一个坑。例如,如果将例子改为:

代码语言:java
AI代码解释
复制
Integer i = new Integer(1);
Long l = new Long(1);
System.out.println(Objects.equals(i, l));

执行结果:

代码语言:java
AI代码解释
复制
false

你知道为什么输出为 false 吗?可以在评论区交流。

4.4 获取对象的哈希码

如果你想获取某个对象的哈希码,可以使用 Objects 的 hashCode 方法。例如:

代码语言:java
AI代码解释
复制
String str = new String("abc");
System.out.println(Objects.hashCode(str));

执行结果:

代码语言:java
AI代码解释
复制
96354

关于 Objects 的内容就介绍到这里,更多的方法可以自行研究。

5. StringUtils

字符串在我们的日常工作中使用得非常频繁。在我们的代码中,经常需要检查字符串是否为空、转换大小写、分割字符串、比较字符串、去除多余空格、连接字符串、使用正则表达式等等。

如果我们只使用 String 类提供的方法,就需要手动编写大量额外的代码,既耗时又费力。作为程序员,当然要学会偷懒。现在有一个现成的工具类,即 org.apache.commons.lang3 包下的 StringUtils 工具类,它为我们提供了非常多操作 String 的方法。

5.1 检查字符串是否为空

实际上,对于空字符串,不仅有 null,还有“”、“ ”、“null”等多种情况。StringUtils 为我们提供了多个静态方法来检查字符串是否为空。例如:

代码语言:java
AI代码解释
复制
String str1 = null;
String str2 = "";
String str3 = " ";
String str4 = "abc";
System.out.println(StringUtils.isEmpty(str1));
System.out.println(StringUtils.isEmpty(str2));
System.out.println(StringUtils.isEmpty(str3));
System.out.println(StringUtils.isEmpty(str4));
System.out.println("-------------------------------------");
System.out.println(StringUtils.isNotEmpty(str1));
System.out.println(StringUtils.isNotEmpty(str2));
System.out.println(StringUtils.isNotEmpty(str3));
System.out.println(StringUtils.isNotEmpty(str4));
System.out.println("-------------------------------------");
System.out.println(StringUtils.isBlank(str1));
System.out.println(StringUtils.isBlank(str2));
System.out.println(StringUtils.isBlank(str3));
System.out.println(StringUtils.isBlank(str4));
System.out.println("-------------------------------------");
System.out.println(StringUtils.isNotBlank(str1));
System.out.println(StringUtils.isNotBlank(str2));
System.out.println(StringUtils.isNotBlank(str3));
System.out.println(StringUtils.isNotBlank(str4));

输出:

代码语言:java
AI代码解释
复制
true
true
false
false
false
false
true
true
true
true
true
false
false
false
false
true

示例中的四个空检查方法:isEmpty、isNotEmpty、isBlank 和 isNotBlank。你可以根据实际情况使用这些方法。

建议优先使用 isBlank 和 isNotBlank 方法,因为它们会考虑更多情况。

5.2 分割字符串

分割字符串是一个常见需求。如果直接使用 String 类的 split 方法,可能会出现空指针异常。

代码语言:java
AI代码解释
复制
String str1 = null;
System.out.println(StringUtils.split(str1, ","));
System.out.println(str1.split(","));

输出:

代码语言:java
AI代码解释
复制
Exception in thread "main" java.lang.NullPointerException
    at java.base/java.util.Objects.requireNonNull(Objects.java:221)
    at java.base/java.util.regex.Pattern.split(Pattern.java:1269)
    at java.base/java.lang.String.split(String.java:2392)
    at com.spring.demo.DemoApplication.main(DemoApplication.java:39)

使用 StringUtils 的 split 方法会返回 null,而使用 String 的 split 方法会报指针异常。

5.3 检查是否为纯数字

给定一个字符串,要检查它是否为纯数字,可以使用 isNumeric 方法。例如:

代码语言:java
AI代码解释
复制
String str1 = "123";
String str2 = "123abc";
String str3 = "0.33";
System.out.println(StringUtils.isNumeric(str1));
System.out.println(StringUtils.isNumeric(str2));
System.out.println(StringUtils.isNumeric(str3));

输出:

代码语言:java
AI代码解释
复制
true
false
false

5.4 将集合连接成字符串

有时,我们需要将集合的内容连接成一个字符串然后输出,这时可以使用 join 方法。例如:

代码语言:java
AI代码解释
复制
List<String> list = Lists.newArrayList("a", "b", "c");
List<Integer> list2 = Lists.newArrayList(1, 2, 3);
System.out.println(StringUtils.join(list, ","));
System.out.println(StringUtils.join(list2, " "));

输出:

代码语言:java
AI代码解释
复制
a,b,c
1 2 3

还有很多实用的方法,这里就不一一介绍了。

6. BeanUtils

Spring 为我们提供了一个用于 JavaBean 的工具类,它在 org.springframework.beans 包下,名字是:BeanUtils。

6.1 复制对象属性

你是否遇到过这样的需求:将某个对象的所有属性复制到另一个对象。这时可以使用 BeanUtils 的 copyProperties 方法。例如:

代码语言:java
AI代码解释
复制
User user1 = new User();
user1.setId(1L);
user1.setName("Dylan");
user1.setAddress("Hong Kong");
User user2 = new User();
BeanUtils.copyProperties(user1, user2);
System.out.println(user2);

6.2 获取指定类的指定方法

如果你想获取某个类的指定方法以便后续操作,可以使用 BeanUtils 的 findDeclaredMethod 方法。例如:

代码语言:java
AI代码解释
复制
Method declaredMethod = BeanUtils.findDeclaredMethod(User.class, "getId");
System.out.println(declaredMethod.getName());

6.3 获取指定方法的参数

如果你想获取某个方法的参数,可以使用 BeanUtils 的 findPropertyForMethod 方法。例如:

代码语言:java
AI代码解释
复制
Method declaredMethod = BeanUtils.findDeclaredMethod(User.class, "getId");
PropertyDescriptor propertyForMethod = BeanUtils.findPropertyForMethod(declaredMethod);
System.out.println(propertyForMethod.getName());

还有很多实用的方法,这里就不一一介绍了。

7. ReflectionUtils

有时,我们在项目中需要使用反射功能。如果使用最原始的方法开发,代码量会非常大且麻烦,需要处理大量异常和访问权限问题。

好消息是,Spring 为我们提供了一个 ReflectionUtils 工具类,它在 org.springframework.util 包下。

7.1 获取方法

如果你想获取某个类的某个方法,可以使用 ReflectionUtils 类的 findMethod 方法。例如:

代码语言:java
AI代码解释
复制
Method method = ReflectionUtils.findMethod(User.class, "getId");

7.2 获取字段

如果你想获取某个类的某个字段,可以使用 ReflectionUtils 类的 findField 方法。例如:

代码语言:java
AI代码解释
复制
Field field = ReflectionUtils.findField(User.class, "id");

7.3 执行方法

如果你想通过反射调用某个方法并传递参数,可以使用 ReflectionUtils 类的 invokeMethod 方法。例如:

代码语言:java
AI代码解释
复制
ReflectionUtils.invokeMethod(method, springContextsUtil.getBean(beanName), param);

7.4 检查字段是否为常量

如果你想检查某个字段是否为常量,可以使用 ReflectionUtils 类的 isPublicStaticFinal 方法。例如:

代码语言:java
AI代码解释
复制
Field field = ReflectionUtils.findField(User.class, "id");
System.out.println(ReflectionUtils.isPublicStaticFinal(field));

7.5 检查是否为 equals 方法

如果你想检查某个方法是否为 equals 方法,可以使用 ReflectionUtils 类的 isEqualsMethod 方法。例如:

代码语言:java
AI代码解释
复制
Method method = ReflectionUtils.findMethod(User.class, "getId");
System.out.println(ReflectionUtils.isEqualsMethod(method));

还有很多实用的方法,这里就不一一介绍了。

8. DigestUtils

有时,我们需要对数据进行加密,比如使用 md5 或 sha256。我们可以使用 Apache 的 org.apache.commons.codec.digest 包下的 DigestUtils 类。

8.1 MD5 加密

如果你想使用 MD5 加密数据,可以使用 DigestUtils 的 md5Hex 方法。例如:

代码语言:java
AI代码解释
复制
String md5Hex = DigestUtils.md5Hex("Dylan");
System.out.println(md5Hex);

8.2 SHA256 加密

如果你想使用 SHA256 加密数据,可以使用 DigestUtils 的 sha256Hex 方法。例如:

代码语言:java
AI代码解释
复制
String md5Hex = DigestUtils.sha256Hex("Dylan");
System.out.println(md5Hex);

这个工具类还有许多其他加密方法:

9. HttpStatus

很多时候,我们会在代码中定义 HTTP 返回码。例如,正常接口返回 200,异常返回 500,如果接口找不到则返回 404。

代码语言:java
AI代码解释
复制
private int SUCCESS_CODE = 200;
private int ERROR_CODE = 500;
private int NOT_FOUND_CODE = 404;

实际上,org.springframework.http 包下的 HttpStatus 枚举或 org.apache.http 包下的 HttpStatus 接口已经为我们定义了常用的 HTTP 返回码,我们可以直接使用,真的不需要重新定义。以下是 HttpStatus 类的部分内容:

总结

在这篇文章中,我介绍了 Java 开发中 9 个非常实用的工具类,它们可以帮助我们提高开发效率,减少重复代码,并简化日常的开发任务。从集合操作到字符串处理,从对象操作到反射机制,再到数据加密和 HTTP 状态码处理,这些工具类提供了强大而灵活的功能,让我们能够更加专注于业务逻辑的实现,而不是底层细节的处理。

希望这些工具能够为你的项目带来便利,提升你的开发效率。如果你有任何疑问或想要进一步探讨这些工具的使用,欢迎在评论区交流。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
(数据科学学习手札53)Python中tqdm模块的用法
  tqdm是Python中专门用于进度条美化的模块,通过在非while的循环体内嵌入tqdm,可以得到一个能更好展现程序运行过程的提示进度条,本文就将针对tqdm的基本用法进行介绍。
Feffery
2019/03/05
2K0
python进度条显示-tqmd模块
安装 anaconda 是自动集成的 如果导入不存在,直接pip pip install tqdm 参数 #参数介绍 iterable=None, desc=None, 传入str类型,作为进度条标题(类似于说明) total=None, 预期的迭代次数 leave=True, file=None, ncols=None, 可以自定义进度条的总长度 mininterval=0.1, 最小的更新间隔 maxinterval=10.0, 最大更新间隔 miniters=None,
诡途
2020/10/16
1.7K0
python进度条显示-tqmd模块
Python爬虫有用的库:tqdm
练习爬虫的小伙伴,在爬取数据比较多的时候,有时候等候的时间比较久一点,因为不知道具体的进度,可能会感到一丝丝无聊
远方的星
2021/08/11
9110
Python爬虫有用的库:tqdm
(数据科学学习手札91)在Python中妥善使用进度条
在日常运行程序的过程中常常涉及到循环迭代过程,对于执行时间很短的程序来说倒无所谓,但对于运行过程有明显耗时的涉及循环迭代的程序,为其加上进度条(progress bar),是帮助我们监测代码执行进度以及处理中间异常错误非常实用的技巧。
Feffery
2020/08/02
1.7K0
30个数据科学工作中必备的Python包!
来源丨数据STUDIO 在本文中,云朵君将介绍一些非常独特的并且好用的 Python 包,它们可以在许多方面帮助你构建数据的工作流。 Python 可以说是最容易入门的编程语言,在numpy,scipy等基础包的帮助下,对于数据的处理和机器学习来说Python可以说是目前最好的语言,在各位大佬和热心贡献者的帮助下Python拥有一个庞大的社区支持技术发展,开发两个各种 Python 包来帮助数据人员的工作。 1、Knockknock Knockknock是一个简单的Python包,它会在机器学习模型训练结束
张俊红
2022/08/26
1.3K0
30个数据科学工作中必备的Python包!
为你的命令行工具添加牛逼哄哄的进度条
•自己使用time和sys模块结合循环实现•PyPrind[1] 526 star, 许久不更新了•python-progressbar[2] 353 star, 许久不更新了•progress[3] 850 star, 最后一次更新12个月前•tqdm[4] 14.8k star, 截止写文档还在更新•alive_progress[5] 610 star, 持续更新中•rich[6] 7k star, 持续更新中•rich并不单单局限于进度条,这是一个功能强大的命令行辅助,官方介绍: Rich is a Python library for rich text and beautiful formatting in the terminal•click_spinner[7] 157 star, 3个月前最后一次更新
追马
2020/07/03
1.5K0
【RAG】知识库搭建-文档预处理-数据清洗:基于异步的AI文本批处理系统实践
在构建企业级知识库和RAG(检索增强生成)系统时,文档预处理和数据清洗是至关重要的环节。原始文档往往存在格式不统一、内容冗余、质量参差不齐等问题,这些问题会直接影响到向量数据库的检索质量和后续AI模型的表现。为了解决这个问题,我开发了一个基于Python的异步文本批处理系统。通过这个系统的处理,我们可以显著提升知识库的质量,为后续的向量检索和AI应用打下坚实的基础。
訾博ZiBo
2025/03/26
1740
(数据科学学习手札69)详解pandas中的map、apply、applymap、groupby、agg
*从本篇开始所有文章的数据和代码都已上传至我的github仓库:https://github.com/CNFeffery/DataScienceStudyNotes
Feffery
2019/09/06
5.1K0
(数据科学学习手札69)详解pandas中的map、apply、applymap、groupby、agg
python的Tqdm模块
Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。
狼啸风云
2019/09/19
4.5K0
最近发现的4个Python命令行可视化库,太酷了!
分别是Bashplotlib、tqdm、PrettyTable、Colorama。
小F
2021/06/25
1.1K0
最近发现的4个Python命令行可视化库,太酷了!
python实现进度条功能
最近需要用python写一个小脚本"实现进度条功能",用到了一些小知识,赶紧抽空记录一下。不深但是常用。
测试加
2022/06/21
1.4K0
python实现进度条功能
Python - 进度条神器 tqdm 用法
程序运行过程中进度条显示特别重要,Python中使用tqdm库作为进度条操作工具,本文简要介绍tqdm常用功能。 背景 tqdm源自阿拉伯语 taqaddum,意思是进程( “progress”); 也是西班牙语中 “I love you so much” (te quiero demasiado)的缩写(这个是碰了巧了) 该模块的作用就是通过装饰tqdm(iterable)任何可迭代的对象,使代码中的循环(loop)在运行过程中为用户展示进度条。 盗了官网的图直观展示一下效果 准备工作
为为为什么
2022/08/04
2.1K0
Python - 进度条神器 tqdm 用法
给Python代码加上酷炫进度条的几种姿势
大家好,在下载某些文件的时候你一定会不时盯着进度条,在写代码的时候使用进度条可以便捷的观察任务处理情况,除了使用print来打印之外,今天本文就介绍几种给你的Python代码加上酷炫的进度条的方式。
刘早起
2020/06/04
9560
最近发现的4个Python命令行可视化库,太酷了!
分别是Bashplotlib、tqdm、PrettyTable、Colorama。
码农向前冲
2022/01/12
7010
最近发现的4个Python命令行可视化库,太酷了!
情人节限定!教你如何用Python拼接女神的照片~
前段时间准备情人节礼物,想到了能不能用过去所有的照片作为像素点,合成为一张合照。但是,我也没有处理这方面问题的经验,于是上网查找,果然找到了一个相关的代码(原网址实在找不到了,就不贴了)。花了一晚上的时间研究学习,最终实现了合成照片的功能,并学习了很多以前没有接触过的Python库,加以记录。
Here_SDUT
2022/09/19
9260
情人节限定!教你如何用Python拼接女神的照片~
msgpack,fmtlib和RPClib库的介绍及使用
MsgPack 是一种高效的二进制序列化格式。官方对msgpack地道的介绍:——It's like JSON,but fast and small.
杨永贞
2022/05/13
1.8K0
msgpack,fmtlib和RPClib库的介绍及使用
python 三方库:tqdm实现进度条
在开发的过程中,我们总会遇到这样的,去实现进度条展示,那么如何来实现进度条呢,其实有一个模块已经给我们完成了--tqdm
雷子
2023/09/11
5410
python 三方库:tqdm实现进度条
Python tqdm显示代码任务进度
有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。
用户9925864
2022/07/27
2K0
Python tqdm显示代码任务进度
使用click创建完美的Python命令行程序
让我们将这些规则应用于一个具体的案例:一个使用Caesar cipher加密和解密消息的脚本。
用户8949263
2022/11/07
1.1K0
使用click创建完美的Python命令行程序
Python 奇思淫技
这篇文章主要和大家分享一些 Python 不一样的技巧,感受 Python 带给你的乐趣吧。
小草AI
2019/08/20
7920
Python 奇思淫技
推荐阅读
相关推荐
(数据科学学习手札53)Python中tqdm模块的用法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文