Python 入门:用一个词频统计小练习理解循环、函数与文件处理

举报
yd_295713097 发表于 2026/11/01 18:33:01 2026/11/01
【摘要】 刚开始学编程,最容易卡住的不是语法本身,而是不知道学了语法能做什么。本文用一个很小、但完整可运行的练习——统计文本里每个词出现的次数——把 Python 入门最常用的几块拼起来:读取文件、循环、函数和字典。目标不是写出很漂亮的代码,而是先跑通一次,再慢慢改。 先定一个可运行的小目标很多人一上来就想做大项目,结果在环境和细节里耗尽耐心。更好的办法是把目标缩到一句话:读入一个文本文件,输出出现次...

刚开始学编程,最容易卡住的不是语法本身,而是不知道学了语法能做什么。本文用一个很小、但完整可运行的练习——统计文本里每个词出现的次数——把 Python 入门最常用的几块拼起来:读取文件、循环、函数和字典。目标不是写出很漂亮的代码,而是先跑通一次,再慢慢改。

先定一个可运行的小目标

很多人一上来就想做大项目,结果在环境和细节里耗尽耐心。更好的办法是把目标缩到一句话:读入一个文本文件,输出出现次数最多的十个词。这个目标足够具体,改起来也有方向:换一份文本、换一种排序,结果都会立刻变化。

准备环境只要两步

先确认已经安装 Python,在终端输入 python 加上 version 参数,能看到版本号就够了。不必一开始装很多工具,也不用纠结编辑器。把代码保存好,再用 python 命令运行它,先看到输出,再谈优化。

核心概念都在这段代码里

from collections import Counter
import re

def count_words(path):
    with open(path, encoding='utf-8') as f:
        text = f.read()
    words = re.findall(r'[A-Za-z]+', text.lower())
    return Counter(words)

if __name__ == '__main__':
    for word, num in count_words('sample').most_common(10):
        print(word, num)

值得停下来理解的点有三个:with open 会在用完文件后自动关闭文件;encoding 参数能避免中文乱码;Counter 是专门计数的字典,most_common 可以直接取出频率最高的词。

新手最常见的三个坑

第一是缩进,同一层代码必须对齐,混用空格和制表符很容易报错。第二是路径问题,程序默认在当前目录找文件,文件不在同一目录时要写相对路径或绝对路径。第三是把所有逻辑都写进主流程,改起来很痛苦,拆成函数后测试和复用都会简单很多。

跑通之后可以这样进阶

先过滤掉常见词,再把文件名改成命令行参数,让程序可以处理任意文本,最后试着统计日志里的错误关键词。每一个小改动都是一次真实练习。先跑通这个小练习,理解循环、函数和字典怎么配合,之后再学模块和异常处理,都会有具体的落脚点。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。