如何自学成 Python 大神?这里有些建议

2023-12-16

人生苦短,我用 Python。

为什么?

简单明了的理由当然是开发效率高。但是学习 Python 的初学者往往会面临以下残酷的现状:

  • 网上充斥着大量的学习资源、书籍、视频教程和博客,但是大部分都是讲解基础知识,不够深入;也有的比较晦涩,难以理解。

如果你真的想要高效地学习 Python,那就需要掌握如何过滤网上的垃圾教程资源的技能,并从其他有经验的程序员或在线编程社区中获得帮助。

倘若你没有任何编程知识,或者知之甚少,从一张白纸起步,或许会更容易一些。

在本篇文章中,我们将分享 6 位技术专家学习 Python 的最佳方法,也许当你学习举步维艰之时,他们的经验将会帮你躲避很多不必要的坑,以及可以让你学会如何通过 Python 教程编写出色的 Python 程序。

图片

Quan Nguyen

第一位 Quan Nguyen,是来自越南的国际学生,在美国印地安那州 DePauw 大学攻读计算机科学和数学专业学位,同时还攻读哲学专业的学位。他两年前开始使用 Java 进行编程,后来发现自己需要一种具有更高可读性且能够快速实现原型开发的编程语言,不久之后,Python 就成为他最喜欢的语言。

他对数据科学和机器学习领域非常感兴趣,特别是对文本的情感分析。此外,他对人脸和物体识别也具有非常丰富的经验。

图片

最初学习 Python 时,我使用的主要编程语言还是 Java。之所以学习 Python,是因为我想要使用一种可读性更高并且能够快速实现原型开发的编程语言(最直接的反映就是编程语言的“print”语句)。

第一阶段学习

从一开始,我自己非常喜欢用 Python 编写代码,因为 Python 语法不仅直接、直观,而且具有高度的一致性。一种特定的语法除了适用于特定的数据结构之外,还适用于其他类似的数据结构,比如 Python 的内置函数 len(),它用于返回一个Python列表(https://coolpythoncodes.com/python-list-tutorial)、元组、字符串、集合等多种数据结构的长度,而在 Java 中则有多种不同的语法,如 [variable].length、[variable].length()、length([variable])。

就如何高效地学习 Python 而言,勤加练习是最好的途径。

在我个人的学习经历中,首先我是通过阅读 Codecademy 的 Python 在线指南(https://www.codecademy.com/learn/learn-python)来熟悉Python 语法,当然也有其他类似的教程或指南来帮助你学习 Python 语法。

在第一阶段的学习之后,保持一定的持续性并继续学习 Python 是至关重要的。

进阶

在此阶段就需要一些中高级的教程或编程书籍,或者解决一些具有挑战性的编程问题。可实践的网站有:

  • Project Euler:https://projecteuler.net
  • HackerRank:https://www.hackerrank.com
  • CodeFights:https://codefights.com
  • dailyprogrammer:https://www.reddit.com/r/dailyprogrammer

虽然教程和书籍从多个角度提供不同的编程教学,让你可以深入了解该语言的特性,但实际的上手编程让大家有了一种更加有趣且更具挑战性的通道来学习不同的编程技巧、数据结构和第三方库,从而解决不同的编程问题。

这两种方法都有各自存在的价值,两者的结合将会让你对编程语言了解得更全面。

再次强调,关键点还是要在于对编程保持持续性,让你的大脑保持住对语言语法的了解,并改善你解决问题的思维过程。

实践

创建自己的项目,或加入开源社区(https://coolpythoncodes.com/julien-danjou)和 Github,这些都是编程的必经之路。对于像 Python 这样的语言来说更是如此,如今开发者社区正以惊人的速度增长,每天都有新的库和项目在快速更新。

通过学习一个新的 Python 库,你不但可以继续熟悉这门语言,还可以增加你的知识面,为未来解决实际问题打下基础。

在开源项目上与其他人一起工作将有助于对特定主题进行深入研究和了解,同时增加你的专业性和可信度。

Dibakar Saha

第二位 Dibakar Saha,是孟加拉工程技术学院(隶属于 Maulana Abul Kalam 科技大学)计算机科学与工程专业的一名 B.Tech 学生。他使用了很多编程语言,如 C、C ++、Java、Android、VB.NET、VB6、Python、Javascript 等。在他的博客(https://evilporthacker.blogspot.hk)中,有很多他参与过的高质量的 Python 项目。

图片

从我个人经验来讲,学习一门编程语言最好的方法就是挑选一个问题,然后用编程语言来解决它。

想要解决一个问题,你需要非常清楚地了解问题本身。我的意思是你需要了解输入、输出、约束条件、规则和许多其他的东西。

以下是我推荐的一些步骤:

了解 Python 的基础知识

掌握任何一门编程语言的基础都是非常重要的。你至少首先应该明白如何输入和输出。

同时需要对 Python 中的列表、元组、集合和字典(https://coolpythoncodes.com/python-dictionary) 等不同的数据结构足够熟悉,能够理解循环和列表。

O’Reilly 出版的《Learning Python 第 5 版》和 Google 的 Python 在线教程(https://developers.google.com/edu/python/introduction?csw=1) 可以帮助你对 Python 基础进行足够的了解。在看书的同时,你还应该跟随你所学的教程进行编程练习。假设你今天学习了输入和输出,那么编写一个程序,以便你可以实现该功能。但是,如果你已经熟悉了这一点,那就不必了。

做项目

当你学习了 Python 的基础知识之后,就需要做一个真正的项目来实践了。

该项目可以是任何东西。可以是一个简单的 GUI 计算器项目,也可以是一个可以区分消息是“spam”还是“ham”的复杂 AI 项目。

在这种情况下,有一个很适合初学者的网站可以帮助你,那就是 Automate the Boring Stuff with Python(https://automatetheboringstuff.com)。如果你是 AI 或数据分析领域的初学者,你不妨看看这个(https://pythonprogramming.net)。如果一个项目看起来太难了,那么你可以采用下列解决方案之一:

  1. 持续专注于这个问题,直到你能解决所有的子问题。
  2. 先把问题放到一边,做一些与原问题有关的简单问题,然后再回来解决原来的问题。

通过谷歌搜索解决方案是可以的,但是要尽量先独立解决问题,自己编写代码,之后在去看别人是如何写的。

借鉴其他高质量代码

假设你是初学者,那么你很可能写的代码缓慢而丑陋。因此你需要阅读别人优秀的代码。可以了解一下 GitHub 或者其他开源平台的 Python 项目。

了解 Python 模块和库

Python 有一大堆免费的库和模块可以直接拿来使用,因此你需要了解常用的 Python 库,比如 NumPy、SciPy、Pandas、Matplotlib 等。

这些库拥有丰富的功能,你不必自己从头开始编写像贝叶斯类这样的算法。使用库可以让你的代码量更少且易读。

Meenakshi Agarwal

Meenakshi Agarwal 是 TechBeamers.com 网站的联合创始人。她是 Lucknow 大学计算机科学专业毕业生,拥有计算机应用硕士学位。她曾与大型跨国公司合作,花费数年时间,使用 C / C ++、Visual C ++、Python、Java、J2EE、C#、DotNet、Selenium、FitNesse 和其他一些技术进行软件开发,产品设计,测试和自动化。

图片

我是 Meenakshi Agarwal,一名计算机科学专业的毕业生,在软件产品开发和测试方面有丰富的经验。由于我对编程和写作充满热情,所以我开始使用 Techbeamers(http://www.techbeamers.com),这是一个面向来自世界各地的程序员、测试人员和其他IT专业人员的电子学习平台。

在我的职业生涯中,我学过很多的编程语言。但是 Python 是我最喜欢的一个。因为我是通过自学掌握 Python 的。我没有参加任何线上、线下的培训,主要通过在线教程和一些书来学习 Python。

在分享我的 Python 学习方法之前,你首先要清楚学习 Python 的理由。

Python 的以下优点足以说服你学习它:

  1. Python 非常简单直接。你几乎可以像伪代码一样读写它。
  2. 它有丰富的内置库以及第三方框架和库。
  3. 它有一个强大的社区,可以帮助你获得任何与编程有关的答案。

现在让我们看看你如何快速学习 Python。

  1. 首先是核心语法,简单的数据类型、变量、关键字、条件判断(比如if … else)和控制语句(比如 loop)等基本语法块。
  2. 掌握基本语法之后,编写一些简单的程序,如阶乘、斐波纳契数列、单数/偶数、计算器等等。
  3. 下一步是了解列表、集合、元组、字典等特殊的数据结构。再次使用这些技能来解决一些实际问题,并使用这些数据结构来构建程序。
  4. 然后学习错误处理(异常:http://www.techbeamers.com/python-try-except-beginners)和文件管理(文件I/O:http://www.techbeamers.com/python-file-handling-tutorial-beginners)。
  5. 之后,了解 Python 中函数(https://coolpythoncodes.com/python-function)和类(https://coolpythoncodes.com/object-oriented-programming-python)的概念。使用函数和类重写之前的程序。
  6. 了解 Python 的模块和库。Python 有非常多的库,虽然没有直接包含,但是很容易安装,没有任何理由去重新造轮子。
  7. 现在是帮助他人学习 Python 的时候了。教会别人是加强你所学知识的最好方法之一。
  8. 参加论坛上的讨论贴,帮助其他成员解决问题。加入社区,并考虑在 StackOverflow 或 Reddit 上回答问题。
  9. 最后,选择一个专业领域。例如,你可以开始投身机器学习。这将需要你学习一些第三方库和包,如 Pandas、NumPy、SciPy 等。

Aniruddha Chaudhari

Aniruddha Chaudhari 拥有计算机科学硕士学会(来自印度 NIT Trichy),他是 CSEstack.org (Programming and Computer Science Portal)的创始人。Python 是他第一个也是他最喜爱的语言。除此之外,他还学习了多种编程语言,如 C、C ++ 等。他的博客(http://www.csestack.org/python/)上有很多非常棒的 Python 教程。

图片

同其他编程语言(如 C、C ++ 和 Java)相比,Python 学习起来很容易,至少入门很容易。

Python 有两个版本:Python 2.x 和 Python 3.x。选择合适的 Python 版本非常重要。

有很多大公司使用 Python 2.x 构建项目。所以如果你想参与这些项目,Python 2.x 是正确的选择。如果你不确定,那么选择 Python 3.x 吧,因为 Python 3.x 是未来。

如果你想有效地学习 Python,你首先应该专注于两件事:

  1. 了解 Python 中的数据结构;
  2. 熟悉 Python 库的使用。

Python 数据结构包括字符串、列表、元组等等。

它们的区别是什么?何时使用哪种结构及其各种关联的方法来操纵数据?

Python 提供的库非常强大。有大量的库可用于各种项目。

例如,如果你想成为一名数据科学家,有许多模块和库供你使用,如 Panda、Numpy、Tensoflow 。找到你感兴趣的领域,并搜索该领域的库,这些库通常都可以免费使用。

为了进行实际编程,需要遵循如下步骤:

  1. 创建一个目录来保存所有的 Python 程序;
  2. 开始先开发一些小项目。如果你正在学习 GUI,那么可以开发一个计算器(http://www.csestack.org/code-for-gui-calculator-in-python),从社交网站获取数据并进行分析;
  3. 把实用函数编写成一个 Python 程序;
  4. 在新的 Python 程序中使用这些实用函数作为模块。(重复使用代码是很好的做法,可以节省大量时间。)

从你的小项目中创造出一些东西来激励自己,给自己一些值得学习的东西,并保持持续。找机会奖励自己。开发自己的兴趣保持长期学习!

学习一门编程语言不是要知道它所有的语法。而是了解它的特点和优势,以及你可以用它解决什么实际问题。至于语法你随时都可以通过 Google 进行查询。

你练习的越多,对编程语言的掌握就越好。用 Python 进行快乐编程!

Krishna Kant Mishra

图片

我是 Krishna Kant Mishra,喜欢看板球,解决数学难题和听音乐。我来自印度,是一名计算机科学工程专业的毕业生。我目前在 Wipro Technology 公司担任 VMWare / Cloud 管理员。

高效学习 Python 的方法

首先要回答的问题是我为什么学习 Python?这是前提。

学习 Python 的基础知识很简单,但想要将知识应用到项目中可能很困难。我自身在尝试学习没有上下文和应用程序的代码。

以下是我高效学习 Python 的技巧:

一、学习 Python 语法

毫无疑问,你需要掌握基本知识。你应该有一个基本的语法在你的脑海中,至少能够知道用[:]进行字符串操作。

如果你连基本的语法都不了解,那么很难实现有用的东西。但是不要学习基础方面花太长的时间。我们的目标是学习非常基础的知识,然后在自己感兴趣的领域开始自己的项目。

我自己花了不到一个星期的时间,在 Codecademy 上学习 Python 的基础知识。这足以开始一个项目了。

二、看尽可能多的教程

假设我想了解 Python 中的 SQLite 数据库。

我首先在 Google 上搜索教程并扫描搜索结果,然后选择深入和易于理解的教程。

我通常使用“Print Friendly&PDF”(谷歌浏览器扩展)将在线教程转换为 PDF,以便我可以离线阅读在线教程。当然阅读书籍也可以,我选择了特定领域且通俗易懂的书籍(SQLite database in Python)。

在学习过程中如果遇到困难,我会在 Reddit、StackOverflow 和 Quora 等社区中向其他 Python 程序员寻求帮助。

问题解决之后,我会想一个我可以实现的项目,比如把我从网上抓取的数据存储在数据库中。

我的原则是,不要只阅读教程,你需要亲自动手写代码,否则很容易遗忘。

独立完成项目

掌握了 Python 语法的基本知识之后,你又完成了 Python 中一个特定领域的教程。现在就可以开始一个项目了。

你的项目可以是任何东西:

  • 自动化领域(Practical Programming for Total Beginners:https://automatetheboringstuff.com)
  • 编写一些你感兴趣的东西,比如数据分析(Python Programming Tutorials:http://pythonprogramming.net/dashboard)

需要注意的是:不是不提倡看教程,而是不提倡看大量的基础教程。例如,当你尝试执行特定的项目时,Python 编程教程是可以查看的。

但是要尽量独立,先尝试自己解决问题,然后再看别人是怎么解决问题的。

不断迭代写好的代码

不断温习 Python 语言特性,找出哪些方法是已经过时的。所以,再次强化字典的使用,以及对字符串进行切片和反转处理等等。

当你意识到你的代码不好时该怎么做

在这一点上,你可以把自己的代码与其他人的进行比较。比较时,请记住以下问题:

  • 如何使我的代码更快?
  • 如何改进我的代码?

总结

Python 发展和变化非常之快。大概只有少数人可以声称自己完全理解它。你需要进行持续地学习和开发项目。

如果你这样做的话,你会发现自己在 6 个月前写的代码简直糟糕得没法看。如果你有这样的体会,那证明你走在正确的轨道上。

Python 是一门非常有趣和有益的语言,如果使用正确的学习方法,我相信任何人都可以达到高水平的掌握程度。

-END-


学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python!

???? 安全链接,放心点击

????Python学习大礼包????

在这里插入图片描述

????Python学习路线汇总????

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。 (全套教程文末领取哈)
在这里插入图片描述

????Python必备开发工具????

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

????Python实战案例????

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

????Python书籍和视频合集????

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

????Python面试刷题????

????Python副业兼职路线????

在这里插入图片描述
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以点击链接免费领取 或者 保存图片到 wx扫描二v码免费领取 保证100%免费

???? 安全链接,放心点击

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何自学成 Python 大神?这里有些建议 的相关文章

随机推荐

  • 腾讯云HAI:人人都可无门槛AI作画!

    目录 前言 关于HAI HAI优势 开启HAI使用 清理资源 体验心得 结束语 参考文献 前言 随着科技的不断进步和数据驱动的时代到来 越来越多的开发者和数据研究人员需要强大的计算能力来支持他们的工作 尤其是在处理大规模数据 进行机器学习和
  • SpringBoot - @PostConstruct、InitializingBean、 ApplicationRunner 和 CommandLineRunner的执行顺序

    写在前面 在实际开发场景中 经常会遇到数据初始化的业务场景 那么如何在Spring容器启动时执行相关操作呢 比如 读取配置文件 数据库连接 数据缓存 数据预计算 可以使用 PostConstruct InitializingBean App
  • FRED中全息元件的建模

    简单2点HOE 图1 两个结构光与全息表面 每个点都会发出一个球面波 在全息表面形成干涉 指定结构光的位置 图2 在表面的局部坐标系中给出的坐标 衍射级数是明确的
  • Vue:Vue的开发者工具不显示Vue实例中的data数据

    一 情况描述 代码 页面 可以看到 input 获取到了 data 数据 但是 vue devtool 没有获取到 data 数据 二 解决办法 解决办法1 data name 的值不能全是中文 比如改成 aa尚硅谷 解决办法2 data
  • 帮我超越技术壁垒的“泰斗”服务--Amazon ElastiCache

    本篇文章授权活动官方亚马逊云科技文章转发 改写权 包括不限于在 亚马逊云科技开发者社区 知乎 自媒体平台 第三方开发者媒体等亚马逊云科技官方渠道 目录 前言 Amazon ElastiCache概念 实际体验操作 Amazon Elasti
  • 4款免费开源AI换脸工具,支持图片换脸、视频换脸、直播实时换脸(附安装链接)

    昨天给大家分享了AI短剧玩法 不少同学表示对AI视频换脸要求多推荐几个工具 那么本期就系统系整理一下目前市面上比较好用的4个免费开源 可本地化安装的AI换脸工具合集 并附带下载地址 1 Roop unleashed Roop这款工具 应该是
  • 低代码开发:属于“美味膳食”还是“垃圾食品”

    目录 引言 低代码是什么 低代码的优点 使用挑战 未来展望 最后 引言 随着数字化转型的迅猛发展 低代码开发平台逐渐成为了企业和开发者的关注焦点 尤其是前两年低代码的迅速火爆 来势汹汹 号称要让大部分程序员下岗的功能 但是过了不到三年时间
  • 程序员养生指南

    目录 前言 调整工作习惯 保持合理饮食 积极参与活动 保持良好睡眠 精神调适与放松 结语 前言 不用多说 想必都知道程序员是一份高强度 高压力 高危 的职业 长期坐姿 熬夜加班等不良生活习惯会对人的身体健康造成负面影响 长时间的工作 高强度
  • Vue:用IDEA开发Vue,标签语法爆红问题处理

    一 场景描述 我在 IDEA 中 学习 Vue 课程 入门学习时 是在 html 文件中 script 引入 vue js 文件方式 此时 在 html 文件中用 v 标签 爆红 二 解决办法 打开 菜单栏 File Settings 选择
  • 展会回顾|CASAIM应邀参加一汽大众秋季创新科技展,展出最新的第二代CASAIM-IS自动化测量系统

    11月30日至12月1日 CASAIM应邀参加一汽大众秋季创新科技展 展出最新的第二代CASAIM IS自动化测量系统 现场一汽大众相关领导和成员及其他厂商莅临参观 就自动化测量技术应用进行深入交流和探讨 第二代CASAIM IS自动化测量
  • 参加2023谷歌开发者社区 DevFest的洞察与感悟

    目录 前言 关于GDG 主会场精彩分享 分会场干货满满 共创未来之旅 参会体验 结束语 前言 在12月10日 DevFest又一次来临了 潮流与技术的光芒同时绽放 作为一名热衷技术的开发者 我有幸参与了这次盛会 也非常荣幸能够和线上三十万开
  • 通信子网在计算机网络中的地位和作用

    一 通信子网是计算机网络的核心组成部分 通信子网是计算机网络的核心组成部分 它负责为计算机网络中的各种设备提供通信支持 无论是主机之间的数据传输 还是主机与终端之间的数据通信 都需要通过通信子网来实现 通信子网是连接各个设备的关键基础设施
  • 大揭秘!Python处理办公自动化的10大场景!

    知乎上有个热门问题 Python 未来会成为大众办公常用编程工具吗 在编程世界里 Python已经是名副其实的网红了 曾经一个学汉语言的研究生 问我怎么学Python 因为他们课程论文里需要用到文本分析 用Python来跑数据 我和他说 你
  • 计算机网络中的通信子网主要有哪些功能?

    计算机网络中的通信子网主要具有以下功能 负责全网的数据通信 通信子网通过使用各种通信协议和传输控制功能 能够确保数据从一台主机安全 准确地传输到另一台主机 这包括数据的封装 解封装 传输控制 差错控制等过程 完成各种网络数据的处理 转换和交
  • 计算机网络中的通信子网:架构、协议与技术简介

    在计算机网络中 通信子网是负责实现主机之间以及主机与终端之间数据传输的核心部分 它由一系列硬件设备和通信协议组成 为上层应用提供可靠 高效和透明的数据传输服务 本文将详细介绍通信子网的架构 协议与技术 一 通信子网的架构 星型拓扑 星型拓扑
  • Python爬虫是否合法?

    Python爬虫是否合法的问题颇具争议 主要涉及到使用爬虫的目的 操作方式以及是否侵犯了其他人的权益 本文将介绍Python爬虫的合法性问题 并提供一些相关的法律指导和最佳实践 1 什么是Python爬虫 Python爬虫是一种自动化程序
  • 学python如何办公自动化?学这些就够了

    我们天天都在忙 究竟在忙些什么 查找各种文件 在一个个文件夹里来回穿梭 在TXT XLS XLSX DOC DOCX PPT PDF文档之间来回切换 复制 粘贴 运指如飞 打开几十个网页 以便及时获取信息 将各种数据输入系统 以及把数据填写
  • 超实用!34 个 Python 自动化办公库清单!

    今天给大家分析34个常用的Python自动化办公库 本次内容涵盖了 Excel Word PPT ODF PDF 邮件 微信 文件处理等所有能在办公场景实现自动化的库 希望能够对大家有所帮助 Python Excel自动化库 1 xlwin
  • wireshark使用

    1 抓包界面介绍 2 过滤 1 ip过滤 or 端口过滤 ip src 192 168 1 104 显示源地址为192 168 1 104的数据包列表 ip dst 192 168 1 104 显示目标地址为192 168 1 104的数据
  • 如何自学成 Python 大神?这里有些建议

    人生苦短 我用 Python 为什么 简单明了的理由当然是开发效率高 但是学习 Python 的初学者往往会面临以下残酷的现状 网上充斥着大量的学习资源 书籍 视频教程和博客 但是大部分都是讲解基础知识 不够深入 也有的比较晦涩 难以理解