【Python】分享5个超级实用的Python包

让我来告诉你,我是如何发现五个超棒的 Python 库,它们彻底改变了我的编程方式。

你知道的,当我发现一些特别有用的东西时,我就忍不住想告诉所有人!

让我们一个一个来看吧。

TQDM(从“它在运行吗?”到“马上完成!”)

还记得你运行一个程序后只能干等的时候吗?

比如下载 1000 张照片时,你完全不知道程序是在运行还是卡住了?

让我给你看看我的意思:

# 让我展示一下我最近遇到的情况...

import time

def old_way_photo_download():
    print("开始下载...")
    for photo in range(100):
        # 下载内容...
        time.sleep(0.1)
        # 问题:
        # 1. 不知道完成了多少
        # 2. 不知道是否卡住了
        # 3. 不知道什么时候会结束
    print("完成!...大概吧?")

# 然后我发现了 TQDM —— 看看这个魔法!
from tqdm import tqdm

def new_way_photo_download():
    # 看,这多简单明了!
    for photo in tqdm(range(100),
                      desc=" 下载假期照片",
                      unit="照片"):
        time.sleep(0.1)
        # 现在我可以看到:
        # - 完成了多少照片
        # - 下载速度有多快
        # - 什么时候会完成!

# 更棒的是 —— 下载文件时还能显示大小
def download_with_progress():
    total_size = 100  # MB
    with tqdm(total=total_size, unit='MB', unit_scale=True,
              desc=" 下载 holiday_pics.zip") as progress:
        downloaded = 0
        while downloaded < total_size:
            # 下载一个块(假装)
            chunk_size = 2
            downloaded += chunk_size
            # 更新我们的进度条
            progress.update(chunk_size)
            progress.set_postfix({
   
   
                'speed': '2.5 MB/s',
                'status': '看起来不错!'
            })
            time.sleep(0.2)

在使用 TQDM 之前,这些问题让我抓狂:

  • 开始大文件下载时,不知道是否崩溃了
  • 不得不到处加 print 语句来看进度
  • 永远不知道什么时候会完成

但有了 TQDM,就像给所有东西都加了一个智能进度条!

只要用 tqdm() 包裹你的循环,你就能清楚地看到发生了什么。

再也不用猜来猜去了!

让我们继续看下一个库。

Rich(让你的代码用颜色说话!)

让我告诉你,我曾经花了几个小时在数据中找 bug 的经历。

就像在一长串短信里找错别字一样。

然后我发现了 Rich:

from rich import print
from rich.console import Console
from rich.table import Table
from rich.traceback import install

# 在 Rich 之前,调试是这样的:
def old_way_debug():
    # 想象一下,在这里找问题有多难!
    game_data = {
   
   
        "player": "Mario",
        "lives": -1,  # Bug: 生命值不能为负!
        "coins": 9999999,  # Bug: 金币太多了!
        "power_ups": ["mushroom", "star", None]  # Bug: 混进了 None!
    }
    print("DEBUG - 游戏状态:", game_data)

# 有了 Rich,问题一目了然!
console = Console()

def new_way_debug():
    game_data = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值