学习网络工程的 Python:循序渐进的方法

2025年3月17日 | 阅读 7 分钟

Python 语言的基础知识对于程序员和网络工程师来说至关重要。

什么是网络工程师?他们做什么?

网络工程师负责规划、实施和监督网络。此外,由于网络错综复杂且性质不断变化,他们还需要持续进行检查和维护,以确保一切运行良好。

网络工程师的职责范围广泛,包括:

安装和配置:网络工程师安装交换机、服务器、WAN 加速器、负载均衡器等设备,并确保它们得到妥善配置。

维护:网络工程师还负责维护网络,包括持续监控、安装补丁和故障排除。

升级:仅仅让网络运行起来是不够的,还需要升级软件或基础设施。它还必须可靠且快速。网络工程师可能会与第三方供应商和服务提供商合作,以确保其网络运行良好。

安全:网络安全是公司计划的关键组成部分。网络工程师部署和维护防火墙和防病毒软件等安全措施。他们还执行数据备份,以确保网络在发生安全漏洞时能够恢复。

Python 的高级抽象和用户友好的语法使其成为编程的绝佳选择。网络工程师可以参加课程、阅读书籍或参加编码训练营来学习 Python 并提升他们的网络管理专业知识。

Learn Python for Network Engineering: A Step-by-Step Approach

学习 Python 不仅仅是阅读书籍或参加在线课程。实践至关重要。大量的实践。为了帮助我们完成这项旅程,以下是我们为网络工程师学习 Python 所需遵循的基本步骤。

第一步:弄清楚为什么要学习 Python

在我们开始学习 Python 之前,请思考一下我们为什么要学习它。清晰地了解我们学习这门编程语言的动机将有助于我们在旅途艰难(而且确实会很艰难)时继续前进。了解趋势也将有助于我们制定清晰且可衡量的目标。这些目标又将允许我们制定一个简短的学习计划。

第二步:理解基础知识

在我们深入学习网络工程之前,我们应该对 Python 的语法和基础知识有一个基本的了解。这应该需要大约两周到一个月的时间来完成基础知识的学习。我们必须知道数据类型、列表、元组、字典、条件语句、循环、函数和对象在编程中的含义。

第三步:找到合适的资源

编码训练营

编码训练营为我们提供最佳的专业教师和结构化的课程计划,以便我们在最短的时间内(通常是几个月或全日制课程)学习编程开发。

Python 编码训练营培训课程基于实践项目和实验经验,向学生教授最抢手的 Python 相关技能。大多数编码训练营的亮点是它们强大的职业支持服务,帮助学生找到高薪职位。General Assembly 和 Le Wagon 是市场上最好的 Python 训练营之一。

编码训练营的好处

  • 结构化、经过验证的课程,让我们能够完成项目,掌握全套编程开发技能。
  • 有机会提问并与讲师和同学进行实时交流。
  • 训练营在完全自学编程(无结构且困难)和读大学多年学习计算机科学(昂贵且耗时)之间提供了良好的折衷。
  • 来自同学和讲师的代码审查和反馈。
  • 有机会完成真实项目并构建一个作品集,毕业后可以向雇主展示。
  • 工作安置服务(如前所述。并非所有编程训练营都提供同等水平的服务,所以请务必询问!)。

在线课程

互联网上充斥着关于 Python 的课程。在 edX、Udemy 或 Coursera 等学习平台上,我们可以找到教授我们如何将 Python 应用于各种行业(包括网络工程)的课程。它们通常侧重于网络主题。

其中许多课程是自学的,并结合了讲座和网络环境中的实验经验。如果我们很有决心,可以在没有人监督的情况下学习;参加在线课程可能适合我们。

如果我们希望将 Python 应用于网络工程,我们推荐由 CBT Nuggets 讲师 John McGovern 主讲的入门课程以及 David Bombal 在 Udemy 上创建的这门课程。

书籍

许多 Python 程序员都是自学的。如果自学是我们喜欢的学习方式,那么选择通过书籍学习 Python 是没错的。Python 书籍将帮助我们掌握其最复杂的方面。

Python 书籍很棒,因为它们使用的语言清晰、准确且易于理解。它们详细阐述了正在讨论的语言的特定部分,并包含了我们可以独立完成的练习题和问题。

如果我们是网络工程师或考虑成为网络工程师,我们建议在亚马逊上查看这些书籍。

  • Python Scripting for Network Engineers: Realizing Network Automation for Reliable Networks,作者 Wajid Hassan。
  • Automate the Boring Stuff with Python: Practical Programming for Total Beginners,作者 Eric Chou。
  • Mastering Python Networking: Our One-stop Solution to Using Python for Network Automation, DevOps, and Test-driven Development,作者 Eric Cho。

第四步:开展结构良好的项目(中级到高级)

一旦我们熟悉了 Python 的语法和基础知识,就该开始着手进行项目了。除非我们将所学的知识付诸实践,否则我们将忘记之前几周学到的一切,而没有比做项目更好的方法了。项目将提高我们的技能,并帮助我们构建一个作品集,以便在求职过程中使用。

我们还可以查看 Raspberry Pi Cookbook。在这些资源中,我们会找到结构化的项目,使我们能够制作出有趣的东西。

第五步:开展自己的项目想法

现在是时候在我们自己的项目上工作以进一步发展 Python 知识了。此时,我们仍然会持续学习,但我们应该有足够多的知识来处理我们热衷的酷项目。在构建这些项目时,我们应该学习探索和研究。

在我们开展 Python 项目想法时,当我们遇到困难时,我们需要帮助。可以尝试的一些有趣的项目想法是:

  • 天气预报算法。
  • 简单的网络自动化脚本。
  • 使用版本控制系统的应用程序。
  • 用于自动化数据输入的脚本。

第六步:熟悉网络工程的 Python 工具

我们学习之旅的最后一步(目前)是熟悉网络工程中使用的 Python 工具。我们可以通过学习和实践项目相结合的方式来实现。目标是熟悉 Netmiko、NAPALM、Genie、client 和 Requests 等流行库和模块的细节。

掌握这些工具是一项终生的事业,即使我们达到了职业生涯的顶峰,也总会有更多东西需要学习。作为网络工程师和 Python 用户,我们必须不断学习和提升自己,以保持竞争力。

第七步:我们可能还需要获得认证,例如:

  1. 思科认证网络 associate (CCNA):思科是网络领域的顶尖公司之一。CCNA 认证确保我们熟悉网络基础知识、网络访问、IP 连接、IP 服务、安全基础知识和自动化等。
  2. LPI Linux Essentials:Linux 是一个流行的操作系统选择,此认证可确保我们了解并掌握 Linux,并对 Linux 安全和网络有基本了解。要获得 Linux Essentials 认证,申请人必须了解 Linux 和开源行业以及最流行的开源应用程序的知识;了解 Linux 操作系统的关键组件,并具备在 Linux 命令行上工作的技术能力;并对用户/组管理、在命令行上工作以及权限等安全和网络相关主题有基本了解。
  3. ITIL Foundation 认证:ITIL 是 IT 服务、管理和 IT 资产管理的详细实践集。此认证可确保我们了解 ITIL 中的关键组件、概念和术语。
  4. CompTIA A+:此认证可确保我们了解如何配置 Windows 等设备操作系统,并支持基本的 IT 基础设施和网络。
  5. CompTIA Cloud Essentials:此认证可确保我们了解云的基本概念,包括如何提高效率、管理成本和降低安全风险。
  6. CompTIA Network+:此认证使我们能够支持各种平台上的网络。它包括网络基础知识、性能、操作、安全和故障排除。

哪些职位角色应该参加考试?

CompTIA Network+ 适合那些拥有 CompTIA Network+ 认证推荐基础和九个月网络经验,并希望发展其网络职业的专业人士。CompTIA Network+ 为以下职位角色做准备:

  • 网络管理员
  • 网络现场技术员
  • 初级网络管理员
  • IT 顾问
  • 网络现场工程师
  • 计算机技术员
  • 帮助台网络领域专家
  • 系统工程师
  • 网络支持专家
  • 网络分析师