自学Python的最佳实践!

简介: 自学Python的最佳实践!

今天我们来分享零基础入门 Python,应该如何自学,自学的路径是怎么样的,内容是从入门到进阶,既有教程,也有经典书籍推荐,还有众多类库介绍,不要错过哦

Python 的发展方向还是比较多的,比如 Web 开发,爬虫,数据分析,机器学习等。

主要分为以下几个部分:

  • 文档教程
  • 书籍推荐
  • 类库介绍
  • 开源项目
  • 神级网站

文档教程

Python 官方文档

docs.python.org/zh-cn/3/

毫无疑问,学习任何知识,其官方文档都是最好的第一手资料的来源地,也是最为权威的,当然需要一定的功夫才能更好地消化官网上的内容

廖雪峰的官网

https://www.liaoxuefeng.com/wiki/1016959663602400

廖雪峰老师被称为中国的 Python 之父,当然有戏虐的成分,但是我们不可否认其在 Python 领域的贡献,而上面的 Python 教程也是国内为数不多的良心佳作,值得反复学习

菜鸟教程 - Python 基础教程

https://www.runoob.com/python/python-tutorial.html

菜鸟教程其实同样的大名鼎鼎,相信有太多的小伙伴的自学之路都是从这个网站开始的,不仅仅是 Python,任何主流的编程相关的技术都可以在这里找到!

Python 在线手册

https://docs.pythontab.com/

这同样是一个超级良心的网站,维护了众多 Python 相关知识的中文版本,这为英文不好的朋友带来的重大福音,散花啊~

Python-Guide

https://docs.python-guide.org/

这里再介绍一个英文网站,这是一个开源在 GitHub 上的 Python 教程,由众多大牛共同维护着,也是学习 Python 路上的良好助力,这是 GitHub 地址:https://github.com/realpython/python-guide

realpython

https://realpython.com/

这是一个纯粹的 Python 教程网站,有众多的 Python 基础知识和进阶知识,绝对是学习 Python 的好地方。

好了,在线文档就介绍这么多,其他我们初学者只需要先专注于一个教程就好,相信我们只要吃透上面的任何一个教程,都会在成功的路上踏出坚实的一步!!!

经典书籍

在线网站教程虽好,但是有的人还是喜欢纸质的书籍,尤其是一些经典书籍,是无论如何也无法被替代的,下面我们就来介绍一些经典书籍

入门书籍

根据豆瓣评分的高低,这里介绍了一些经典入门书籍,大家根据自身情况选择尝试

《Python编程:从入门到实践(第二版)》

非常经典且非常基础的 Python 入门书籍,本书深入浅出,从 Python 的基础语法到 Python 2D 游戏编程,Web 开发等都一一讲解到位,帮读者解决常见编程问题和困惑。

《Python编程快速上手》

本书是一本面向实践的 Python 编程实用指南。本书的目的,不仅是介绍 Python 语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能。本书的首部分介绍了基本 Python 编程概念,第二部分介绍了一些不同的任务,通过编写 Python 程序,可以让计算机自动完成它们。第二部分的每一章都有一些项目程序,供读者学习。每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识,同时附录部分还提供了所有习题的解答。

《笨办法学 Python 3》本书是一本 Python 入门书,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。

《Python基础教程(第3版)》

本书包括 Python 程序设计的方方面面:首先从 Python 的安装开始,随后介绍了 Python 的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句;然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器;此后探讨了如何将 Python 与数据库、网络、C语言等工具结合使用,从而发挥出 Python 的强大功能,同时介绍了 Python 程序测试、打包、发布等知识;最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了10个具有实际意义的 Python 项目的开发过程。

《Python学习手册(第4版)》

Google 和 YouTube 由于 Python 的高可适应性、易于维护以及适合于快速开发而采用它。如果你想要编写高质量、高效的并且易于与其他语言和工具集成的代码,《Python学习手册:第4 版》将帮助你使用 Python 快速实现这一点,不管你是编程新手还是 Python 初学者。本书是易于掌握和自学的教程,根据作者 Python 专家 Mark Lutz 的著名培训课程编写而成。

进阶书籍

这里介绍进阶书籍,也就是有了一定的编程或者 Python 基础,但在实际工作中仍然有许多小问题不知道怎么解决的朋友,可以看看这里.

《流畅的Python》

本书由奋战在 Python 开发一线近20年的 Luciano Ramalho 执笔,Victor Stinner、Alex Martelli 等 Python 大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾 Python 3 和 Python 2,告诉你 Python 中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的 Python 代码。

《Python Cookbook 中文版(第 3 版)》

《Python Cookbook(第3版)中文版》介绍了 Python 应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字、日期和时间,迭代器和生成器,文件和I/O,数据编码与处理,函数,类与对象,元编程,模块和包,网络和Web编程,并发,实用脚本和系统管理,测试、调试以及异常,C语言扩展等。

《Effective Python:编写高质量 Python 代码的59个有效方法》

本书可以帮你掌握真正的 Pythonic 编程方式,令你能够完全发挥出 Python 语言的强大功能,并写出健壮而高效的代码。Scott Meyers 在畅销书《Effective C++》中开创了一种以使用场景为主导的精练教学方式,本书作者 Brett Slatkin 就以这种方式汇聚了59条优秀的实践原则、开发技巧和便捷方案,并以实用的代码范例来解释它们。

《像计算机科学家一样思考 Python》

本书以培养读者以计算机科学家一样的思维方式来理解 Python 语言编程。贯穿全书的主题是如何思考、设计、开发的方法,而具体的编程语言,只是提供了一个具体场景方便介绍的媒介。

《Python核心编程(第3版)》

全书总共分为3部分,第1部分为讲解了 Python 的一些通用应用,包括正则表达式、网络编程、Internet 客户端编程、多线程编程、GUI编程、数据库编程、Microsoft Office 编程、扩展 Python 等内容。第2部分讲解了与 Web 开发相关的主题,包括 Web 客户端和服务器、CGI 和 WSGI 相关的 Web 编程、Django Web 框架、云计算、高级 Web 服务。第3部分则为一个补充/实验章节,包括文本处理以及一些其他内容。

最后,再介绍一个有趣的网站,该网站提供了大量 Python 书籍,并按照流行程度来排名,还可以根据不同功能来分组,排名每个月更新一次,经常来逛逛,对于提升 Python 水平还是很有必要的

https://pythonbooks.org/

类库大全

Python 向来是以第三方库多而全著称的,大多数情况下,当我们想实现一个功能的时候,都可以到网上先搜索一番,也许大神们已经完成了基本开发,我们只需要调用相关的包即可

这里总结了近千个 Python 类库,从中也可以看出 Python 生态的完备性

下面我们简单介绍几个比较重要且常用的库

Web 开发三剑客

Web 开发是 Python 的一项主要应用方向,下面介绍三个鼎鼎大名的 Web 开发框架

Django

Python 中最流行的 Web 框架,功能非常全面,基本 Web 开发所需要的功能,都已经内置好了,比如安全认证,URL Routing,模板引擎,ORM,还有 Admin 管理后台等等,全部包括。如果是有一定的 Python 基础,那么学习使用 Django 将是一个非常不错的选择。

Flask

Flask 同样是非常流行的一个 Web 框架,它的特定是轻便,灵活,可定制性强。与 Django 恰恰相反,Flask 原生几乎只包含 Web 开发所需的基本功能,但是用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时,实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。

Tornado

Tornado 是一个异步网络 Web 框架库,通过利用非阻塞网络 I/O, 可以承载成千上万的活动连接。在需要长连接的场景下使用,效果会更好。正是因为其是为了高并发而设计的,所以在有这方面需求的应用当中,Tornado 的表现要优于 Django 和 Flask。

爬虫三剑客

使用 Python 爬虫,是当前业界最为常用的方式,一起来看看三个爬虫必备的库吧

requests

requests 库是 Kenneth Reitz 大神的成名之作,据统计,该库是 Python 领域下载使用最多的库,太强了!如果想读 Python 源码的话,那一定要看,感受一下什么是真正的 Pythonic 代码。

Scrapy

Scrapy 是适用于 Python 的一个快速、高层次的屏幕抓取和 Web 抓取框架,用于抓取 Web 站点并从页面中提取结构化的数据。Scrapy 用途广泛,可以用于数据挖掘、监测和自动化测试等。

PySpider

pyspider 是一个支持任务监控、项目管理、多种数据库,具有 WebUI 的爬虫框架,有太多的爬虫系统是基于该框架开发的,学习爬虫的朋友一定要好好研究下这个框架。

数据分析三剑客

数据分析也是 Python 的一个重要应用领域,无他,唯相关类库强大而已

Pandas

鼎鼎大名的 Pandas 相信大家一定听说过,是基于 NumPy 的一种工具,该工具是为解决数据分析任务而创建的。

Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas 提供了大量能使我们快速便捷地处理数据的函数和方法,它是使 Python 成为强大而高效的数据分析环境的重要因素之一。

Numpy

NumPy(Numerical Python)是 Python 的一种开源的数值计算扩展。该工具可用来存储和处理大型矩阵,比 Python 自身的嵌套列表(nested list structure)结构要高效地多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

Matplotlib

Matplotlib 是一个 Python 的 2D 绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。目前大多数其他 Python 可视化库都或多或少地有 Matplotlib 的影子,足见其强大之处和不可撼动的江湖地位!

人工智能三剑客

最近这些年,人工智能实在是太火了,而 Python 同样在该领域有着非常突出的表现。

scikit-learn

Scikit-learn 是针对 Python 编程语言的免费软件机器学习库。它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k 均值和 DBSCAN,并且旨在与 Python 数值科学库 NumPy 和 SciPy 联合使用。

Pytorch

PyTorch 是一个开源的 Python 机器学习库,基于 Torch,用于自然语言处理等应用程序。

2017年1月,由 Facebook 人工智能研究院(FAIR)基于 Torch 推出了 PyTorch。它是一个基于 Python 的可续计算包,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy)。2、包含自动求导系统的深度神经网络。

TensorFlow

TensorFlow 是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief。

游戏开发三剑客

Python 虽然不擅长做游戏开发,但是仍然有众多优秀的游戏开发框架可供我们选择。

Pygame

Pygame 是一个跨平台 Python 库,也是目前使用 Python 进行小型游戏开发的首选之库。

Cocos2d

Cocos2d 是开源的软件框架,它可用于构建游戏、应用程序和其他基于GUI的跨平台交互程序。Cocos2d 包含许多分支,其中最著名的是 Cocos2d-objc、Cocos2d-x、Cocos2d-html5 和 Cocos2d-XNA。

Panda3D

Panda3D 是一个 3D 游戏引擎,一个 3D 渲染和游戏开发库。

开源项目

对于开源项目部分,还是推荐有一定基础的朋友来学习,毕竟每个项目都是经典中的经典,当然学习起来也有一定难度哦

awesome-python

https://github.com/vinta/awesome-python

awesome-python 是一个 Python 资源列表,内容汇集了众多 Python 相关的知识:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。

看过之后,只能感叹学海无涯~

500lines

https://github.com/aosabook/500lines

这是一个非常神奇的开源项目,所有的章节均由各种大牛完成,且都试图使用少于500行代码完成,只能说太强了!

Games

https://github.com/CharlesPikachu/Games

一个使用 Python 完成的各种小游戏,包括坦克大战,经典塔防游戏,俄罗斯方块,扫雷等等,也许你不看不知道,看了之后才知道原来 Python 也可以开发这么精美的小游戏。

data_analysis

https://github.com/zhouwei713/data_analysis

这是一个比较小众的项目,里面包含了各式各样的爬虫和数据分析项目,对于新入门的朋友来说还是非常友好的。

神级网站

对于学习 Python 的神级网站,以前也有过介绍,这里再安利一次!

pythontutor

这个网站对于新手同学理解代码的运行逻辑简直是太好用了

首先进入网站我们看到的就是如下这个页面

左边是一段 Python 代码,右边则是对应的运行逻辑,变量值等信息,我们点击下方的PrevNext按钮,就会产生联动的效果

是不是很清晰呢,代码运行到哪里,变量是多少都展示的一清二楚,这对于初学者来说,可以省去很多弯路,也能够加深对代码运行的印象

该网站有两种运行模式:在线编辑模式和动态演示模式,总体来说还是对于新手的福利网站,大家可以自行体验更多功能!

https://pythontutor.com/

动画算法

这是一个非常有意思的网站,以动画的形式向我们展示了多种算法的实现过程

我们就来看看最常用的排序算法吧

我们看到有冒泡排序、选择排序、插入排序,并归排序等等

就来看看冒泡排序的效果吧

效果还是非常赞的,支持自己设置排序数值,还可以在运行的同时通过右下角实时查看当前排序算法的状态,贴心~

当然还有更多的动画算法展示,大家自己去探索吧

https://visualgo.net/

Python 代码例子

该网站就是通过代码例子来让我们更快的学习各种库的使用,毕竟有的时候某些类库的官方文档不健全,网上一些博客又喜欢断章取义,此时对于新手来说,除了去各种咨询前辈之外,这个网站就是非常好的去处了!

比如我们搜索 IPy ,就可以得到如下结果,真的非常全面

我们选择 IPy,就可以看到各种使用例子了,真的好用啊

https://www.programcreek.com/python

online-python

一个在线编辑和运行代码的网站,如果你没有搭建本地 Python 运行环境,那么这个网站就是你最好的帮手

www.online-python.com/

以上,就是今天分享的全部内容,喜欢就点个吧~

相关文章
|
1月前
|
数据采集 Web App开发 监控
高效爬取B站评论:Python爬虫的最佳实践
高效爬取B站评论:Python爬虫的最佳实践
|
1天前
|
人工智能 分布式计算 数据处理
云产品评测:MaxFrame — 分布式Python计算服务的最佳实践与体验
阿里云推出的MaxFrame是一款高性能分布式计算平台,专为大规模数据处理和AI应用设计。它提供了强大的Python编程接口,支持分布式Pandas操作,显著提升数据处理速度(3-5倍)。MaxFrame在大语言模型数据处理中表现出色,具备高效内存管理和任务调度能力。然而,在开通流程、API文档及功能集成度方面仍有改进空间。总体而言,MaxFrame在易用性和计算效率上具有明显优势,但在开放性和社区支持方面有待加强。
24 9
|
19天前
|
缓存 开发者 Python
深入探索Python中的装饰器:原理、应用与最佳实践####
本文作为技术性深度解析文章,旨在揭开Python装饰器背后的神秘面纱,通过剖析其工作原理、多样化的应用场景及实践中的最佳策略,为中高级Python开发者提供一份详尽的指南。不同于常规摘要的概括性介绍,本文摘要将直接以一段精炼的代码示例开篇,随后简要阐述文章的核心价值与读者预期收获,引领读者快速进入装饰器的世界。 ```python # 示例:一个简单的日志记录装饰器 def log_decorator(func): def wrapper(*args, **kwargs): print(f"Calling {func.__name__} with args: {a
33 2
|
3月前
|
机器学习/深度学习 数据挖掘 测试技术
自学Python的系统策略与步骤
通过遵循这些步骤和策略,你可以系统地自学Python,并有效地构建和深化你的编程知识和技能。
36 6
|
3月前
|
存储 并行计算 大数据
优化Python数据处理性能的最佳实践
在数据科学和大数据时代,优化Python数据处理性能变得至关重要。通过探讨数据处理瓶颈、内存管理、并行计算以及高效库的使用,本篇文章旨在提供切实可行的最佳实践,以帮助开发者提升数据处理效率。
|
3月前
|
开发者 Python
基于Python的日志管理与最佳实践
日志是开发和调试过程中的重要工具,然而,如何高效地管理和利用日志常常被忽略。本文通过Python中的logging模块,探讨如何使用日志来进行调试、分析与问题排查,并提出了一些实际应用中的优化建议和最佳实践。
|
2月前
|
设计模式 监控 安全
Python多线程编程:特性、挑战与最佳实践
Python多线程编程:特性、挑战与最佳实践
43 0
|
2月前
|
设计模式 监控 安全
Python多线程编程:特性、挑战与最佳实践【1】
Python多线程编程:特性、挑战与最佳实践【1】
36 0
|
4月前
|
人工智能 数据可视化 程序员
精心整理自学python的宝藏网站,不看亏死
精心整理自学python的宝藏网站,不看亏死
163 4
精心整理自学python的宝藏网站,不看亏死
|
4月前
|
Shell 网络安全 数据安全/隐私保护
使用 Python 远程登陆服务器的最佳实践
使用 Python 远程登陆服务器的最佳实践
下一篇
DataWorks