我将使用 Python 实现自动化 | 逆向 Python 实验室
嘿DEV网络!
在这个实验中,我将使用 Python 来实现自动化,这样你就可以在本实验结束时开始飞速发展。
在我们继续之前,请查看我之前的帖子以提高您的学习速度,它将帮助您快速有效地编码。
文章已不再可用
好的!我们先从实验前的准备工作开始吧。
这个实验室的概念是什么?
您将看到 Python 在几乎任何职业中都具有表现力、生产力和实用性。
实验室的总体目的是什么?
主要目的是帮助您深入了解 Python 编程并展示如何在日常生活中使用它。
这个实验室有什么特别之处?
该实验室将为您提供丰富的资源,以便您有效地、逐步地学习 Python。
首先,我简单介绍一下Python的用途。
Python 在全球最受欢迎编程语言的排名中持续攀升,不仅在软件工程师中如此,在数学家、数据分析师、科学家、会计师、网络工程师,甚至儿童中也同样如此!它被广泛应用于各个领域,从网络和游戏开发到机器学习、人工智能、科学计算和学术研究。因为它是一种多用途语言,这意味着只要使用合适的工具/库,它几乎可以用来构建任何东西。
如果您经常需要执行一些枯燥重复的任务,例如复制、移动文件、上传到服务器,您可以编写 Python 脚本来自动化所有这些操作,节省您的时间。这些任务虽然简单,但对人类来说却非常耗时,而且通常非常琐碎或具体,以至于没有现成的软件可以执行它们。只需掌握一些 Python 编程知识,您就可以让计算机为您完成这些任务。因此,您无需成为软件开发人员即可使用 Python。您可能是会计师、数学家或科学家,使用 Python 可以让您的工作更轻松。
我强烈建议您阅读《用 Python 自动化无聊的东西》,这本书向您展示了如何使用 Python 自动执行读取和写入文件、Web 抓取、调试、组织文件、使用 Excel、PDF 文件和 CSV 文件等任务。
“任何足够先进的技术都相当于魔法。”——阿瑟·克拉克爵士
现在,让我们参观一下我们的实验室!
Python 基础
Python 在简洁性方面确实有很多优势。虽然在很多方面,用 Python 做事更容易,但你仍然需要搜索相关的库,学习适用的知识,并努力编写代码来解决你试图解决的问题。
Python 拥有极佳的可读性和易于学习的语法,能够帮助初学者轻松上手。它力求尽可能简单易懂,从而节省编程时间。你会发现 Python 代码比其他任何语言都更具可读性,因为它的设计风格与英语相似。例如,下面的第一个代码示例就是用 C++ 编写的:
#include stdout
int main()
{
std::cout << "Hello, world!\n";
}
下面是在 Python 3 中具有相同输出的代码:
print("Hello, world!")
Python 支持多种优秀的自带数据结构,这些结构各有不同,但非常实用。它们功能强大,让你可以花更少的时间去理解数据结构,而将更多的时间用于代码实现。
这里有一些很棒的资源可以帮助您学习 Python 的基础知识:
- Codeacademy — 很好地教授了基本语法,并构建了
- 《艰难学习 Python》 ——一本教授 Python 概念(从基础到更深入的程序)的书。
- Treehouse — 我的第一位 Python 老师是 Treehouse Python Boot Camp 的 Kenneth Love。
- Python 入门— 学习 Python 初学者的基本概念,助你开启 Python 学习之旅。这些教程重点讲解了 Python 学习过程中你需要掌握的基础知识。
- 学习 Python - 初学者完整课程 [freeCodeCamp] — 本课程将全面介绍 Python 的所有核心概念。跟着视频学习,你很快就能成为一名 Python 程序员!
这些是我目前见过的最好的资源,但如果你有更好的建议,请在评论区留言。通常付费教程比免费教程更好,因为材料组织得井井有条,而且如果遇到问题,讲师也会提供支持。但根据市场趋势,Codecademy 被认为是初学者学习编程基础知识的最佳选择。对于高级阶段的学习者来说,Treehouse 是最好的,因为他们提供的课程可以帮助程序员在实际项目中进行编程。
一旦你学习了 Python 的基础知识,就该构建一些小项目来提升你的知识了。Code Club提供了最好的资源,让你通过有趣的小项目来练习 Python 的基础知识。
使用 Python 进行 Web 开发
感谢所有优秀的框架,它们让 Python Web 开发变得快速而简单。框架本质上是一个由软件包和模块组成的包,它们提供特定的功能,并可以选择性地进行修改以生成特定于应用程序的软件。
那么,如何选择合适的框架呢?Django 和 Pyramid 是开发成熟 Web 应用程序的理想之选。为了更好地控制和可视化,或者为了构建应用程序原型,Web2py 或 Flask 或许是不错的选择。CheeryPy 是必备的简单、极简的替代方案。Tornado 可以同时处理 10,000 个或更多的并发连接,而 Dash 则是进行分析的理想之选。
让我们来看看 Python 在 Web 开发中的强大功能。我将主要关注最流行的框架 Django。
受到众多知名公司的使用和信赖
Bitbucket、Instagram、Dropbox、Pinterest、Disqus 等公司都在其应用开发中使用 Django 和 Pyramid 等 Python 框架。这些框架几乎可以管理你交给它们的所有内容,这也是 Python 的 Web 开发如此流行的部分原因。
Disqus 是一个流行的博客评论托管服务,通过 Python 框架 Django 拥有超过 80 亿次页面浏览量和每秒 45K 次请求。
隐藏复杂的低级信息
上述框架是功能齐全的开源工具包,具有高度可定制的架构,它促进了快速增长和简单的代码结构,这就是为什么我向初学者和经验丰富的开发人员推荐 Python Web 开发。
节省时间
时间就是金钱。使用这些框架,您将节省宝贵的时间。它非常适合创建简单的原型,或是在预算有限、期限紧迫的情况下完成项目。
网络安全
默认情况下,Django 可以防止最常见的安全错误:
- XSS(跨站点脚本)保护——Django 模板系统默认转义变量,除非它们被明确标记为安全。
- CSRF(跨站点请求伪造)保护——易于全局开启,保证表单(POST 请求)从您自己的站点发送。
- SQL 注入保护——Django 使用内置 ORM,因此不存在 SQL 注入的风险(原始查询是可能的,但绝不是初学者需要使用的东西)。
有关详细信息,请查看Django Security
然而,有了好的 Web 框架,您就不必担心这一点,因为已经投入了大量工作来防止 Web 应用程序被滥用。
我将向你展示一些学习 Django 的资源,因为它是 Python 中最流行的框架,我强烈推荐你从 Django 开始。互联网上有很多资源,但以下教程是成为全栈 Python 开发者的最佳选择,也更适合初学者。
- 真正的 Python——这条学习路径将为你提供成为 Python Web 开发者所需的基础技能。你将学习最流行的 Python Web 开发框架(例如 Django 和 Flask)、数据库操作以及 HTML 等基础前端编码技能。
- 简单胜于复杂——关于 Python、Django 和 Web 开发的故事和教程
- Python 和 Django 全栈 Web 开发人员训练营 (Udemy) — 学习使用 HTML、CSS、Bootstrap、Javascript、jQuery、Python 3 和 Django 构建网站!
- CodingEntrepreneurs——创业者编程系列课程面向非技术型创始人。学习 Django、Python、API、支付、Stripe、JQuery、Twitter Bootstrap 等众多语言。
- Net Ninja Django 系列— Net Ninja 的 Django 教程向您介绍 Django 到底是什么以及为什么我们作为 Web 开发人员想要使用它。
使用 Python 进行数据科学和机器学习

Python 是数据科学领域最受欢迎的语言之一,因为它学习起来更容易,并且拥有丰富的库。Python 让用户能够更轻松地实现解决方案,同时遵循所需算法的标准。
Python 正在成为领导者
以科技巨头谷歌为例,它创建了名为 TensorFlow 的深度学习框架,Python 是其主要开发语言。在 Netflix 推广的环境中,Python 的影响力持续增长。Facebook 和可汗学院的生产工程师长期以来一直将 Python 作为其环境中的主导语言——Python是数据科学领域最受欢迎的语言吗?
想象一下一台计算机,它可以根据您之前提供的数据做出决策和预测。
Python 最适合机器学习或通用人工智能有两个主要原因:其简单易用,以及丰富的库和框架。考虑到这些缺点,Python 远非机器学习的唯一选择。在众多语言中,R、Java™ 和 C++ 也是用于机器学习的其他语言。此外,如果有人只是想学习机器学习的概念,他们根本不需要编写任何代码就能获得不错的知识。然而,要将这些理念付诸实践,尤其要将其作为入门。
对于希望从事人工智能技术的初学者来说,Python 是他们学习的首选。即使他们发现自己更倾向于在后期将其他语言添加到自己的程序中,掌握一些 Python 语言的知识对于理解之前的工作以及构建自己的项目都至关重要。
解决数据科学和机器学习问题涉及数据预处理、分析、可视化、预测和数据保存。以下是一些强大的 Python 统计和数值包:
- NumPy和pandas(Python 数据分析库)允许您高效、轻松地读取/操作数据。
- Matplotlib允许您创建有用且强大的数据可视化。
- Scikit-learn允许你训练机器学习算法并将其应用于你的数据并进行预测。PyBrain 和 Tensorflow 也适用于一些神经网络
- Cython允许您转换代码并在 C 环境中运行它们,以大大减少运行时间并提高模型性能。
- BeautifulSoup包用于解析 HTML 和 XML 文档。它为已解析的页面创建一棵解析树,可用于从 HTML 中提取数据,这对于网页抓取非常有用。
查看这些黄金资源,开启你的学习之路,成为优秀的数据科学家:
- 2019 年数据科学课程:完整的数据科学训练营- 完整的数据科学培训:数学、统计学、Python、Python 高级统计学、机器学习和深度学习
- Dataquest——学习 Python、R、SQL、数据可视化、数据分析和机器学习。立即尝试 60 个免费任务,开启你的数据科学之旅。
- Python 数据分析——它将涵盖所有基础知识,如数据聚合和时间序列,同时通过基本的 Python 练习帮助您学习如何将 Pandas 应用于实际问题。
- 学习数据科学教程 - 初学者完整课程- 学习数据科学是针对绝对初学者的完整教程课程。
- Fast AI——捆绑课程的研究实验室,一个拥有庞大社区的易于使用的 Python 库。
- 使用 Python 的实用机器学习教程——本课程的目标是让您全面了解机器学习,涵盖监督、无监督和深度学习算法的理论、应用和内部工作原理。
使用 Python 进行网络安全
学习编程语言能让你获得网络安全优势,因为它能让你更深入地理解应用程序的运作方式。掌握这种能力能提高你识别漏洞并找到修复方法的机会。
Python 可以让你自动执行任务并进行恶意软件分析。网络安全专家可以使用 Python 创建攻击模拟、构建入侵检测系统并扫描无线网络,而无需依赖第三方工具。Python 是网络安全领域人士的首选编程语言之一。它易于学习、性能卓越且用途广泛。
以下是一些很酷的网络资源,可以帮助您成为一名道德黑客:
- 从零开始学习 Python 和道德黑客— 从零开始,通过编写 20 多个黑客程序同时学习这两个主题
- 使用 Python 进行道德黑客攻击——虽然本课程针对的是完全的初学者,但对于想要提高编码技能的经验丰富的程序员来说,它也可以作为一门方便的复习课程。
- Python 道德黑客——如何使用 Python 创建网络工具和道德黑客脚本。本系列将带你从 Python 初学者到中级/高级用户。
- 使用 Python 破解密码— 在完成 Python 编程基础的速成课程后,您将学习制作、测试和破解使用经典密码(如转置密码和维吉尼亚密码)加密文本的程序。
- Black Hat Python:面向黑客和渗透测试人员的 Python 编程——说到创建强大有效的黑客工具,Python 是大多数安全分析师的首选语言。但其中的奥妙究竟是如何产生的呢?
最好至少了解一下使用 Python 进行黑客攻击的基础知识。
python3 makeDevFly.py
希望你从这个实验中有所收获😃。如果你觉得它有用,请分享给你认为可能也会有用的朋友和家人!欢迎关注我的社交媒体账号,并一如既往地保持联系! 🚀
Instagram
Twitter请给我买杯咖啡
来支持我😊☕